Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 `”b#CãJ@sˆ&�d�ZdZdZddlZddlZddlZddlZddlZddl m Z ddl m Z m Z mZmZddlmZmZdd lmZmZdd lmZmZmZmZdd lmZmZmZmZdd l m!Z!dd l"m#Z#ddl$m%Z%ej&dƒZ'dZ(dZ)dZ*dZ+�dŽdd„Z,ddeedeeedœej&dƒfdd„Z-dd„Z.dd„Z/�d�d d!„Z0Gd"d#„d#e1ƒZ2d$d%„Z3Gd&d'„d'ƒZ4Gd(d)„d)e4ƒZ5e6ddd*d+�Z7ej&d,ƒZ8Gd-d.„d.e4ƒZ9d/d0„Z:d1d2„Z;d3d4„Zd9d:„Z?�d��d‘de;fd?e-fd@e-fdAe-fdBefdPe/fdQe/fdRe/fdSe-fdTe-fdUefdVe-fdWe?f�d“dYe9dZdYƒfd[efd\e9dZd\ƒfd]e9dZd]ƒfd^e9dZd^ƒfd_efd`e9dZd`ƒfdae9dZdaƒfdbe-f�d”dde/fdee.fdfe-fdge/fdhœ1Z@�d•�d–dFe-fdFe-fdGe-fdHe-fdIefdIefdJe=fdiœ ZAd�d<�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dY�dZ�d[�d\�d\�dL�d]�d^�d_�d`�d`�da�db�dc�dd�de�df�dg�dh�di�dj�dk�dl�dm�dn�do�dp�dq�de�dr�ds�dt�du�dv�dw�dx�dx�dy�dz�d{dÆdÆ�d|�d}�d~�d�d~�d€�d��d‚�dƒ�d„�d…�d…�d€�d†�d‡�d‡�dˆ�dˆ�d‰dÍ�dŠ�d‹�dŒ�d��dŽ�d��d��d‘�d’�d“�d”�d•�d–�d—�d˜�d™�dš�d›�dœdÈ�d��dž�dŸ�d �d¡�d¢�d£�d–�d—�d¤�d¥�d¦�d˜�d¢�d¤�d¥�du�d§�d¨�d©�dª�d«�d¬�d­�d®�d¯�d°�d±�d²�d³�d´�dµ�d¶�d·�dH�d¸�d©�d¹�dº�d»�d¼�d½�d¾�d¿�dÀ�dÁ�dÂ�dÃ�dÄ�dÅ�dÆd‘�dÇ�d³�dÈ�dÉ�dÊ�dÊ�dÊ�dË�dË�dÌ�d¸�dÍ�dÎ�dÏ�dÏ�dÐ�dÐ�dÑ�dÒ�dÓ�dÔ�dÕ�dÖ�d×�dÌ�dÇ�dØ�dÙ�dØ�dÚ�dÛ�dÜd×�d„�dÌ�d­�dÝ�dÞ�d°�dß�dà�dá�dâ�dã�dä�då�dæ�d®�d­�d®�dç�dè�d¹�dÅ�dÆ�dé�dê�dë�dì�dí�dî�dï�dð�dñ�dò�dó�dô�dõ�dö�d÷�dø�dù�dú�dû�dü�dýdø�dè�dþ�dÿ�d�d�d�d�d�d�d�d�d�d �d �d �d �d �d»�d�dÙ�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d!�d"�d!�d#�d$�d%�d&�d'�d(�d)�d*�d+�d,�d-�d.�d/�d0�d1�d2�d1�d3�d�d �d4�d�d�d5�d6�d4�d7�d8�dƒ�d9�d:�d;�d<�d=�d>�dØ�d?�d4�d@�dA�dB�dC�dD�dE�dF�dG�dH�dH�d=�d�d�d�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dRdö�dS�dT�dU�dV�dW�dX�dY�dZ�dZ�d[�d\�d]�d^�d_�d`�da�db�dc�dd�de�df�dg�dh�di�dj�dk�dl�dm�dn�do�d]�dp�dq�dr�ds�dt�dÍ�du�dv�dw�dx�dy�dz�d{�d|�d}�d~�d�d€�d��d‚�d€�d�dƒ�dƒ�d„�d…�d†�d‡�dˆ�d‰�dŠ�d‹�dŒ�d��dŒ�dŽ�d��d��d‘�d’�d“�d”�d•�d•�d–�d—�d—�d–�d˜�d™�dš�dÈ�d€�d‚�d�d›�d‘�dƒ�dœ�d��dž�dœ�dŸ�d �d¡�d��d¡�d¢�d£�d¤�d¥�d¦�du�d§�d¤�d‚�d��d‘�dœ�d¨�d¨�dK�d©�d_�dª�d«�d¬�dÞ�d­�d®�d¯�d°�d±�d²�d³�d´�d´�dµ�d¶�d·�d¸�dª�d¹�dº�d»�d¼�d½�d¾�d¿�dÀ�dÁ�d�dª�dÂ�d±�dÃ�dÄ�d<�d>�dÅ�d¯�dÆ�dÇ�dÈ�dÉ�dÊ�dË�dÌ�dÍ�dÎ�dÏ�dÐ�dÞ�dÑ�dÒ�dÓ�dÔ�dÕ�dÖ�d×�dØ�dÙ�dÚ�dÛ�dÑ�dÜ�dÝ�dÑ�dÕ�dÞ�dÑ�dß�dà�dá�dâ�d�dâ�dã�dä�dß�då�dæ�dç�dè�dæ�dçdç�dé�dê�dÈ�dë�dì�dí�dî�dï�dð�dñ�dò�dó�dê�dô�dÞ�dõ�d�dö�d÷�dø�dù�d�dë�dú�dû�dü�dý�dþ�dÿ�d�d�d�d�d�d�d�d�d�d �d �d �d �d �d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*�d)�d+�d%�d,�d-�dÝ�d.�d/�d0�d1�d½�d2�d3�d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�d>�dH�dI�dJ�dKdÝ�dL�dM�dN�dO�dP�d)�d.�dÝ�d.�d/�dQ�d5�dG�dR�dS�dÅ�dT�dU�dë�dV�dW�d­�dÞ�d­�dQ�dX�d¯�dY�d±�dZ�d[�d\�d]�d^�d_�d`�da�db�dc�dV�dd�de�df�dP�dO�dg�dg�dh�di�dj�dk�dl�dm�d+�dn�df�de�df�dO�do�do�dp�dq�dg�dq�dr�dU�ds�dt�do�du�dv�dë�dV�dw�dx�dy�dz�d{�d|�dW�dÓ�d!�d}�d~�d�d€�d��d��d‚�d‚�dƒ�d„�d„�dƒ�d…�d†�d‡�dR�dˆ�dß�dˆ�d‰�dà�d‰�dŠ�d‹�dá�d‹�d2�dŒ�d��dŽ�d��d��d‘�d’�d“�d”�d•�d–�d–dõ�d—�d˜�dQ�dó�dX�d™�dš�d›�dœ�d%�d��dž�dž�dq�dŸ�d �d?�d¡�d¢�d£�d¤�d¥�d|�d¥�d¦�d§�dn�d\�d¨�d©�dª�d«�d_dù�d¬�d­�d®�d¯�d¯�d°�d±�d²�d²�d³�d´�d´�dñ�dZ�dµ�d¶�d·�d¸�d¹�dº�d»dª�d¼�d½�d¾�d¿�dÀ�dÁ�dÂdÇ�dÃ�d\�dÄ�d�dÚ�dÅ�dÆ�dÇ�dµ�dÆ�dÈ�dÉ�dÊ�dÆ�d½�dËdŒ�dÌ�dÍ�dÎ�dÎ�d½�dÏ�dÐ�dÑ�dÒ�dÓ�dÔ�dÕ�dÒ�dÖ�dÖ�d×�dØ�dÙ�dÚ�dÛ�dÜ�dÝ�dÞ�dß�dà�dá�dâ�dã�dä�då�dæ�dç�dè�dé�dé�dê�dë�dë�dë�dë�dì�dí�dî�d��d|�dï�dð�dð�dñ�dò�dó�dô�dô�dó�dõ�dõ�dö�d÷�dø�dù�dù�dú�dû�dü�dý�dþ�dÿ�d�dþ�d�d�d�d�d�d�d�d�d�dû�dü�d�d�d�d�d �d �d �d �d �d �d�d�d�d�dØ�d×�d�d�d�dì�d�d�d�dæ�dî�dð�dù�dô�dó�dú�d�dõ�d÷�dÙ�dÚ�d�d�d�d�d�d�d �d�d�d �d�d�d�d�d �d�d �d!�d!�d"�d#�d$�d%�d&�d!�d'�d(�d)�d*�d+�d,�d-�d.�d/�d0�d1�d2�d3�d4�d5�d6�d7�dà�dÒ�d�d�d�d8�d9�d:�d$�d&�d%�d$�d%�d;�d<�d=�d>�d;�d<�d'�d)�d0�d2�d1�d?�d@�d�d�d6�d7�d7�d�d�d+�d-�dA�dB�d/�d.�d/�dB�d0�d1�dC�dD�d5�d4�d5�dD�d�dE�dF�d�d �d�d'�d)�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dZ�d[�d\�d]�d^�d^�d_�d`�da�dh�di�db�dc�dd�de�dj�df�dg�dh�dk�di�dj�dk�dl�dm�dn�do�dp�dq�dr�ds�dt�d…�df�du�dv�dw�dx�dy�dz�dt�d{�d|�d}�d~�dn�d�d€�d��dK�d¡�d‚�do�dƒ�d„�dg�d…�d†�d†�d‡�dˆ�d‰�dŠ�d‹�dŒ�dm�d��d†�dŽ�d��d��d‘�d’�d“�dp�d”�d•�d–�d—�dw�d˜�d™�dš�dæ�d›�dæ�dœ�d��dž�dž�dŸ�d �d¡�d¢�d£�d�d¤�d¥�d¦�d§�d¨�d©�d½�dª�d«�d¬�d[�d­�d±�d®�d±�d¯�d°�d�d±�dÛ�d²�d³�d´�d´�dµ�d¶�d´�d·�d·�d¸�d¹�dº�d»�d¼�d½�d¾�d¿�dÀ�d¼�d½�d¾�d¼�dÀ�d¾�dÁ�dÀ�dÂ�dÃ�dÄ�dÁ�dÅ�dÆ�d¸�dÂ�dÃ�dÄ�dÇ�dÇ�dÈ�dÉ�dÊ�dË�dy�dË�dË�dÁ�dÌ�dÍ�dÎ�dÏ�dÐ�dÑ�dÒ�dÓ�dÖ�dÔ�dÕ�dÖ�d×�dØ�d¿�dÙ�dÚ�d7�dÛ�dÛ�dÜ�dÝ�dÞ�dß�dà�dá�dâ�dã�dä�då�dã�dæ�dç�dâ�dè�dé�dê�dë�dì�dí�d¾�dŒ�dî�dï�dð�dñ�dò�dó�dô�dõ�dÔ�dò�d²dô�dö�d÷�dø�dù�dú�dû�dü�dý�dþ�dÿ�d�d÷�d�d�d�d�dv�dv�d�d�d�d�d�d�d �dl�dl�dþ�dX�dþ�d �d �d�d �d �dî�d�d�d�d�d�dã�dè�dâ�dè�dê�d�dñ�d�d�d�dÆ�d�d �dî�d�d�d8�d�dò�d�d´�d�d�d�d�d�d�d�d �d!�d�d"�d#�d<�d�d8�d$�d%�d%�d&�d'�d(�d�d)�d�d*�d+�d,�d-�d.�d/�d0�d�dÜ�d1�d�d2�d3�d3�dø�dw�dw�d�d4�d5�ddú�d6�d7�d8�d9�d:�d;�d¢�d<�d=�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dÜ�dP�d¹�dQ�d•�d•�dR�dS�dTdÔdÔ�dU�dV�dW�do�dX�dY�dZ�d[�d\�d®�d.�dÂ�dæ�dè�d]�d^�d_�d`�da�da�db�dc�dd�dd�de�df�dg�dh�di�dj�dk�d.�ddÔ�dl�dm�dÂ�dn�do�dp�dq�dr�ds�dt�du�dv�dw�dx�dy�dy�dæ�dz�d{�d|�d}�dà�d~�d�d~�d�d€�d��d€�d��d‚�d‚�d‚�dz�d~�d�d€�d��d|dödö�dè�dƒ�d„dÔ�dn�d…�d…�d†dî�d3�d©�d°�d‡�dˆ�d‰�dŠ�d‹�dŒ�d��dŽ�d��d��d‘�d‡�dˆ�d‹�dŠ�d‹�d��dŽ�d’�d“�d”�d=�d>�dA�d=�dC�dA�dL�dC�dH�dI�dJ�dL�dþ�d•�d•�d–�d—�d˜�d™�dš�d›�dœ�d��dž�dŸ�d �d˜�dŸ�d¡�d¢�d£�d¤�d¥�d¦�d§�d—�d˜�dŸ�dž�d¦�d¥�d¨�d©�dª�dº�d«�d”�d”�d¬�d­�d®�d¯�d°�d±�d™�d²�d³�d´�dµ�d¶�d·�d¸�d¹�dº�d»�d»�d»�d¼�d½�d¾�d¾d½�db�d¿�dÀ�dÀd½�db�dÁ�dÂ�db�dÉ�dd�d�d½�dÃ�d�dÄ�dÅ�d×�dí�dð�dÆ�dÇ�dÈ�dÉ�dÊ�dT�dË�dÌ�dÌ�dÍ�dý�d«�d_�dÎ�d5�d�dÏ�dÎ�dÐ�dÑ�dÒ�dÓ�dÔ�dÕ�dÖ�d×�dØ�dÙ�dÚ�dÛ�dÜdä�d-�dç�dÝ�dÞ�dß�dä�d]�dà�dá�dâ�dã�dä�då�dæ�dç�dè�dé�dê�dë�dì�dí�dî�dï�dð�dñ�dò�db�d �dó�dô�dô�dõ�dö�d÷�dø�dÌ�d“�dùdÙ�dúdé�dû�dü�dý�dþ�dÿ�d]�dä�d]�d�dé�d�då�d�dì�db�d �dû�d^�dé�d�d�d�d�d�d�dµ�d�d�d�d�d�d �d �d �d �d �d�d�dÍd÷�d�d�d�d�d�d3�d�d!�d©�d­�dË�då�d�d�da�d�d�d�d�d¾�d]�d�d�d�d�d�d�d�d�dã�d�ddò�d„�d �d!�d"�d#�d$�d#�d$�dÂ�d$�d%�d&�d©�d'�d(�d]�d.�d4�d)�d*�dË�d�d+�d,�d�d�d�d�d-�d.�d/�d0�d1dód£�d2�d3�d4�d5�d6�d7�d3�d&�d&�d8�d9dçdèdédï�d:�d;�dà�d‰�d<�d=�dß�dˆ�dŠ�d>dê�d?�d@dëdì�dá�d‹�dA�dBdídñdðdòdó�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dZ�d[�d\�d]�d^�d_�d`�dë�da�db�d`�dc�dd�de�df�dè�dg�dh�di�dj�dk�dl�œIZMe6�dm�dn„e%jNƒDƒƒZOx$eMD]ZPePeOk�$rîeMePeOeP<�$qîWG�dod„de ƒZQdaR�dp�dq„ZSG�drd„de#ƒZTeU�dsk�&r„d�dtlVmWZWd�dulXmYZYeTƒZZeZf�dv�dw„Z[eQƒZ\eYe\_]�dxe\_^ee\__ee\_`eYe\_`�dxe\_a�dyZbe[ebƒe[�dzƒe[�d{eYƒe[�d|ƒe[�d}ƒe[�d~ƒe[�dƒe[�d€ƒe[�d�ƒe[�d‚ƒe[�dƒƒe[�d„ƒe[�d…ƒe[�d†ƒdeZ_ce[�d‡ƒe[�dˆƒe[�d‰ƒe[�dŠƒe[�d‹ƒe[�dŒƒdS(«ÚParaFragÚ ParaParserz3.5.20z3The parser used to process markup within paragraphséN)ÚABag)Ú ImageReaderÚannotateExceptionÚ encode_labelÚ asUnicode)ÚtoColorÚblack)Útt2psÚps2tt)ÚTA_LEFTÚTA_RIGHTÚ TA_CENTERÚ TA_JUSTIFY)ÚinchÚmmÚcmÚpica)Úplatypus_link_underline)Ú HTMLParser)Úname2codepointz^\s*<\s*para(?:\s+|>|/>)égà?Z _indexAddéTc Csr|ddkrD|rDydt|ƒ|fStk r@dt|ƒ|fSXn*y t|ƒ|Stk rlt|ƒ|SXdS)Nrú+ú-Úrelative)rr)ÚintÚ ValueErrorÚfloat)ÚsÚunitÚ allowRelative©r#ú>/tmp/tmp4i9tl1d3/lib64/python/reportlab/platypus/paraparser.pyÚ_convnums r%)ÚiÚinÚptrrrz ^\s*(.*)(i|in|cm|mm|pt|pica)\s*$cCs2|j|ƒ}|r&||jdƒ}|jdƒ}t|||ƒS)z¢Convert a string like '10cm' to an int or float (in points). The default unit is point, but optionally you can use other default units like mm. rr)ÚmatchÚgroupr%)r r!r"Z _unit_mapZ_re_unitÚmr#r#r$Ú_num+s   r,c Cs&yt|ƒStd|ƒ‚YnXdS)Nzcannot convert %r to int)rr)r r#r#r$Ú_int9sr-cCs0|jƒ}|d krdS|d kr dStd |ƒ‚dS) NÚtrueÚ1ÚyesTÚfalseÚ0ÚnoFzcannot convert %r to bool value)r.r/r0)r1r2r3)Úlowerr)r r#r#r$Ú_bool?s r5FcCs2|jdƒr"tt|dd…|d�ƒSt|||ƒSdS)Nú%r)r"éÿÿÿÿ)ÚendswithÚ_PCTr%r,)r r!r"r#r#r$Ú_numpctGs r:c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) r9cCs tj||dƒ}d|_||_|S)Ng{®Gáz„?gð?)rÚ__new__Ú _normalizerÚ_value)ÚclsÚvÚselfr#r#r$r;Nsz _PCT.__new__cCs*|s |j}t||jƒ}|j|_||_|S)N)r<r9r=)r@Ú normalizerZ normaliserÚrr#r#r$ÚnormalizedValueTs z_PCT.normalizedValuecCstt|ƒƒ}|j|_t|_|S)N)r9rr=rAr<)r@rBr#r#r$Ú__copy__\s z _PCT.__copy__cCs|jƒS)N)rD)r@Zmemr#r#r$Ú __deepcopy__bsz_PCT.__deepcopy__N)Ú__name__Ú __module__Ú __qualname__r;rCrDrEr#r#r#r$r9Msr9cCsRt||ƒs|Stt||ƒdd�}t|tƒr8|d|jSt|tƒrN|j|jƒS|S)NT)r"r)Úhasattrr:ÚgetattrÚ isinstanceÚtupleÚfontSizer9rC)ÚfragÚattrÚdefaultr?r#r#r$ÚfontSizeNormalizees rQc@s0eZdZdZdd„Zdd„Zdd„Zdd „Zd S) Ú _ExValidatez)class for syntax checking attributes cCs||_||_dS)N)ÚtagrO)r@rSrOr#r#r$Ú__init__msz_ExValidate.__init__cCstd|j||jfƒ‚dS)Nz&<%s> invalid value %r for attribute %s)rrSrO)r@r r#r#r$Úinvalidqsz_ExValidate.invalidcCs tdƒ‚|S)Nzabstract method called)r)r@Úparserr r#r#r$Úvalidatetsz_ExValidate.validatec Cs(y |j||ƒS|j|ƒYnXdS)N)rWrU)r@rVr r#r#r$Ú__call__xs z_ExValidate.__call__N)rFrGrHÚ__doc__rTrUrWrXr#r#r#r$rRjs rRc@s eZdZdZdd„Zdd„ZdS)Ú _CheckSupz~class for syntax checking attributes if the check succeeds then we always return the string for later evaluationcCs |jdj|_t||jdƒ|S)NrÚr7)Ú_stackrMrQrO)r@rVr r#r#r$rW�sz_CheckSup.validatecCst||j|ƒtj|||ƒS)N)ÚsetattrrOrRrX)r@rVr r#r#r$rX†sz_CheckSup.__call__N)rFrGrHrYrWrXr#r#r#r$rZ~srZé)ÚsingleZdoubleZtriplez^\s*(.*)\s*\*\s*(P|L|f|F)\s*$c@seZdZdZdd„ZdS)Ú_CheckUSz width/offset attributescCsX|jƒ}|rTtj|ƒ}|rHt|jdƒƒ}|jdƒdkrT|jdj|Sn t|dd�|S)NrrÚPrF)r")ÚstripÚ _re_us_valuer)rr*r\rMr,)r@rVr r+r?r#r#r$rWŽs  z_CheckUS.validateN)rFrGrHrYrWr#r#r#r$r`Œsr`c Csf|jƒ}|d kr|S|jd ƒrHt|dd …ƒ}t|tƒr@|d }t|ƒSt|ƒ}t|tƒrb|d }|S) NÚbaselineÚsubÚsuperÚtopútext-topÚmiddleÚbottomú text-bottomr6r)rdrerfrgrhrirjrkr7)r4r8r%rKrLr9r,)r Únr#r#r$Ú _valignpcšs   rmcCs$|jƒ}|dkr|Std|ƒ‚dS)Nr[ÚminÚmaxÚoffzInvalid autoLeading=%r)r[rnrorp)r4r)Úxr#r#r$Ú _autoLeading¨srrcCsH|jƒ}|dkrtS|dkr tS|dkr,tS|dkr8tStd|ƒ‚dS)NÚleftÚrightZjustifyÚcentreÚcenterzillegal alignment %r)rurv)r4r rrrr)r r#r#r$Ú_align®srwcCs |jƒ}|dkrtd|ƒ‚|S)NÚstartriÚendÚnumericzillegal bullet anchor %r)rxriryrz)r4r)r r#r#r$Ú_bAnchor¶s r{cCs,|jƒjƒ}|sdS|dkr(td|ƒ‚|S)NÚCJKÚRTLÚLTRzcannot convert wordWrap=%r)r|r}r~)Úupperrbr)r r#r#r$Ú _wordWrapConv¼s   r€cCs,|jƒjƒ}|sdS|dkr(td|ƒ‚|S)NÚ uppercaseÚ lowercaseÚ capitalizeÚnonezcannot convert textTransform=%r)r�r‚rƒr„)r4rbr)r r#r#r$Ú_textTransformConvÃs   r…ÚfontNamerMÚleadingZ autoLeadingZ leftIndentZ rightIndentZfirstLineIndentÚ alignmentZ spaceBeforeZ spaceAfterÚbulletFontNameÚbulletFontSizeZ bulletOffsetYZ bulletIndentÚ bulletColorZ bulletAnchorÚ textColorZ backColorZ justifyBreaksZjustifyLastLineZwordWrapZ allowWidowsZ allowOrphansZsplitLongWordsZ borderWidthZ borderPaddingZ borderColorZ borderRadiusZ textTransformÚendDotsÚunderlineWidthÚparaÚunderlineColorÚunderlineOffsetÚ underlineGapÚ strikeWidthÚ strikeColorÚ strikeOffsetÚ strikeGapZspaceShrinkageÚhyphenationLangÚhyphenationOverflowÚhyphenationMinWordLengthÚuriWasteReduceÚembeddedHyphenation)1ÚfontÚfaceÚfontsizeÚsizer‡Z autoleadingZlindentZrindentZfindentZalignZspacebZspaceaZbfontZ bfontsizeZboffsetyZbindentZbcolorZbanchorÚcolorÚ backcolorÚbgcolorÚbgÚfgZ justifybreaksZjustifylastlineZwordwrapZ allowwidowsZ alloworphansZsplitlongwordsZ borderwidthZ borderpaddingZ bordercolorZ borderradiusZ texttransformZenddotsZunderlinewidthZunderlinecolorZunderlineoffsetZ underlinegapZ strikewidthZ strikecolorZ strikeoffsetZ strikegapZspaceshrinkageZhyphenationLanguager˜r™ršr›) rœr�rŸržZoffsetyÚindentr r¤Úanchor)rŸr�Únamer¤r r¡r¢Ústyle)rŸr�r§r¤r r¡r¢r¨ÚlinkÚ underlineÚ underlineKind)rŸr�r§r¤r r¡r¢ÚdestZ destinationÚtargetZhrefZucolorZuoffsetZuwidthZugaprªZukindr§ÚsrcÚwidthÚheightÚvalign)r®r¯r°r±ÚitemÚoffsetÚformat)r§r²r³r´Úsuprzsup|subÚriseÚsupsrŸ)r¶rŸ)r r¯r³ÚgapÚkindÚstrikeÚ strikeKindcCsZt|jƒƒ}xH|D]@}||d}||kr6||||<|jƒ}||kr||||<qWdS)Nr)ÚlistÚkeysr4)r+ÚKÚkrlr#r#r$Ú_addAttributeNamesQs    rÀcCsfx`|jƒD]T\}}t|ttfƒrR|ddkrRt||ƒrJ|dt||ƒ}n|d}t|||ƒq WdS)Nrrr)ÚitemsrKr¼rLrIrJr])ÚobjrOr¿r?r#r#r$Ú_applyAttributes`s  rÃõÃ�õáuÄ‚uău∾u∿u∾̳õÂõâõ´uÐ�uаõÆõæuâ�¡uð�”„uð�”žõÀõàuℵuΑuαuÄ€uÄ�u⨿ú&uâ©“u∧uâ©•u⩜u⩘u⩚u∠u⦤u∡u⦨u⦩u⦪u⦫u⦬u⦭u⦮u⦯u∟u⊾uâ¦�u∢õÃ…uâ�¼uÄ„uÄ…uð�”¸uð�•’u≈u⩯uâ©°u≊u≋ú'õÃ¥uð�’œuð�’¶u≔Ú*uâ‰�õÃõãõÄôäu∳u⨑u≌u϶u‵u∽uâ‹�u∖uâ«§u⊽u⌆u⌅u⎵u⎶uБuбu„u∵u⦰uℬuÎ’uβuâ„¶u≬uð�”…uð�”Ÿuâ‹‚uâ—¯u⋃u⨀uâ¨�u⨂u⨆u★uâ–½uâ–³u⨄uâ‹�uâ‹€uâ¤�uâ§«uâ–ªuâ–´uâ–¾uâ—‚uâ–¸uâ�£uâ–’uâ–‘uâ–“uâ–ˆu=⃥u≡⃥uâ«­uâŒ�uð�”¹uð�•“u⊥u⋈u⧉uâ•—uâ•–uâ••uâ”�uâ•”uâ•“uâ•’u┌uâ•�u─u╦u╤uâ•¥u┬uâ•©uâ•§u╨uâ”´u⊟u⊞u⊠uâ•�u╜uâ•›u┘u╚uâ•™u╘uâ””uâ•‘u│u╬uâ•«u╪u┼uâ•£uâ•¢uâ•¡u┤uâ• u╟u╞u├u˘õ¦uð�’·uâ��ú\uâ§…u⟈u•u≎u⪮uâ‰�uĆućuâ‹’u∩uâ©„u⩉uâ©‹u⩇uâ©€uâ……u∩︀uâ��uˇuâ„­uâ©�uÄŒuÄ�õÇõçuĈuĉu∰u⩌uâ©�uÄŠuÄ‹õ¸u⦲õ¢õ·uð�” uЧuчu✓uΧuχuâ—‹uˆu≗u↺u↻u⊛u⊚uâŠ�u⊙õ®uⓈu⊖u⊕u⊗u⧃uâ¨�u⫯uâ§‚u∲uâ€�u’u♣u∷ú:uâ©´ú,ú@uâˆ�u∘uâ„‚u≅uâ©­u≡u∯u∮uð�•”uâˆ�õ©uâ„—u↵u⨯u✗uð�’žuð�’¸uâ«�uâ«‘uâ«�uâ«’u⋯u⤸u⤵u⋞u⋟u↶u⤽uâ‹“u∪u⩈u⩆u⩊uâŠ�uâ©…u∪︀u↷u⤼u⋎uâ‹�õ¤u∱u⌭u‡u†uℸu↡u⇓u↓uâ€�u⫤u⊣uâ¤�uË�uÄŽuÄ�uДuдuâ…†u⇊u⤑uâ©·õ°u∇uΔuδu⦱u⥿uð�”‡uð�”¡u⥥u⇃u⇂uË™ú`uËœuâ‹„u♦õ¨uÏ�u⋲õ÷u⋇uЂuÑ’u⌞uâŒ�ú$uð�”»uð�••uâ‰�u≑u∸u∔u⊡uâ‡�u⇔u⟸u⟺u⟹u⇒u⊨u⇑u⇕u∥u⤓u⇵uâ¥�u⥞u↽u⥖u⥟uâ‡�u⥗u⊤u↧uâ¤�u⌟u⌌uð�’Ÿuð�’¹uÐ…uÑ•uâ§¶uÄ�uÄ‘u⋱uâ–¿u⥯u⦦uÐ�uÑŸu⟿õÉõéuâ©®uÄšuÄ›u≖õÊõêu≕uЭuÑ�uÄ–uÄ—uâ…‡u≒uð�”ˆuð�”¢u⪚õÈõèu⪖u⪘u⪙u∈uâ�§uâ„“u⪕u⪗uÄ’uÄ“u∅uâ—»uâ–«u u u uÅŠuÅ‹u uĘuÄ™uð�”¼uð�•–uâ‹•uâ§£u⩱uεuΕuϵu≂u⩵ú=u≟u⇌u⩸uâ§¥u⥱u≓uâ„°uℯu⩳uΗuηõÃ�õðõËõëu€ú!u∃uФuÑ„u♀uffiuffuffluð�”‰uð�”£uï¬�uâ—¼Úfjuâ™­ufluâ–±uÆ’uð�”½uð�•—u∀uâ‹”uâ«™uℱuâ¨�õ½uâ…“õ¼uâ…•uâ…™uâ…›uâ…”uâ…–õ¾uâ…—uâ…œuâ…˜uâ…šuâ…�uâ…žuâ�„u⌢uð�’»uǵuΓuγuÏœu⪆uÄžuÄŸuÄ¢uÄœuÄ�uГuгuÄ uÄ¡u≧u≥u⪌uâ‹›u⩾u⪩u⪀u⪂u⪄u⋛︀u⪔uð�”Šuð�”¤uâ‹™u≫uâ„·uЃuÑ“u≷u⪥u⪒u⪤u⪊u≩u⪈uâ‹§uð�”¾uð�•˜u⪢u≳uð�’¢uℊu⪎uâª�ú>u⪧u⩺uâ‹—u⦕u⩼u⥸u≩︀u uâ„‹uЪuÑŠu↔u⥈u↭ú^uâ„�uĤuÄ¥u♥u…u⊹uℌuð�”¥u⤥u⤦u⇿u∻u↩u↪uâ„�uð�•™u―uð�’½uĦuħuâ�ƒõÃ�õíuâ�£õÃŽõîuИuиuİuЕuеõ¡uâ„‘uð�”¦õÃŒõìuâ…ˆu⨌u∭uâ§œuâ„©uIJuijuĪuÄ«uâ„�uıu⊷uƵuâ„…u∞uâ§�u∬u∫u⊺uℤu⨗u⨼uâ�¢uÐ�uÑ‘uÄ®uįuð�•€uð�•šuΙuιõ¿uð�’¾u⋵u⋹uâ‹´u⋳uĨuÄ©uІuÑ–õÃ�õïuÄ´uĵuЙuйuð�”�uð�”§uÈ·uð�•�uð�•›uð�’¥uð�’¿uЈuјuЄuÑ”uΚuκuϰuĶuÄ·uКuкuð�”Žuð�”¨uĸuÐ¥uÑ…uÐŒuÑœuð�•‚uð�•œuð�’¦uð�“€u⇚uĹuĺu⦴uâ„’uΛuλu⟪u⟨u⦑u⪅õ«u↞uâ†�u⇤u⤟uâ¤�u↫u⤹u⥳u↢u⪫u⤛u⤙u⪭u⪭︀u⤎u⤌uâ�²ú{ú[u⦋uâ¦�uâ¦�uĽuľuÄ»uļu⌈uЛuлu⤶u“u⥧u⥋u↲u≦u≤u⇆u⟦u⥡u⥙u⌊u↼u⇇u⇋u⥎u↤u⥚uâ‹‹u⊲uâ§�u⊴u⥑u⥠u↿u⥘u⥒u⪋u⋚u⩽u⪨uâ©¿uâª�u⪃u⋚︀u⪓uâ‹–u≶u⪡u≲u⥼uð�”�uð�”©u⪑u⥢u⥪uâ–„uЉuÑ™u⋘u≪u⥫uâ—ºuÄ¿uÅ€u⎰u⪉u≨u⪇u⋦u⟬u⇽u⟵u⟷u⟼u⟶u↬u⦅uð�•ƒuð�•�u⨭u⨴u∗Ú_u↙u↘uâ—Šú(u⦓u⥭u‎u⊿u‹uð�“�u↰uâª�uâª�u‘u‚uÅ�uÅ‚ú⃒u⤄uâ§žu⤂u≤⃒u<⃒u⊴⃒u⤃u⊵⃒u∼⃒u⤣u⇖u↖u⤧õÓõóõÔõôuОuоuÅ�uÅ‘u⨸u⦼uÅ’uÅ“u⦿uð�”’uð�”¬uË›õÃ’õòuâ§�u⦵uΩu⦾u⦻u‾uâ§€uÅŒuÅ�uωuΟuοu⦶uð�•†uð�• u⦷u⦹uâ©”u∨uâ©�uâ„´õªõºu⊶uâ©–uâ©—uâ©›uð�’ªõØõøu⊘õÕõõu⨷u⨶õÖõöu⌽uâ�žu⎴uâ�œõ¶u⫳u⫽u∂uПuпr6Ú.u‰u‱uð�”“uð�”­uΦuφuÏ•u☎uΠuÏ€uÏ–uℎru⨣u⨢u⨥u⩲õ±u⨦u⨧u⨕uâ„™uð�•¡õ£u⪻u≺u⪷u≼u⪳u⪯u≾u⪹u⪵u⋨u″u′uâˆ�u⌮u⌒u⌓uâˆ�u⊰uð�’«uð�“…uΨuψu uð�””uð�”®uℚuð�•¢uâ�—uð�’¬uð�“†u⨖ú?ú"u⇛u∽̱uÅ”uÅ•u√u⦳u⟫u⟩u⦒u⦥õ»u↠u→u⥵u⇥u⤠u⤳u⤞u⥅u⥴u⤖u↣uâ†�u⤜u⤚u∶uâ�³ú}ú]u⦌u⦎uâ¦�uŘuÅ™uÅ–uÅ—u⌉uРuÑ€u⤷u⥩u↳uℜuâ„›uâ„�uâ–­u⥽u⌋uð�”¯u⥤u⇀u⥬uΡuÏ�uϱu⇄u⟧uâ¥�u⥕u⇉u⊢u⥛u⋌u⊳uâ§�u⊵uâ¥�u⥜u↾u⥔u⥓uËšuâ€�u⎱uâ«®u⟭u⇾u⦆uð�•£u⨮u⨵u⥰ú)u⦔u⨒u›uð�“‡u↱u⋊uâ–¹uâ§Žuâ§´u⥨u℞uÅšuÅ›u⪼u≻u⪸uÅ uÅ¡u≽u⪴u⪰uÅžuÅŸuÅœuÅ�u⪺u⪶uâ‹©u⨓u≿uСuÑ�uâ‹…u⩦u⇘õ§ú;u⤩u✶uð�”–uð�”°u♯uЩuщuШuшu↑õ­uΣuσuÏ‚u∼u⩪u≃u⪞u⪠uâª�u⪟u≆u⨤u⥲u⨳u⧤u⌣u⪪u⪬u⪬︀uЬuÑŒú/uâ§„u⌿uð�•Šuð�•¤uâ™ u⊓u⊓︀u⊔u⊔︀uâŠ�u⊑uâŠ�u⊒uâ–¡uð�’®uð�“ˆu⋆u☆uâ‹�u⊂u⪽uâ«…u⊆u⫃uâ«�uâ«‹u⊊u⪿u⥹u⫇uâ«•uâ«“u∑u♪uâ‹‘u⊃õ¹õ²õ³u⪾u⫘u⫆u⊇uâ«„u⟉uâ«—u⥻uâ«‚u⫌u⊋uâ«€u⫈uâ«”uâ«–u⇙u⤪õßú u⌖uΤuÏ„uŤuÅ¥uÅ¢uÅ£uТuÑ‚u⌕uð�”—uð�”±u∴uΘuθuÏ‘uâ�Ÿâ€Šu õÞõþõ×u⨱u⨰u⌶u⫱uð�•‹uð�•¥u⫚u‴uâ„¢uâ–µu≜uâ—¬u⨺u⨹uâ§�u⨻uâ�¢uð�’¯uð�“‰uЦuцuЋuÑ›uŦuŧõÚõúu↟u⥉uÐŽuÑžuŬuÅ­õÛõûuУuуu⇅uŰuűu⥮u⥾uð�”˜uð�”²õÙõùu⥣uâ–€u⌜uâŒ�uâ—¸uŪuÅ«uâ�Ÿuâ��u⊎uŲuųuð�•Œuð�•¦u⤒u↕uÏ’uÏ…uÎ¥u⇈uâŒ�u⌎uÅ®uůuâ—¹uð�’°uð�“Šuâ‹°uŨuÅ©õÜõüu⦧u⦜u⊊︀u⫋︀u⊋︀u⫌︀uâ««u⫨uâ«©uÐ’uвu⊫u⊩u⫦u⊻u≚uâ‹®u‖ú|uâ�˜u≀uð�”™uð�”³uð�•�uð�•§uð�’±uð�“‹u⊪u⦚uÅ´uŵu⩟u≙u℘uð�”šuð�”´uð�•Žuð�•¨uð�’²uð�“Œuð�”›uð�”µuΞuξuâ‹»uð�•�uð�•©uð�’³uð�“�õÃ�õýuЯuÑ�uŶuÅ·uЫuÑ‹õÂ¥uð�”œuð�”¶uЇuÑ—uð�•�uð�•ªuð�’´uð�“ŽuЮuÑŽuŸõÿuŹuźuŽužuЗuзuÅ»użuℨuΖuζuð�”·uЖuжuâ‡�uð�•«uð�’µuð�“�uâ€�u‌(IÚAacuteÚaacuteZAbreveZabreveZacZacdZacEÚAcircÚacircÚacuteZAcyZacyÚAEligÚaeligÚafZAfrZafrÚAgraveÚagraveÚalefsymZalephÚAlphaÚalphaZAmacrZamacrZamalgÚAMPÚampÚAndÚandZandandZanddZandslopeZandvÚangZangeZangleZangmsdZangmsdaaZangmsdabZangmsdacZangmsdadZangmsdaeZangmsdafZangmsdagZangmsdahZangrtZangrtvbZangrtvbdZangsphZangstZangzarrZAogonZaogonZAopfZaopfZapZapacirZapEZapeZapidZaposZ ApplyFunctionZapproxZapproxeqÚAringÚaringZAscrZascrÚAssignÚastÚasympZasympeqÚAtildeÚatildeÚAumlÚaumlZawconintZawintZbackcongZ backepsilonZ backprimeZbacksimZ backsimeqZ BackslashZBarvZbarveeZBarwedZbarwedZbarwedgeZbbrkZbbrktbrkZbcongZBcyZbcyÚbdquoZbecausZBecauseZbecauseZbemptyvZbepsiZbernouZ BernoullisÚBetaÚbetaZbethZbetweenZBfrZbfrZbigcapZbigcircZbigcupZbigodotZbigoplusZ bigotimesZbigsqcupZbigstarZbigtriangledownZ bigtriangleupZbiguplusZbigveeZbigwedgeZbkarowZ blacklozengeZ blacksquareZ blacktriangleZblacktriangledownZblacktriangleleftZblacktrianglerightZblankZblk12Zblk14Zblk34ÚblockZbneZbnequivZbNotZbnotZBopfZbopfZbotrjZbowtieZboxboxZboxDLZboxDlZboxdLZboxdlZboxDRZboxDrZboxdRZboxdrZboxHZboxhZboxHDZboxHdZboxhDZboxhdZboxHUZboxHuZboxhUZboxhuZboxminusZboxplusZboxtimesZboxULZboxUlZboxuLZboxulZboxURZboxUrZboxuRZboxurZboxVZboxvZboxVHZboxVhZboxvHZboxvhZboxVLZboxVlZboxvLZboxvlZboxVRZboxVrZboxvRZboxvrZbprimeZBreveZbreveÚbrvbarZBscrZbscrZbsemiZbsimZbsimeZbsolZbsolbZbsolhsubÚbullÚbulletZbumpZbumpEZbumpeZBumpeqZbumpeqZCacuteZcacuteZCapÚcapZcapandZcapbrcupZcapcapZcapcupZcapdotZCapitalDifferentialDZcapsZcaretZcaronZCayleysZccapsZCcaronZccaronÚCcedilÚccedilZCcircZccircZCconintZccupsZccupssmZCdotZcdotÚcedilZCedillaZcemptyvÚcentZ CenterDotZ centerdotZCfrZcfrZCHcyZchcyÚcheckZ checkmarkÚChiÚchiZcirÚcircZcirceqZcirclearrowleftZcirclearrowrightZ circledastZ circledcircZ circleddashZ CircleDotZcircledRZcircledSZ CircleMinusZ CirclePlusZ CircleTimesZcirEZcireZcirfnintZcirmidZcirscirZClockwiseContourIntegralZCloseCurlyDoubleQuoteZCloseCurlyQuoteÚclubsZclubsuitZColonZcolonZColoneZcoloneZcoloneqZcommaZcommatÚcompZcompfnZ complementZ complexesÚcongZcongdotZ CongruentZConintZconintZContourIntegralZCopfZcopfZcoprodZ CoproductÚCOPYÚcopyZcopysrZCounterClockwiseContourIntegralÚcrarrZCrossZcrossZCscrZcscrZcsubZcsubeZcsupZcsupeZctdotZcudarrlZcudarrrZcueprZcuescZcularrZcularrpZCupÚcupZcupbrcapZCupCapZcupcapZcupcupZcupdotZcuporZcupsZcurarrZcurarrmZ curlyeqprecZ curlyeqsuccZcurlyveeZ curlywedgeÚcurrenZcurvearrowleftZcurvearrowrightZcuveeZcuwedZcwconintZcwintZcylctyÚDaggerÚdaggerZdalethZDarrÚdArrÚdarrZdashZDashvZdashvZdbkarowZdblacZDcaronZdcaronZDcyZdcyZDDÚddZddaggerZddarrZDDotrahdZddotseqÚdegÚDelÚDeltaÚdeltaZdemptyvZdfishtZDfrZdfrZdHarZdharlZdharrZDiacriticalAcuteZDiacriticalDotZDiacriticalDoubleAcuteZDiacriticalGraveZDiacriticalTildeZdiamZDiamondZdiamondZ diamondsuitÚdiamsÚdieZ DifferentialDZdigammaZdisinZdivÚdivideZ divideontimesZdivonxZDJcyZdjcyZdlcornZdlcropZdollarZDopfZdopfÚDotÚdotZdoteqZdoteqdotZDotEqualZdotminusZdotplusZ dotsquareZdoublebarwedgeZDoubleContourIntegralZ DoubleDotZDoubleDownArrowZDoubleLeftArrowZDoubleLeftRightArrowZ DoubleLeftTeeZDoubleLongLeftArrowZDoubleLongLeftRightArrowZDoubleLongRightArrowZDoubleRightArrowZDoubleRightTeeZ DoubleUpArrowZDoubleUpDownArrowZDoubleVerticalBarZ DownArrowZ DownarrowZ downarrowZ DownArrowBarZDownArrowUpArrowZdowndownarrowsZdownharpoonleftZdownharpoonrightZDownLeftRightVectorZDownLeftTeeVectorZDownLeftVectorZDownLeftVectorBarZDownRightTeeVectorZDownRightVectorZDownRightVectorBarZDownTeeZ DownTeeArrowZdrbkarowZdrcornZdrcropZDscrZdscrZDScyZdscyZdsolZDstrokZdstrokZdtdotZdtriZdtrifZduarrZduharZdwangleZDZcyZdzcyZdzigrarrÚEacuteÚeacuteZeasterZEcaronZecaronZecirÚEcircÚecircZecolonZEcyZecyZeDDotZEdotZeDotZedotÚeeZefDotZEfrZefrZegÚEgraveÚegraveZegsZegsdotÚelZElementZelintersZellZelsZelsdotZEmacrZemacrÚemptyZemptysetZEmptySmallSquareZemptyvZEmptyVerySmallSquareÚemspZemsp13Zemsp14ZENGZengÚenspZEogonZeogonZEopfZeopfZeparZeparslZeplusZepsiÚEpsilonÚepsilonZepsivZeqcircZeqcolonZeqsimZ eqslantgtrZ eqslantlessZEqualÚequalsZ EqualTildeZequestZ EquilibriumÚequivZequivDDZeqvparslZerarrZerDotZEscrZescrZesdotZEsimZesimÚEtaÚetaÚETHÚethÚEumlÚeumlÚeuroZexclÚexistZExistsZ expectationZ ExponentialEZ exponentialeZ fallingdotseqZFcyZfcyZfemaleZffiligZffligZfflligZFfrZffrZfiligZFilledSmallSquareZFilledVerySmallSquareZfjligZflatZflligZfltnsÚfnofZFopfZfopfZForAllÚforallÚforkZforkvZ FouriertrfZfpartintÚfrac12Zfrac13Úfrac14Zfrac15Zfrac16Zfrac18Zfrac23Zfrac25Úfrac34Zfrac35Zfrac38Zfrac45Zfrac56Zfrac58Zfrac78ÚfraslZfrownZFscrZfscrZgacuteÚGammaÚgammaZGammadZgammadr¸ZGbreveZgbreveZGcedilZGcircZgcircZGcyZgcyZGdotZgdotZgEÚgeZgElZgelZgeqZgeqqZgeqslantZgesZgesccZgesdotZgesdotoZgesdotolZgeslZgeslesZGfrZgfrZGgZggZgggZgimelZGJcyZgjcyÚglZglaZglEZgljZgnapZgnapproxZgnEZgneZgneqZgneqqZgnsimZGopfZgopfZgraveZ GreaterEqualZGreaterEqualLessZGreaterFullEqualZGreaterGreaterZ GreaterLessZGreaterSlantEqualZ GreaterTildeZGscrZgscrZgsimZgsimeZgsimlÚGTÚGtÚgtZgtccZgtcirZgtdotZgtlParZgtquestZ gtrapproxZgtrarrZgtrdotZ gtreqlessZ gtreqqlessZgtrlessZgtrsimZ gvertneqqZgvnEZHacekZhairspZhalfZhamiltZHARDcyZhardcyÚhArrÚharrZharrcirZharrwZHatZhbarZHcircZhcircÚheartsZ heartsuitÚhellipZherconZHfrZhfrZ HilbertSpaceZhksearowZhkswarowZhoarrZhomthtZ hookleftarrowZhookrightarrowZHopfZhopfZhorbarZHorizontalLineZHscrZhscrZhslashZHstrokZhstrokZ HumpDownHumpZ HumpEqualZhybullZhyphenÚIacuteÚiacuteZicÚIcircÚicircZIcyZicyZIdotZIEcyZiecyÚiexclZiffZIfrZifrÚIgraveÚigraveÚiiZiiiintZiiintZiinfinZiiotaZIJligZijligZImZImacrZimacrÚimageZ ImaginaryIZimaglineZimagpartZimathZimofZimpedZImpliesr'ZincareÚinfinZinfintieZinodotZIntrZintcalZintegersÚIntegralZintercalZ IntersectionZintlarhkZintprodZInvisibleCommaZInvisibleTimesZIOcyZiocyZIogonZiogonZIopfZiopfÚIotaÚiotaZiprodÚiquestZIscrZiscrÚisinZisindotZisinEZisinsZisinsvZisinvÚitZItildeZitildeZIukcyZiukcyÚIumlÚiumlZJcircZjcircZJcyZjcyZJfrZjfrZjmathZJopfZjopfZJscrZjscrZJsercyZjsercyZJukcyZjukcyÚKappaÚkappaZkappavZKcedilZkcedilZKcyZkcyZKfrZkfrZkgreenZKHcyZkhcyZKJcyZkjcyZKopfZkopfZKscrZkscrZlAarrZLacuteZlacuteZlaemptyvZlagranÚLambdaÚlambdaZLangÚlangZlangdZlangleZlapZ LaplacetrfÚlaquoZLarrÚlArrÚlarrZlarrbZlarrbfsZlarrfsZlarrhkZlarrlpZlarrplZlarrsimZlarrtlZlatZlAtailZlatailZlateZlatesZlBarrZlbarrZlbbrkZlbraceZlbrackZlbrkeZlbrksldZlbrksluZLcaronZlcaronZLcedilZlcedilÚlceilZlcubZLcyZlcyZldcaÚldquoZldquorZldrdharZldrusharZldshZlEÚleZLeftAngleBracketZ LeftArrowZ LeftarrowZ leftarrowZ LeftArrowBarZLeftArrowRightArrowZ leftarrowtailZ LeftCeilingZLeftDoubleBracketZLeftDownTeeVectorZLeftDownVectorZLeftDownVectorBarZ LeftFloorZleftharpoondownZ leftharpoonupZleftleftarrowsZLeftRightArrowZLeftrightarrowZleftrightarrowZleftrightarrowsZleftrightharpoonsZleftrightsquigarrowZLeftRightVectorZLeftTeeZ LeftTeeArrowZ LeftTeeVectorZleftthreetimesZ LeftTriangleZLeftTriangleBarZLeftTriangleEqualZLeftUpDownVectorZLeftUpTeeVectorZ LeftUpVectorZLeftUpVectorBarZ LeftVectorZ LeftVectorBarZlEgZlegZleqZleqqZleqslantZlesZlesccZlesdotZlesdotoZlesdotorZlesgZlesgesZ lessapproxZlessdotZ lesseqgtrZ lesseqqgtrZLessEqualGreaterZ LessFullEqualZ LessGreaterZlessgtrZLessLessZlesssimZLessSlantEqualZ LessTildeZlfishtÚlfloorZLfrZlfrZlgZlgEZlHarZlhardZlharuZlharulZlhblkZLJcyZljcyZLlZllZllarrZllcornerZ LleftarrowZllhardZlltriZLmidotZlmidotZlmoustZ lmoustacheZlnapZlnapproxZlnEZlneZlneqZlneqqZlnsimZloangZloarrZlobrkZ LongLeftArrowZ LongleftarrowZ longleftarrowZLongLeftRightArrowZLongleftrightarrowZlongleftrightarrowZ longmapstoZLongRightArrowZLongrightarrowZlongrightarrowZ looparrowleftZlooparrowrightZloparZLopfZlopfZloplusZlotimesÚlowastZlowbarZLowerLeftArrowZLowerRightArrowÚlozZlozengeZlozfÚlparZlparltZlrarrZlrcornerZlrharZlrhardÚlrmZlrtriÚlsaquoZLscrZlscrZLshZlshZlsimZlsimeZlsimgZlsqbÚlsquoZlsquorZLstrokZlstrokÚLTÚLtÚltZltccZltcirZltdotZlthreeZltimesZltlarrZltquestZltriZltrieZltrifZltrParZlurdsharZluruharZ lvertneqqZlvnEÚmacrZmaleZmaltZmalteseZMapÚmapZmapstoZ mapstodownZ mapstoleftZmapstoupÚmarkerZmcommaZMcyZmcyÚmdashZmDDotZ measuredangleZ MediumSpaceZ MellintrfZMfrZmfrZmhoÚmicroZmidZmidastZmidcirÚmiddotÚminusZminusbZminusdZminusduZ MinusPlusZmlcpZmldrZmnplusZmodelsZMopfZmopfÚmpZMscrZmscrZmstposÚMuÚmuZmultimapZmumapÚnablaZNacuteZnacuteZnangZnapZnapEZnapidZnaposZnapproxZnaturZnaturalZnaturalsÚnbspZnbumpZnbumpeZncapZNcaronZncaronZNcedilZncedilZncongZncongdotZncupZNcyZncyÚndashÚneZnearhkZneArrZnearrZnearrowZnedotZNegativeMediumSpaceZNegativeThickSpaceZNegativeThinSpaceZNegativeVeryThinSpaceZnequivZnesearZnesimZNestedGreaterGreaterZNestedLessLessZNewLineZnexistZnexistsZNfrZnfrZngEZngeZngeqZngeqqZ ngeqslantZngesZnGgZngsimZnGtZngtZngtrZnGtvZnhArrZnharrZnhparÚniZnisZnisdZnivZNJcyZnjcyZnlArrZnlarrZnldrZnlEZnleZ nLeftarrowZ nleftarrowZnLeftrightarrowZnleftrightarrowZnleqZnleqqZ nleqslantZnlesZnlessZnLlZnlsimZnLtZnltZnltriZnltrieZnLtvZnmidZNoBreakZNonBreakingSpaceZNopfZnopfÚNotÚnotZ NotCongruentZ NotCupCapZNotDoubleVerticalBarZ NotElementZNotEqualZ NotEqualTildeZ NotExistsZ NotGreaterZNotGreaterEqualZNotGreaterFullEqualZNotGreaterGreaterZNotGreaterLessZNotGreaterSlantEqualZNotGreaterTildeZNotHumpDownHumpZ NotHumpEqualÚnotinZnotindotZnotinEZnotinvaZnotinvbZnotinvcZNotLeftTriangleZNotLeftTriangleBarZNotLeftTriangleEqualZNotLessZ NotLessEqualZNotLessGreaterZ NotLessLessZNotLessSlantEqualZ NotLessTildeZNotNestedGreaterGreaterZNotNestedLessLessZnotniZnotnivaZnotnivbZnotnivcZ NotPrecedesZNotPrecedesEqualZNotPrecedesSlantEqualZNotReverseElementZNotRightTriangleZNotRightTriangleBarZNotRightTriangleEqualZNotSquareSubsetZNotSquareSubsetEqualZNotSquareSupersetZNotSquareSupersetEqualZ NotSubsetZNotSubsetEqualZ NotSucceedsZNotSucceedsEqualZNotSucceedsSlantEqualZNotSucceedsTildeZ NotSupersetZNotSupersetEqualZNotTildeZ NotTildeEqualZNotTildeFullEqualZ NotTildeTildeZNotVerticalBarZnparZ nparallelZnparslZnpartZnpolintZnprZnprcueZnpreZnprecZnpreceqZnrArrZnrarrZnrarrcZnrarrwZ nRightarrowZ nrightarrowZnrtriZnrtrieZnscZnsccueZnsceZNscrZnscrZ nshortmidZnshortparallelZnsimZnsimeZnsimeqZnsmidZnsparZnsqsubeZnsqsupeÚnsubZnsubEZnsubeZnsubsetZ nsubseteqZ nsubseteqqZnsuccZnsucceqZnsupZnsupEZnsupeZnsupsetZ nsupseteqZ nsupseteqqZntglÚNtildeÚntildeZntlgZ ntriangleleftZntrianglelefteqZntrianglerightZntrianglerighteqÚNuÚnuÚnumZnumeroZnumspZnvapZnVDashZnVdashZnvDashZnvdashZnvgeZnvgtZnvHarrZnvinfinZnvlArrZnvleZnvltZnvltrieZnvrArrZnvrtrieZnvsimZnwarhkZnwArrZnwarrZnwarrowZnwnearÚOacuteÚoacuteZoastZocirÚOcircÚocircZOcyZocyZodashZOdblacZodblacZodivZodotZodsoldÚOEligÚoeligZofcirZOfrZofrZogonÚOgraveÚograveZogtZohbarZohmZointZolarrZolcirZolcrossÚolineZoltZOmacrZomacrÚOmegaÚomegaÚOmicronÚomicronZomidZominusZOopfZoopfZoparZOpenCurlyDoubleQuoteZOpenCurlyQuoteZoperpÚoplusÚOrÚorZorarrÚordÚorderZorderofÚordfÚordmZorigofZororZorslopeZorvZoSZOscrZoscrÚOslashÚoslashZosolÚOtildeÚotildeZOtimesÚotimesZotimesasÚOumlÚoumlZovbarZOverBarZ OverBraceZ OverBracketZOverParenthesisÚparr�ÚparallelZparsimZparslÚpartZPartialDZPcyZpcyZpercntZperiodÚpermilÚperpZpertenkZPfrZpfrÚPhiÚphiZphivZphmmatZphoneÚPiÚpiZ pitchforkÚpivZplanckZplanckhZplankvZplusZplusacirZplusbZpluscirZplusdoZplusduZpluseZ PlusMinusÚplusmnZplussimZplustwoZpmZ PoincareplaneZpointintZPopfZpopfÚpoundZPrÚprZprapZprcueZprEÚpreZprecZ precapproxZ preccurlyeqZPrecedesZ PrecedesEqualZPrecedesSlantEqualZ PrecedesTildeZpreceqZ precnapproxZprecneqqZprecnsimZprecsimÚPrimeÚprimeZprimesZprnapZprnEZprnsimÚprodZProductZprofalarZproflineZprofsurfÚpropZ ProportionZ ProportionalZproptoZprsimZprurelZPscrZpscrÚPsiÚpsiZpuncspZQfrZqfrZqintZQopfZqopfZqprimeZQscrZqscrZ quaternionsZquatintZquestZquesteqÚQUOTÚquotZrAarrZraceZRacuteZracuteÚradicZraemptyvZRangÚrangZrangdÚrangeZrangleÚraquoZRarrÚrArrÚrarrZrarrapZrarrbZrarrbfsZrarrcZrarrfsZrarrhkZrarrlpZrarrplZrarrsimZRarrtlZrarrtlZrarrwZrAtailZratailZratioZ rationalsZRBarrZrBarrZrbarrZrbbrkZrbraceZrbrackZrbrkeZrbrksldZrbrksluZRcaronZrcaronZRcedilZrcedilÚrceilZrcubZRcyZrcyZrdcaZrdldharÚrdquoZrdquorZrdshZReÚrealZrealineZrealpartZrealsZrectÚREGÚregZReverseElementZReverseEquilibriumZReverseUpEquilibriumZrfishtÚrfloorZRfrZrfrZrHarZrhardZrharuZrharulÚRhoÚrhoZrhovZRightAngleBracketZ RightArrowZ RightarrowZ rightarrowZ RightArrowBarZRightArrowLeftArrowZrightarrowtailZ RightCeilingZRightDoubleBracketZRightDownTeeVectorZRightDownVectorZRightDownVectorBarZ RightFloorZrightharpoondownZrightharpoonupZrightleftarrowsZrightleftharpoonsZrightrightarrowsZrightsquigarrowZRightTeeZ RightTeeArrowZRightTeeVectorZrightthreetimesZ RightTriangleZRightTriangleBarZRightTriangleEqualZRightUpDownVectorZRightUpTeeVectorZ RightUpVectorZRightUpVectorBarZ RightVectorZRightVectorBarZringZ risingdotseqZrlarrZrlharÚrlmZrmoustZ rmoustacheZrnmidZroangZroarrZrobrkZroparZRopfZropfZroplusZrotimesZ RoundImpliesÚrparZrpargtZrppolintZrrarrZ RrightarrowÚrsaquoZRscrZrscrZRshZrshZrsqbÚrsquoZrsquorZrthreeZrtimesZrtriZrtrieZrtrifZrtriltriZ RuleDelayedZruluharÚrxZSacuteZsacuteÚsbquoZScZscZscapÚScaronÚscaronZsccueZscEZsceZScedilZscedilZScircZscircZscnapZscnEZscnsimZscpolintZscsimZScyZscyÚsdotZsdotbZsdoteZsearhkZseArrZsearrZsearrowÚsectÚsemiZseswarZsetminusZsetmnZsextZSfrZsfrZsfrownZsharpZSHCHcyZshchcyZSHcyZshcyZShortDownArrowZShortLeftArrowZshortmidZ shortparallelZShortRightArrowZ ShortUpArrowÚshyÚSigmaÚsigmaÚsigmafZsigmavÚsimZsimdotZsimeZsimeqZsimgZsimgEZsimlZsimlEZsimneZsimplusZsimrarrZslarrZ SmallCircleZ smallsetminusZsmashpZsmeparslZsmidZsmileZsmtZsmteZsmtesZSOFTcyZsoftcyZsolZsolbZsolbarZSopfZsopfÚspadesZ spadesuitZsparZsqcapZsqcapsZsqcupZsqcupsZSqrtZsqsubZsqsubeZsqsubsetZ sqsubseteqZsqsupZsqsupeZsqsupsetZ sqsupseteqZsquZSquareZsquareZSquareIntersectionZ SquareSubsetZSquareSubsetEqualZSquareSupersetZSquareSupersetEqualZ SquareUnionZsquarfZsqufZsrarrZSscrZsscrZssetmnZssmileZsstarfZStarZstarZstarfZstraightepsilonZ straightphiZstrnsÚSubreZsubdotZsubEÚsubeZsubedotZsubmultZsubnEZsubneZsubplusZsubrarrZSubsetZsubsetZsubseteqZ subseteqqZ SubsetEqualZ subsetneqZ subsetneqqZsubsimZsubsubZsubsupZsuccZ succapproxZ succcurlyeqZSucceedsZ SucceedsEqualZSucceedsSlantEqualZ SucceedsTildeZsucceqZ succnapproxZsuccneqqZsuccnsimZsuccsimZSuchThatZSumÚsumZsungZSupÚsupÚsup1Úsup2Úsup3ZsupdotZsupdsubZsupEÚsupeZsupedotZSupersetZ SupersetEqualZsuphsolZsuphsubZsuplarrZsupmultZsupnEZsupneZsupplusZSupsetZsupsetZsupseteqZ supseteqqZ supsetneqZ supsetneqqZsupsimZsupsubZsupsupZswarhkZswArrZswarrZswarrowZswnwarÚszligZTabr­ÚTauÚtauZtbrkZTcaronZtcaronZTcedilZtcedilZTcyZtcyZtelrecZTfrZtfrÚthere4Z ThereforeZ thereforeÚThetaÚthetaÚthetasymZthetavZ thickapproxZthicksimZ ThickSpaceÚthinspZ ThinSpaceZthkapZthksimÚTHORNÚthornZTildeÚtildeZ TildeEqualZTildeFullEqualZ TildeTildeÚtimesZtimesbZtimesbarZtimesdZtintZtoeargZtopbotZtopcirZTopfZtopfZtopforkZtosaZtprimeZTRADEÚtradeZtriangleZ triangledownZ triangleleftZtrianglelefteqZ triangleqZ trianglerightZtrianglerighteqZtridotZtrieZtriminusZtriplusZtrisbZtritimeZtrpeziumZTscrZtscrZTScyZtscyZTSHcyZtshcyZTstrokZtstrokZtwixtZtwoheadleftarrowZtwoheadrightarrowÚUacuteÚuacuteZUarrÚuArrÚuarrZUarrocirZUbrcyZubrcyZUbreveZubreveÚUcircÚucircZUcyZucyZudarrZUdblacZudblacZudharZufishtZUfrZufrÚUgraveÚugraveZuHarZuharlZuharrZuhblkZulcornZulcornerZulcropZultriZUmacrZumacrÚumlZUnderBarZ UnderBraceZ UnderBracketZUnderParenthesisÚUnionZ UnionPlusZUogonZuogonZUopfZuopfZUpArrowZUparrowZuparrowZ UpArrowBarZUpArrowDownArrowZ UpDownArrowZ UpdownarrowZ updownarrowZ UpEquilibriumZ upharpoonleftZupharpoonrightZuplusZUpperLeftArrowZUpperRightArrowZUpsiZupsiÚupsihÚUpsilonÚupsilonZUpTeeZ UpTeeArrowZ upuparrowsZurcornZurcornerZurcropZUringZuringZurtriZUscrZuscrZutdotZUtildeZutildeZutriZutrifZuuarrÚUumlÚuumlZuwangleZvangrtZ varepsilonZvarkappaZ varnothingZvarphiZvarpiZ varproptoZvArrZvarrZvarrhoZvarsigmaZ varsubsetneqZ varsubsetneqqZ varsupsetneqZ varsupsetneqqZvarthetaZvartriangleleftZvartrianglerightZVbarZvBarZvBarvZVcyZvcyZVDashZVdashZvDashZvdashZVdashlZVeeZveeZveebarZveeeqZvellipZVerbarZverbarZVertZvertZ VerticalBarZ VerticalLineZVerticalSeparatorZ VerticalTildeZ VeryThinSpaceZVfrZvfrZvltriZvnsubZvnsupZVopfZvopfZvpropZvrtriZVscrZvscrZvsubnEZvsubneZvsupnEZvsupneZVvdashZvzigzagZWcircZwcircZwedbarZWedgeZwedgeZwedgeqÚweierpZWfrZwfrZWopfZwopfZwpÚwrZwreathZWscrZwscrZxcapZxcircZxcupZxdtriZXfrZxfrZxhArrZxharrÚXiÚxiZxlArrZxlarrZxmapZxnisZxodotZXopfZxopfZxoplusZxotimeZxrArrZxrarrZXscrZxscrZxsqcupZxuplusZxutriZxveeZxwedgeÚYacuteÚyacuteZYAcyZyacyZYcircZycircZYcyZycyÚyenZYfrZyfrZYIcyZyicyZYopfZyopfZYscrZyscrZYUcyZyucyÚYumlÚyumlZZacuteZzacuteZZcaronZzcaronZZcyZzcyZZdotZzdotZzeetrfZZeroWidthSpaceÚZetaÚzetaZZfrZzfrZZHcyZzhcyZzigrarrZZopfZzopfZZscrZzscrÚzwjÚzwnjcCsg|]\}}|t|ƒf‘qSr#)Úchr)Ú.0r¿r?r#r#r$ú ¸ sroc@seZdZdZdS)rz¯class ParaFrag contains the intermediate representation of string segments as they are being parsed by the ParaParser. fontname, fontSize, rise, textColor, cbDefn N)rFrGrHrYr#r#r#r$r scCs¢ts�ddlm}ddl}|jtddƒƒ}xtddƒD] }d||<q4W|j|jddƒiax2|jƒD]&\}}|sxd}nt |ƒ}|tt |ƒ<qfWdj t tj |ƒƒS)Nr)Ú RL_Codecsé éÚsymbolúr[) Ú _greek2Utf8Zreportlab.pdfbase.rl_codecsrpÚcodecsÚmake_identity_dictrÚupdateZ_RL_Codecs__rl_codecs_datarÁrmÚjoinrÕÚ __getitem__)ÚdatarprvÚdmr¿r?Úur#r#r$Ú _greekConvertÉ s  r~c@s¤eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„ZeZeZd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Z d9d:„Z!d;d<„Z"d=d>„Z#d?d@„Z$dAdB„Z%dCdD„Z&dEdF„Z'dGdH„Z(dIdJ„Z)dKdL„Z*dMdN„Z+dOdP„Z,d™dRdS„Z-dTdU„Z.dVdW„Z/dXdY„Z0dZd[„Z1d\d]„Z2d^d_„Z3d`da„Z4dbdc„Z5ddde„Z6e5Z7dfdg„Z8e5Z9e2Z:e3Z;e4Ze7Z?e8Z@e9ZAdhdi„ZBdjdk„ZCdldm„ZDeDZEeCZFZGdndo„ZHeCZIdpdq„ZJeCZKdrds„ZLdtdu„ZMdvdw„ZNdšdzd{„ZOd|d}„ZPd~d„ZQd€d�„ZRd‚dƒ„ZSd„d…„ZTd†d‡„ZUdˆd‰„ZVdŠd‹„ZWdŒd�„ZXdŽd�„ZYd�d‘„ZZd’d“„Z[d”d•„Z\d–d—„Z]d˜S)›rcCsJ||jƒkr>|dkr>|j r>|jdƒs0|jdƒr>t||jƒƒSt|ƒ‚dS)zCThis way we can handle the same way as (ignoring case).Ú caseSensitiveÚstart_Úend_N)r4rÚ startswithrJÚAttributeError)r@ÚattrNamer#r#r$Ú __getattr__ szParaParser.__getattr__cCs|jddd�dS)NÚbr)Úbold)Ú_push)r@Ú attributesr#r#r$Ústart_b" szParaParser.start_bcCs|jdƒdS)Nr†)Ú_pop)r@r#r#r$Úend_b% szParaParser.end_bcCs|jddd�dS)NÚstrongr)r‡)rˆ)r@r‰r#r#r$Ú start_strong( szParaParser.start_strongcCs|jdƒdS)Nr�)r‹)r@r#r#r$Ú end_strong+ szParaParser.end_strongcCs|jddd�dS)Nr&r)Úitalic)rˆ)r@r‰r#r#r$Ústart_i/ szParaParser.start_icCs|jdƒdS)Nr&)r‹)r@r#r#r$Úend_i2 szParaParser.end_icCs|jddd�dS)NÚemr)r�)rˆ)r@r‰r#r#r$Ústart_em5 szParaParser.start_emcCs|jdƒdS)Nr“)r‹)r@r#r#r$Úend_em8 szParaParser.end_emc Cs–|jd}|j|j|t||d|j|ƒt||d|j|ƒt||d|j|ƒ|jtt||ddƒt||d|j |ƒfg|_|jd7_dS) NrZColorZWidthZOffsetZKindr_ZGapr7) r\Úus_linesÚnlinesrJÚ_defaultLineColorsÚ_defaultLineWidthsÚ_defaultLineOffsetsr¶Ú _lineRepeatsÚ_defaultLineGaps)r@r¿rNr#r#r$Ú _new_line; s zParaParser._new_linecCs&|j|tƒ}|jd|Ž|jdƒdS)Nr}rª)r})Ú getAttributesÚ _uAttrMaprˆr�)r@r‰ÚAr#r#r$Ústart_uJ s  zParaParser.start_ucCs|jdƒdS)Nr})r‹)r@r#r#r$Úend_uO szParaParser.end_ucCs.|j|tƒ}|jdddi|—Ž|jdƒdS)Nrºr)rº)ržÚ_strikeAttrMaprˆr�)r@r‰r r#r#r$Ú start_strikeS s zParaParser.start_strikecCs|jdƒdS)Nrº)r‹)r@r#r#r$Ú end_strikeX szParaParser.end_strikecCsp|j|tƒ}|jd|jƒ}|jdj|j|jddƒjƒfg|d<|jd7_|j|f|Ž|rl|j dƒdS)Nrªrr©r[r7) ržÚ _linkAttrMapÚpopÚ_defaultLinkUnderliner\r©Únlinksrbrˆr�)r@rSr‰r rªr#r#r$Ú _handle_link\ s  zParaParser._handle_linkcCs|jd|ƒdS)Nr©)rª)r@r‰r#r#r$Ú start_linkh szParaParser.start_linkcCs|jdƒjdkrtdƒ‚dS)Nr©z has no target or href)r‹r©r)r@r#r#r$Úend_linkk szParaParser.end_linkcCs„d|k}|rt|j|tƒ}|jddƒ}|jƒ}|s:|jdƒt|ƒdkr^|jdƒt|dd�}d|d<|jd |Žn |jd|ƒdS) Nr§z6 anchor variant requires non-blank namerz9 anchor variant only allows name attribute)r§r¦Ú_selfClosingTagÚa)r®) ržÚ_anchorAttrMapÚgetrbÚ _syntax_errorÚlenÚdictrˆrª)r@r‰r¦r r§r#r#r$Ústart_ap s     zParaParser.start_acCsŠ|jd}t|ddƒ}|rn|dko&|js0tdƒ‚tƒ}|_d|_|_|j|_|`|`|j dƒ|j dƒn|j dƒj dkr†tdƒ‚dS) Nrr­r[r¦zParser failure in r®z has no hrefr7) r\rJr§rrÚcbDefnÚlabelr¹r­Ú handle_datar‹r©)r@rNZsctÚdefnr#r#r$Úend_a€ s      zParaParser.end_acCs8|j|tƒ}|jdƒs |jdƒd|d<|jd|ŽdS)Nr®z needs src attributeÚimgr­)rº)ržÚ _imgAttrMapr°r±rˆ)r@r‰r r#r#r$Ú start_img� s    zParaParser.start_imgcCs¢|jd }t|ddƒstdƒ‚tƒ}|_d|_t|ddƒ|_t|jƒ|_|jj ƒ}t|d|dƒ|_ t|d |dƒ|_ t|d d ƒ|_ |` |jdƒ|jdƒdS) Nrr­r[zParser failure in rºr®r¯rr°r±rjr7)r\rJrrrµr¹r®rrµZgetSizer¯r°r±r­r·r‹)r@rNr¸rŸr#r#r$Úend_img— s      zParaParser.end_imgcCsb|j|tƒ}|jd|Ž|jd}|jt|d|jtƒ7_t|d|jtt d|jƒƒ|_dS)Nrfrrµr·gš™™™™™É?)rfr7) ržÚ _supAttrMaprˆr\r¶rQrMÚ supFractionrnÚ sizeDelta)r@r‰r rNr#r#r$Ú start_super¨ s    zParaParser.start_supercCs|jdƒdS)Nrf)r‹)r@r#r#r$Ú end_super° szParaParser.end_supercCsb|j|tƒ}|jd|Ž|jd}|jt|d|jtƒ8_t|d|jtt d|jƒƒ|_dS)Nrerrµr·gš™™™™™É?)rer7) ržr¾rˆr\r¶rQrMÚ subFractionrnrÀ)r@r‰r rNr#r#r$Ú start_sub· s    zParaParser.start_subcCs|jdƒdS)Nre)r‹)r@r#r#r$Úend_sub¾ szParaParser.end_subcCs|j|iƒ|jddd�dS)NÚnobrT)rÆ)ržrˆ)r@Úattrsr#r#r$Ú start_nobrÁ s zParaParser.start_nobrcCs|jdƒdS)NrÆ)r‹)r@r#r#r$Úend_nobrÅ szParaParser.end_nobrc Cs^y,|ddkr"t|dd…dƒ}nt|ƒ}Wntk rJ|j|ƒdSX|jt|ƒƒdS)Nrrqré)rrZunknown_charrefr·rm)r@r§rlr#r#r$Úhandle_charrefÊ s   zParaParser.handle_charrefcCs|j|ƒdS)N)r±)r@ÚlinenoÚmessager#r#r$Ú syntax_errorÕ szParaParser.syntax_errorcCsF|dd…dkr$|dd…dkr$dS|jr6td|ƒ‚|jj|ƒdS)Né z attribute éz value not quotedzparaparser: syntax error: %siïÿÿÿ)Ú _crashOnErrorrÚerrorsÚappend)r@rÍr#r#r$r±Ø s   zParaParser._syntax_errorcCs|jddd�dS)NÚgreekr)rÔ)rˆ)r@rOr#r#r$Ú start_greekÞ szParaParser.start_greekcCs|jdƒdS)NrÔ)r‹)r@r#r#r$Ú end_greeká szParaParser.end_greekc Csd|kr^d|kr|jdƒytj|dƒ}Wqêtk rZ|jdt|dƒƒd}YqêXnŒd|krÈy8|djƒ}|jdƒrŠt|dƒ}n t|dƒ}t|ƒ}Wqê|jd t|dƒƒd}YqêXn"d}|rê|jd t |j ƒƒdƒ|dk rü|j |ƒ|j d d d �dS) Nr§Úcodez5 invalid with both name and code attributesz& invalid name attribute "%s"rtÚ0xrÊrz$ invalid code attribute %sz invalid attribute %sÚunichar)r­) r±Ú unicodedataÚlookupÚKeyErrorÚasciir4r‚rrmr¼r½r·rˆ)r@rOr?r#r#r$Ú start_unicharä s0         zParaParser.start_unicharcCs|jdƒdS)NrÙ)r‹)r@r#r#r$Ú end_unichar szParaParser.end_unicharcCsB|j|tƒ}d|kr2t|dƒ\|d<|d<|d<|jd|ŽdS)Nr†r‡r�rœ)rœ)ržÚ _spanAttrMapr rˆ)r@rOr r#r#r$Ú start_font s zParaParser.start_fontcCs|jdƒdS)Nrœ)r‹)r@r#r#r$Úend_font szParaParser.end_fontcCsœ|j|tƒ}d|krf|j|jdƒƒ}i}x.djƒD]"}t|||ƒ}||krLq2|||<q2W|j|ƒ|}d|krŒt|dƒ\|d<|d<|d<|jd|ŽdS)Nr¨z%fontName fontSize textColor backColorr†r‡r�Úspan)rã) ržràÚ findSpanStyler§ÚsplitrJrxr rˆ)r@rOr r¨ÚDr¿r?r#r#r$Ú start_span s    zParaParser.start_spancCs|jdƒdS)Nrã)r‹)r@r#r#r$Úend_span szParaParser.end_spancCs|jddddd�dS)NÚbrTr[)r­Ú lineBreakÚtext)rˆ)r@rOr#r#r$Ústart_br szParaParser.start_brcCs>|jd}|jdko|js"tdƒ‚|`|jdƒ|jdƒdS)NrrézParser failure in
r[r7)r\r­rêrr·r‹)r@rNr#r#r$Úend_br" s   zParaParser.end_brrc Csf|j}|ikr0tj|ƒ}t||j||ƒƒ||_tƒ}d|_d|_g|_yf|r†t |j ƒ\|_ |_ |_ |j|_t|dƒr||jp€|j|_n&t |j ƒ\|_ |_ |_ |j|_|j|_Wntd|jƒYnXg|_d|_|_tt|ddƒt|ddƒd�|_tt|ddƒt|d dƒd�|_tt|d dƒt|d dƒd�|_tt|d dƒt|d dƒd�|_t|dtƒ|_|S)Nrr‹zerror with style name=%srŽr[r“)rªrºr�r”r‘r•r’r–Z linkUnderline) Ú_stylerrÚdeepcopyrÃržrr¶rÔr©r r‰r†r‡r�rŠrMrIr‹rŒrr§r–r©r—r³rJr™r˜ršrœrr¨)r@rOÚattrMaprdr¨rNr#r#r$Ú _initial_frag+ sF       zParaParser._initial_fragcCs|j|tƒ}d|_|g|_dS)Nr�)rñÚ _paraAttrMapÚ__tag__r\)r@rOrNr#r#r$Ú start_paraW s zParaParser.start_paracCs|jdƒdS)Nr�)r‹)r@r#r#r$Úend_para\ szParaParser.end_paracCsDt|dƒr|jdƒg|_|j|tdƒ}d|_d|_|jj|ƒdS)NÚ bFragListzonly one tag allowedrrd) rIr±rörñÚ_bulletAttrMapÚisBulletrór\rÓ)r@rOrNr#r#r$Ú start_bullet_ s  zParaParser.start_bulletcCs|jdƒdS)Nrd)r‹)r@r#r#r$Ú end_bulleth szParaParser.end_bulletc Cs6y |d}Wntk r$d}YnX|jj|ƒdS)NÚid)rÜÚ_seqZsetDefaultCounter)r@rOrPr#r#r$Ústart_seqdefaultl s   zParaParser.start_seqdefaultcCsdS)Nr#)r@r#r#r$Úend_seqdefaults szParaParser.end_seqdefaultcCsZy |d}Wntk r$d}YnXyt|dƒ}Wnd}YnX|jj||ƒdS)NrûÚbaser)rÜrrüÚreset)r@rOrûrÿr#r#r$Ústart_seqresetv s   zParaParser.start_seqresetcCsdS)Nr#)r@r#r#r$Ú end_seqreset� szParaParser.end_seqresetc Csly |d}Wntk r$d}YnX|jƒ}|j}x2t|dd…|dd…ƒD]\}}|j||ƒqPWdS)Nrýr[rr7)rÜrårüÚzipÚchain)r@rOrýÚseqÚpÚcr#r#r$Ústart_seqchain„ s  $zParaParser.start_seqchaincCs^y |d}Wntk r$d}YnXy |d}Wntk rJd}YnX|jj||ƒdS)NrûÚvaluer/)rÜrüZ setFormat)r@rOrûr r#r#r$Ústart_seqformat� s    zParaParser.start_seqformatcCs¬d|kr$|d}|j||jƒdSd|kr6|d}nd}|jddƒ}|sX|jj|ƒ}nF|jƒdkrr|jj|ƒ}n,t|ƒ}|jj|ƒ}|jj||jjƒ|ƒ|j|ƒdS)NÚtemplaterûÚincr3) r·rür°Znextfr4ZthisfrrZ_this)r@rOZtemplrûZ incrementÚoutputZincrr#r#r$Ú start_seq¦ s     zParaParser.start_seqcCsdS)Nr#)r@r#r#r$Úend_seq¿ szParaParser.end_seqcCs^tƒ}d|kr|d|_n |jdƒ|jddƒ|_d|_|jd|d�|jdƒ|jdƒdS)Nr§z( needs at least a name attributer¶ZonDrawZondraw)rµr[) rr§r±r°r¶r¹rˆr·r‹)r@rOr¸r#r#r$Ú start_ondraw s   zParaParser.start_ondrawc Csè|j|tƒ}tƒ}d|kr$|d}n |jdƒd|kr@|d}nt}|jddƒ}|dk rl|dkrltd |ƒ‚|jd dƒ}|dk r¦y t|ƒ}Wntd |ƒ‚YnXt|||fƒ|_ ||_ d |_ |j d |d�|j dƒ|jd ƒdS)Nr²z( needs at least an item attributer§r´Ú123ÚIr&ÚABCÚabcz3index tag format is %r not valid 123 I i ABC or abcr³z!index tag offset is %r not an intÚindex)rµr[)rrr&rr)ržÚ _indexAttrMaprr±ÚDEFAULT_INDEX_NAMEr°rrrr¶r§r¹rˆr·r‹)r@rOr¸r¶r§r´r³r#r#r$Ú start_indexÏ s.         zParaParser.start_indexcCsdS)Nr#)r@rOr#r#r$Ú start_unknownë szParaParser.start_unknowncKs0tj|jdƒ}||_t||ƒ|jj|ƒdS)Nrr7)rrr\rórÃrÓ)r@rSrOrNr#r#r$rˆð s zParaParser._pushcCs.|jjƒ}||jkr|Std||jfƒ‚dS)Nz0Parse error: saw instead of expected )r\r§rór)r@rSrNr#r#r$r‹ö s  zParaParser._popcCs”i}xŠ|jƒD]~\}}|js$|jƒ}||krn||}|d}|dk r`t|tƒrX|||ƒn||ƒ}|||d<q|jd|tt|jƒƒƒfƒqW|S)Nrrz$invalid attribute name %s attrMap=%r) rÁrr4rKrRr±r¼Úsortedr½)r@rOrðr r¿r?ÚjÚfuncr#r#r$ržû s"zParaParser.getAttributesrTcCs0tj|ftdd�Ž||_||_||_||_dS)NF)Úconvert_charrefs)rrTr³ÚverboserÚignoreUnknownTagsrÑ)r@rrrZ crashOnErrorr#r#r$rT s zParaParser.__init__cCsg|_t|dƒrt|dƒdS)Nrö)ÚfragListrIÚdelattr)r@r#r#r$Ú_iReset s zParaParser._iResetcCs"tj|ƒg|_||_|jƒdS)zreset the parserN)rrrÒrîr")r@r¨r#r#r$Ú_reset s zParaParser._resetcCs¼tj|jd ƒ}t|dƒr6|jj}|rp|jd|ƒn:t|dƒr\|dkrX|jd|jƒdS|jrpd|_t |ƒ}t |j|j |j ƒ|_||_ t|d ƒr¬t|d ƒ|jj|ƒn |jj|ƒdS) z:Creates an intermediate representation of string segments.rrµzOnly empty <%s> tag allowedr­r[zNo content allowed in %s tagNrsrør7)rrr\rIrµr¹r±r­rÔr†r~r r‡r�rër!rörÓr )r@r{rNr¹r#r#r$r·$ s$     zParaParser.handle_datacCs|j|ƒdS)N)r·)r@r{r#r#r$Ú handle_cdataF szParaParser.handle_cdatacCstjjjƒ|_|j|ƒdS)N)Ú reportlabÚlibZ sequencerZ getSequencerrür#)r@r¨r#r#r$Ú_setup_for_parseI szParaParser._setup_for_parsecCs†|jr4|jdt|jƒdjdd„t|jƒDƒƒfƒ|`|j}|`t|jƒdkrt|j}t |dƒrf|j phd}|j ƒnd}}|||fS)z3Reset after parsing, to be ready for next paragraphz%parse ended with %d unclosed tags %sz css|] }|jVqdS)N)ró)rnrqr#r#r$ú P sz-ParaParser._complete_parse..rröN) r\r±r²ryÚreversedrürîrÒr rIrör")r@r¨r rör#r#r$Ú_complete_parseM s. zParaParser._complete_parsecCs¬|d}y t|d|ƒ}t|d|ƒ}Wn2tk rZ|jsJtd|ƒ‚|j}|j}YnX||dphiƒ|d}|r¢|j}x"|D]}|t|tt fƒ|ƒq„W|ƒdS)z9Iterate through a pre-parsed tuple tree (e.g. from pyRXP)rr€r�zInvalid tag "%s"rrN) rJrƒrrrÚ end_unknownÚ _tt_handlersrKr¼rL)r@ÚttrSrxryÚCÚMrr#r#r$Ú _tt_handle] s    zParaParser._tt_handlecCs|j|jf|_|j|ƒdS)N)r·r0r,)r@r-r#r#r$Ú _tt_startz szParaParser._tt_startcCs|j|ƒ|j|ƒ|jƒS)zparse from tupletree form)r'r1r*)r@r-r¨r#r#r$Útt_parse~ s  zParaParser.tt_parsecCs tdƒ‚dS)Nz,findSpanStyle not implemented in this parser)r)r@r¨r#r#r$rä„ szParaParser.findSpanStylec Cst|j|ƒt|ƒ}t|ƒdko2|ddko2tj|ƒs@d|d}y|j|ƒWntdt|ƒƒYnX|jƒS)zattempt replacement for parseérr zzz# paragraph text %s caused exception) r'rr²Ú_re_parar)ÚfeedrrÝr*)r@rër¨r#r#r$Úparseˆ s " zParaParser.parsec CsŠt|tƒr,i}x|D]\}}|||<qW|}|js:|jƒ}yt|d|ƒ}Wn,tk rx|jsntd|ƒ‚|j}YnX||p‚iƒdS)z&Called by HTMLParser when a tag startsr€zInvalid tag "%s"N) rKr¼rr4rJrƒrrr)r@rSrÇÚdr¿r?rxr#r#r$Úhandle_starttag” s    zParaParser.handle_starttagc CsX|js|jƒ}yt|d|ƒ}Wn,tk rL|jsBtd|ƒ‚|j}YnX|ƒdS)z$Called by HTMLParser when a tag endsr�zInvalid tag "%s"N)rr4rJrƒrrr+)r@rSryr#r#r$Ú handle_endtag¨ s  zParaParser.handle_endtagc Cs0y t|}Wnd|}YnX|j|ƒdS)zHandles a named entity. z&%s;N)Úknown_entitiesr·)r@r§r?r#r#r$Úhandle_entityrefµ s  zParaParser.handle_entityrefN)r)rrrT)^rFrGrHr…rŠrŒrŽr�r‘r’r”r•r�r¡r¢r¤r¥rªr«r¬r´r¹r¼r½rÁrÂZ start_supZend_suprÄrÅrÈrÉrËrÎr±rÕrÖrÞrßrárârçrèrìrírñrôrõrùrúrýrþrrrZ end_seqchainr Z end_seqformatZstart_seqDefaultZend_seqDefaultZstart_seqResetZ end_seqResetZstart_seqChainZ end_seqChainZstart_seqFormatZ end_seqFormatrrrZ start_onDrawZ end_onDrawZ end_ondrawrZ end_indexrr+rˆr‹ržrTr"r#r·r$r'r*r0r1r2rär6r8r9r;r#r#r#r$r s´   ,       "  Ú__main__)ÚcleanBlockQuotedText)Ú _baseFontNamec CsÐtdƒt|ƒ}|j|tƒ\}}}|dkrDx tjD] }t|ƒq2Wnˆtd|j|j|jƒxr|D]j}t j j |j|j|j|j |j d|jdd…ƒt|dƒrÂtdt|jddƒt|jddƒ|jjƒq^tƒq^WdS) Nz ##########Z ParaStylez|%s|érµr§r[r¶)Úprintr=r6r¨Ú_parserrÒr†rMrŒÚsysÚstdoutÚwriter‡r¶rërIrJrµr¹)rërÚlÚrvZbvr#r#r$Ú check_textÁ s  . (rGé a aDβ Tell me, O muse, of that ingenious hero who travelled far and wide after he had sacked the famous town of Troy. Many cities did he visit, and many were the nations with whose manners and customs he was acquainted; moreover he suffered much by sea while trying to save his own life and bring his men safely home; but do what he might he could not save his men, for they perished through their own sheer folly in eating the cattle of the Sun-god Hyperion; so the god prevented them from ever reaching home. Tell me, too, about all these things, O daughter of Jove, from whatsoever source you1 may know them. z zeReportLab -- Reporting for the Internet Agea� τTell me, O muse, of that ingenious hero who travelled far and wide after he had sacked the famous town of Troy. Many cities did he visit, and many were the nations with whose manners and customs he was acquainted; moreover he suffered much by sea while trying to save his own life and bring his men safely home; but do what he might he could not save his men, for they perished through their own sheer folly in eating the cattle of the Sun-god Hyperion; so the god prevented them from ever reaching home. Tell me, too, about all these things, O daughter of Jove, from whatsoever source you may know them.af Telemachus took this speech as of good omen and rose at once, for he was bursting with what he had to say. He stood in the middle of the assembly and the good herald Pisenor brought him his staff. Then, turning to Aegyptius, "Sir," said he, "it is I, as you will shortly learn, who have convened you, for it is I who am the most aggrieved. I have not got wind of any host approaching about which I would warn you, nor is there any matter of public moment on which I would speak. My grieveance is purely personal, and turns on two great misfortunes which have fallen upon my house. The first of these is the loss of my excellent father, who was chief among all you here present, and was like a father to every one of you; the second is much more serious, and ere long will be the utter ruin of my estate. The sons of all the chief men among you are pestering my mother to marry them against her will. They are afraid to go to her father Icarius, asking him to choose the one he likes best, and to provide marriage gifts for his daughter, but day by day they keep hanging about my father's house, sacrificing our oxen, sheep, and fat goats for their banquets, and never giving so much as a thought to the quantity of wine they drink. No estate can stand such recklessness; we have now no Ulysses to ward off harm from our doors, and I cannot hold my own against them. I shall never all my days be as good a man as he was, still I would indeed defend myself if I had power to do so, for I cannot stand such treatment any longer; my house is being disgraced and ruined. Have respect, therefore, to your own consciences and to public opinion. Fear, too, the wrath of heaven, lest the gods should be displeased and turn upon you. I pray you by Jove and Themis, who is the beginning and the end of councils, [do not] hold back, my friends, and leave me singlehanded- unless it be that my brave father Ulysses did some wrong to the Achaeans which you would now avenge on me, by aiding and abetting these suitors. Moreover, if I am to be eaten out of house and home at all, I had rather you did the eating yourselves, for I could then take action against you to some purpose, and serve you with notices from house to house till I got paid in full, whereas now I have no remedy."aA But as the sun was rising from the fair sea into the firmament of heaven to shed light on mortals and immortals, they reached Pylos the city of Neleus. Now the people of Pylos were gathered on the sea shore to offer sacrifice of black bulls to Neptune lord of the Earthquake. There were nine guilds with five hundred men in each, and there were nine bulls to each guild. As they were eating the inward meats and burning the thigh bones [on the embers] in the name of Neptune, Telemachus and his crew arrived, furled their sails, brought their ship to anchor, and went ashore. zõ So the neighbours and kinsmen of Menelaus were feasting and making merry in his house. There was a bard also to sing to them and play his lyre, while two tumblers went about performing in the midst of them when the man struck up with his tune.]a7 "When we had passed the [Wandering] rocks, with Scylla and terrible Charybdis, we reached the noble island of the sun-god, where were the goodly cattle and sheep belonging to the sun Hyperion. While still at sea in my ship I could bear the cattle lowing as they came home to the yards, and the sheep bleating. Then I remembered what the blind Theban prophet Teiresias had told me, and how carefully Aeaean Circe had warned me to shun the island of the blessed sun-god. So being much troubled I said to the men, 'My men, I know you are hard pressed, but listen while I tell you the prophecy that Teiresias made me, and how carefully Aeaean Circe warned me to shun the island of the blessed sun-god, for it was here, she said, that our worst danger would lie. Head the ship, therefore, away from the island.zA<B>C&D"E'Fz$A< B> C& D" E' Fz&'"]]>zÑ+ There was a bard also to sing to them and play his lyre, while two tumblers went about performing in the midst of them when the man struck up with his tune.]z3A paragraphz@B paragraphzqHere comes Helvetica 14 with strong emphasis.zqHere comes Helvetica 14 with strong emphasis.zOHere comes Courier 3cm and normal again.z>Before the break
the middle line
and the last line.zMThis should be an inline image !z(aaa bbbb underline cccc)rr)rT)rF)r†N)r†N)r‰N)r�N)r—N)r‰N)r‰N)r†N)r†N)r†N)r†N)r¨N)r†N)r†N)r©N)r©N)r©N)r©N)r«N)r§N)r®N)r§N)r²N)r³N)r´N)r«N)r»N)dÚ__all__Ú __version__rYÚrerBrrrÚZreportlab.lib.sequencerr%Zreportlab.lib.abagrZreportlab.lib.utilsrrrrZreportlab.lib.colorsr r Zreportlab.lib.fontsr r Zreportlab.lib.enumsr rrrZreportlab.lib.unitsrrrrZreportlab.rl_configrZ html.parserrÚ html.entitiesrÚcompiler4rÀrÃr¿rr%r,r-r5r:rr9rQrRrZr³r›rcr`rmrrrwr{r€r…ròr÷Z _fontAttrMapràr¦r¯r»rr¾rŸr£rÀrÃZgreeksrÁr:r¿rrur~rrFZreportlab.platypusr=Zreportlab.lib.stylesr>rArGr¨r†rMrŒr‰rŠrërr#r#r#r$Ús<                                        A8   "