# Path: gmeutils/child.py
# class _gmechild:
# 	"base class of all classes that will be used from class gme"
# 
# 	#########
# 	#__init__
# 	#########
# 
# 	def __init__(self,parent,filename):
# 		self.parent=parent
# 		self._level=1
# 		self.filename=filename
# 
# 	####
# 	#log
# 	####
# 
# 	def log(self,
# 			msg,
# 			infotype="m",
# 			lineno=-1,
# 			filename="",
# 			force=False):
# 
# 		if filename=="":
# 			filename=self.filename
# 
# 		try:
# 			self.parent._logger._level+=self._level
# 			self.parent.log(	msg=msg,
# 								infotype=infotype,
# 								lineno=lineno,
# 								filename=filename,
# 								force=force)
# 			self.parent._logger._level-=self._level
# 		except:
# 			sys.stderr.write("%s\n"%(msg))
# 
# 	##############
# 	#log_traceback
# 	##############
# 
# 	def log_traceback(self):
# 
# 		try:
# 			self.parent.log_traceback()
# 		except:
# 			pass
# 
# 
# 	######
# 	#error
# 	######
# 
# 	def error(	self,
# 				msg,
# 				lineno=0,
# 				filename=""):
# 		"""logs as error message. When logging is disabled,
# 		this will log to stderr"""
# 		self.log(msg,infotype="e",lineno=lineno,filename=filename,force=True)
# 
# 	########
# 	#warning
# 	########
# 
# 	def warning(self,
# 				msg,
# 				lineno=0,
# 				filename=""):
# 		"""logs as warning message."""
# 		self.log(msg,infotype="w",lineno=lineno,filename=filename,force=False)
# 
# 	######
# 	#debug
# 	######
# 
# 	def debug(  self,
# 				msg,
# 				lineno=0,
# 				filename=""):
# 
# 		if filename=="":
# 			filename=self.filename
# 
# 		try:
# 			self.parent._logger._level+=self._level
# 			self.parent.debug(msg=msg,lineno=lineno,filename=filename)
# 			self.parent._logger._level-=self._level
# 		except:
# 			pass


import base64
import binascii
import email
import email.utils
import hashlib
import html
import html.parser
import os
import mimetypes
import random
import re
import quopri
import subprocess
import sys
import urllib
import uu
from email import header
from   io				import BytesIO
from 	.child 			import _gmechild
from	.version		import *
"loz":"◊","lrm":"‎","lsaquo":"‹","lsquo":"‘","lt":"<",
"macr":"¯","mdash":"—","micro":"µ","middot":"·","minus":"−","Mu":"Μ","mu":"μ",
"nabla":"∇","nbsp":" ","ndash":"–","ne":"≠","ni":"∋",
"not":"¬","notin":"∉","nsub":"⊄","Ntilde":"Ñ","ntilde":"ñ","Nu":"Ν","nu":"ν",
"Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô",
"OElig":"Œ","oelig":"œ","Ograve":"Ò","ograve":"ò","oline":"‾","Omega":"Ω",
"omega":"ω","Omicron":"Ο","omicron":"ο","oplus":"⊕",
"or":"∨","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ",
"otilde":"õ","otimes":"⊗","Ouml":"Ö","ouml":"ö",
"para":"¶","part":"∂","permil":"‰","perp":"⊥","Phi":"Φ","phi":"φ",
"Pi":"Π","pi":"π","piv":"ϖ","plusmn":"±","pound":"£","Prime":"″","prime":"′",
"prod":"∏","prop":"∝","Psi":"Ψ","psi":"ψ","quot":'"',
"radic":"√","rang":"⟩","raquo":"»","rArr":"⇒","rarr":"→","rceil":"⌉",
"rdquo":"”","real":"ℜ","reg":"®","rfloor":"⌋","Rho":"Ρ","rho":"ρ","rlm":"‏",
"rsaquo":"›","rsquo":"’","sbquo":"‚","Scaron":"Š","scaron":"š",
"sdot":"⋅","sect":"§","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς",
"sim":"∼","spades":"♠","sub":"⊂","sube":"⊆","sum":"∑",
"sup":"⊃","sup1":"¹","sup2":"²","sup3":"³","supe":"⊇","szlig":"ß","Tau":"Τ",
"tau":"τ","there4":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thinsp":" ",
"THORN":"Þ","thorn":"þ","tilde":"˜","times":"×","trade":"™","Uacute":"Ú",
"uacute":"ú","uArr":"⇑","uarr":"↑","Ucirc":"Û","ucirc":"û","Ugrave":"Ù",
"ugrave":"ù","uml":"¨","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","Uuml":"Ü",
"uuml":"ü","weierp":"℘","Xi":"Ξ","xi":"ξ","Yacute":"Ý","yacute":"ý","yen":"¥",
"Yuml":"Ÿ","yuml":"ÿ","Zeta":"Ζ","zeta":"ζ","zwj":"‍","zwnj":"‌"
}

##################
#class _htmldecode
##################


# Path: gmeutils/child.py
# class _gmechild:
# 	"base class of all classes that will be used from class gme"
# 
# 	#########
# 	#__init__
# 	#########
# 
# 	def __init__(self,parent,filename):
# 		self.parent=parent
# 		self._level=1
# 		self.filename=filename
# 
# 	####
# 	#log
# 	####
# 
# 	def log(self,
# 			msg,
# 			infotype="m",
# 			lineno=-1,
# 			filename="",
# 			force=False):
# 
# 		if filename=="":
# 			filename=self.filename
# 
# 		try:
# 			self.parent._logger._level+=self._level
# 			self.parent.log(	msg=msg,
# 								infotype=infotype,
# 								lineno=lineno,
# 								filename=filename,
# 								force=force)
# 			self.parent._logger._level-=self._level
# 		except:
# 			sys.stderr.write("%s\n"%(msg))
# 
# 	##############
# 	#log_traceback
# 	##############
# 
# 	def log_traceback(self):
# 
# 		try:
# 			self.parent.log_traceback()
# 		except:
# 			pass
# 
# 
# 	######
# 	#error
# 	######
# 
# 	def error(	self,
# 				msg,
# 				lineno=0,
# 				filename=""):
# 		"""logs as error message. When logging is disabled,
# 		this will log to stderr"""
# 		self.log(msg,infotype="e",lineno=lineno,filename=filename,force=True)
# 
# 	########
# 	#warning
# 	########
# 
# 	def warning(self,
# 				msg,
# 				lineno=0,
# 				filename=""):
# 		"""logs as warning message."""
# 		self.log(msg,infotype="w",lineno=lineno,filename=filename,force=False)
# 
# 	######
# 	#debug
# 	######
# 
# 	def debug(  self,
# 				msg,
# 				lineno=0,
# 				filename=""):
# 
# 		if filename=="":
# 			filename=self.filename
# 
# 		try:
# 			self.parent._logger._level+=self._level
# 			self.parent.debug(msg=msg,lineno=lineno,filename=filename)
# 			self.parent._logger._level-=self._level
# 		except:
# 			pass


# Path: gmeutils/helpers.py
import base64
import binascii
import email
import email.utils
import hashlib
import html
import html.parser
import os
import mimetypes
import random
import re
import quopri
import subprocess
import sys
import urllib
import uu
from email import header
from   io				import BytesIO
from 	.child 			import _gmechild
from	.version		import *

"loz":"◊","lrm":"‎","lsaquo":"‹","lsquo":"‘","lt":"<",
"macr":"¯","mdash":"—","micro":"µ","middot":"·","minus":"−","Mu":"Μ","mu":"μ",
"nabla":"∇","nbsp":" ","ndash":"–","ne":"≠","ni":"∋",
"not":"¬","notin":"∉","nsub":"⊄","Ntilde":"Ñ","ntilde":"ñ","Nu":"Ν","nu":"ν",
"Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô",
"OElig":"Œ","oelig":"œ","Ograve":"Ò","ograve":"ò","oline":"‾","Omega":"Ω",
"omega":"ω","Omicron":"Ο","omicron":"ο","oplus":"⊕",
"or":"∨","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ",
"otilde":"õ","otimes":"⊗","Ouml":"Ö","ouml":"ö",
"para":"¶","part":"∂","permil":"‰","perp":"⊥","Phi":"Φ","phi":"φ",
"Pi":"Π","pi":"π","piv":"ϖ","plusmn":"±","pound":"£","Prime":"″","prime":"′",
"prod":"∏","prop":"∝","Psi":"Ψ","psi":"ψ","quot":'"',
"radic":"√","rang":"⟩","raquo":"»","rArr":"⇒","rarr":"→","rceil":"⌉",
"rdquo":"”","real":"ℜ","reg":"®","rfloor":"⌋","Rho":"Ρ","rho":"ρ","rlm":"‏",
"rsaquo":"›","rsquo":"’","sbquo":"‚","Scaron":"Š","scaron":"š",
"sdot":"⋅","sect":"§","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς",
"sim":"∼","spades":"♠","sub":"⊂","sube":"⊆","sum":"∑",
"sup":"⊃","sup1":"¹","sup2":"²","sup3":"³","supe":"⊇","szlig":"ß","Tau":"Τ",
"tau":"τ","there4":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thinsp":" ",
"THORN":"Þ","thorn":"þ","tilde":"˜","times":"×","trade":"™","Uacute":"Ú",
"uacute":"ú","uArr":"⇑","uarr":"↑","Ucirc":"Û","ucirc":"û","Ugrave":"Ù",
"ugrave":"ù","uml":"¨","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","Uuml":"Ü",
"uuml":"ü","weierp":"℘","Xi":"Ξ","xi":"ξ","Yacute":"Ý","yacute":"ý","yen":"¥",
"Yuml":"Ÿ","yuml":"ÿ","Zeta":"Ζ","zeta":"ζ","zwj":"‍","zwnj":"‌"
}

##################
#class _htmldecode
##################


class _htmldecode(html.parser.HTMLParser,_gmechild):