+
    Œvj÷ß ã            	       ó6  € RÄt RtRt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
HtHt ^ R	IHtHtHtHtHtHtHtHtHtHtHt ^ R
IHt ^ RIHtHtHtH t  ^ RI!H"t" ^ RI#H$t$ ^ RI%H&t&H't'H(t(H)t) ^ RI*H+t+ ^ RI,H-t-H.t. ^ RI/H0t0 ^ RI1H2t2 ^ RI3H4t4 ^ RI5H6t6H7t7H8t8H9t9 ^ RI:H;t;H<t<H=t= ^ RI>H?t? ^ RI@t@^ RIAHBtB  ^ RICtCRP‰                  RÅ4      tE]@PŒ                  ! R]@PŽ                  ! ]E4      ,          4      P�                  tI]@PŒ                  ! R]@PŽ                  ! ]E4      ,          4      P”                  tKRÆR ltLRÆR ltHR tMR tNR  tO ! R! R]44      tP ! R" R]44      tQR# tRRÇR$ ltSR% tTR& tURÈR' ltVRÈR( ltWRÈR) ltXRÈR* ltYRÈR+ ltZR, t[R- t\R. t]RÉt^RÊt_R/ t`RËR0 ltaRÈR1 ltbRÈR2 ltcRÈR3 ltdRÈR4 lteRÈR5 ltfR6 tg ! R7 R8]h4      ti ! R9 R:]h4      tj ! R; R<]h4      tk ! R= R>]k4      tl ! R? R@]l4      tm ! RA RB]k]i4      tn ! RC RD]n4      to ! RE RF]p4      tqRÆRG ltr ! RH RI]h4      ts ! RJ RK]s]m4      tt ! RL RM]s]n4      tuRN tv^ tw^tx^ty^tzRO t{RP t|RÆRQ lt}RR t~RS t]@PŒ                  ! RT]@EP                   4      t�RU t‚RV tƒRWt„RXt…RYt†]@PŒ                  ! RZ4      t‡]@PŒ                  ! R[4      tˆ]@PŒ                  ! RP‰                  R\]„R]34      4      t‰]@PŒ                  ! RP‰                  R\]†]„R]34      4      tŠ]@PŒ                  ! RP‰                  R^]†R_34      4      t‹R` tŒRa t�Rb tŽRc t�]93Rd lt� ! Re Rf]p4      t‘ ! Rg Rh]‘4      t’ ! Ri Rj]‘4      t“ ! Rk Rl]“4      t” ! Rm Rn]p4      t• ! Ro Rp]p4      t– ! Rq Rr]–]”4      t— ! Rs Rt]–]‘4      t˜ ! Ru Rv]h4      t]93Rw lt™RÌRx ltšRy t›Rz tœR{ t�R| tžR} tŸR~ t R t¡R€ t¢R� t£R‚ t¤]@PŒ                  ! Rƒ4      t¥R„ t¦R… t§R† t¨R‡ t© ! Rˆ R‰]p4      tªRŠ t«RÌR‹ lt¬RŒ t­RÆR� lt®RŽ t¯ ! R� R ]"4      t°]±R�8X  Ed   R‘ t²R’ t³R“ t´RÍR” ltµ^ R•I/H¶t¶H0t0 ^ R–I·H¸t¸ ^ RI¹t¹]¹EPt                  R—,          t»]». 8X  d   R˜.t»]»3R™ lt¼]¶! 4       t½]½Rš,          t¾]0! R›]¾Rœ7      t¿R�]¿nÀ        ]¼! ^4      '       do   RžtÁ]°! ]Á]¿4      tÂ]´! ]Â4       RŸR utÃtÄ]ÂEP‹                  ]Ã]Ä4      w  tÆtÇ]²! ]Â4       ]ÂP‘                  ]Ã]Ä4      tÈ]È F   tÉ]ÉEP‹                  ]Ã]Ä4       ]²! ]É4       R¡tÄK"  	  ]¼! ^4      '       d7   ]°! R¢]½R£,          4      tÂ]´! ]Â4       ]ÂEP‹                  ^^È4      w  tÆtÇ]²! ]Â4       ]¼! ^4      '       d9   R¤tÁ]°! ]Á]½R¥,          4      tÂ]´! ]Â4       ]ÂEP‹                  RÎRÏ4      w  tÆtÇ]²! ]Â4       ]¼! ^4      '       d—   R¦tÁR§tÃR¨tÄ]°! ]Á]¾4      tÂ]´! ]Â4       ]ÂEP‹                  ]Ã]Ä4      w  tÆtÇ]Ê! R©]Æ]Ç4       ]²! ]Â4       ]ÂP‘                  ]Ã]Ä4      tÈ]´! ]È^ ,          4       ]È^ ,          EP‹                  ]Ã]Ä4      w  tËtÌ]Ê! Rª]Ë]Ì4       ]²! ]È^ ,          4       ]¼! ^4      '       dN   R«]Í! ^£4      : R¬]Í! ^£4      : R­2tÁ]°! ]Á]½R¥,          4      tÂ]´! ]Â4       ]ÂEP‹                  RÎRÏ4      w  tÆtÇ]²! ]Â4       ]¼! ^4      '       dB   RÐ F;  tÁ]°! ]Á]½R£,          ^ R®7      tÂ]´! ]Â4       ]ÂEP‹                  RÎRÏ4      w  tÆtÇ]²! ]Â4       K=  	  ]¼! ^4      '       d9   R¯tÁ]°! ]Á]½R¥,          4      tÂ]´! ]Â4       ]ÂEP‹                  RÎRÏ4      w  tÆtÇ]²! ]Â4       ]¼! ^4      '       d¶   R°tÁ]°! ]Á]½R£,          4      tÂ]´! ]Â4       ]ÂEP‹                  RÎRÏ4      w  tÆtÇ]²! ]Â4       ]ÂP‘                  RÎ]ÇR±,          4      tÈ]Ê! ]Î! ]È4      4       ]´! ]È^ ,          4       ]²! ]È^ ,          4       ]È^,          EP‹                  RÎRÏ4       ]´! ]È^,          4       ]²! ]È^,          4       ]¼! ^	4      '       dP   R²tÁ]°! ]Á]0! R³]½R£,          ])R´7      4      tÂ]´! ]Â4       ]ÂEP‹                  ^]¸,          ^,
          RÏ4      w  tÆtÇ]²! ]Â4       ]¼! ^
4      '       dP   RµtÁ]°! ]Á]0! R³]½R£,          ])R´7      4      tÂ]´! ]Â4       ]ÂEP‹                  ^]¸,          ^,
          RÏ4      w  tÆtÇ]²! ]Â4       ]¼! ^4      '       d<   R¶tÁ]°! ]Á]0! R·R¸^
R¹7      Rº7      tÂ]´! ]Â4       ]ÂEP‹                  RÑR»4      w  tÆtÇ]²! ]Â4       ]¼! ^4      '       dJ   ^ R¼IHÏtÏ ^ R½I	HÐtÐ ]Ð! ]Ï! R¾R¿4      4       ]Ð! ]Ï! RÀRÁ4      4       RÂtÁ]°! ]Á]0! RÃR¾^
R¹7      Rº7      tÂ]´! ]Â4       R# R# R#    RtC ELf; i)ÒÚ	ParagraphÚ	ParaLinesÚFragLinez3.5.20z%The standard paragraph implementation)Ú
whitespace)Útruth)Úcategory)ÚstringWidthÚgetAscentDescentÚgetFont)Ú
rtlSupportÚbidiTextÚbidiWordListÚ	isBidiStrÚbidiStrWrapÚ
isBidiListÚBidiListÚbidiListWrapÚ	BidiIndexÚbidiFragWordÚinnerBidiStrWrap)ÚshapeFragWord)Ú
ParaParserÚ_PCTÚ_numÚ_re_us_value)ÚFlowable)ÚColor)ÚTA_LEFTÚTA_RIGHTÚ	TA_CENTERÚ
TA_JUSTIFY)ÚnormalizeTRBL)Ú	wordSplitÚALL_CANNOT_START)ÚParagraphStyle)Údeepcopy)ÚABag)ÚdecimalSymbolÚ_FUZZÚparaFontSizeHeightOffsetÚhyphenationMinWordLength)Ú
_classNameÚisBytesÚisStr)ÚsameFragN)Ú
MethodTypeÚ z[%s]+z[%s]+$c                ó.  € \        V 4      '       d„   V P                  4       p V '       db   \        P                  ! V 4      pV'       d7   \	        VP                  ^4      4      WP                  ^4      ,          ,          # \        V RR7      # V'       d   V# V # )z/convert a strike/underline distance to a numberF)ÚallowRelative)r-   Ústripr   ÚmatchÚfloatÚgroupÚ_parser_num)ÚsÚvMapÚdefaultÚms   &&& Ú`/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/reportlab/platypus/paragraph.pyÚ_usConvr=   O   si   € äˆQ‡x‚xØ�G‰G‹IˆßÜ×"Ò" 1Ó%ˆAßÜ˜QŸW™W Q›ZÓ(¨¯g©g°a«jÕ)9Õ9Ð9ä" 1°5Ô9Ð9ßØˆNØ€Hó    c                 ó  € \        V 4      '       d   V P                  R 4      p Ve#   \        V4      '       d   VP                  R 4      pVf   RV 9   d   \        V 4      MV P                  V4       Uu. uF  q"NK  	  up# u upi )Úutf8ô   Â )r,   ÚdecodeÚ_wsc_re_splitÚsplit)ÚtextÚdelimÚuwords   && r<   rD   rD   ]   so   € Üˆt‡}‚}˜TŸ[™[¨Ó0�dØÒœW UŸ^š^°U·\±\À&Ó5I¨UØ7<²}ÈÐSWÌ¤¨dÔ 3Ð]a×]gÑ]gÐhmÓ]nÐ nÓpÑ n�eŠEÑ nÑpÐpùÒps   Á2
A?c                 óp   € \        V 4      '       d   V P                  R 4      p V P                  \        4      # ©r@   )r,   rB   r3   Ú_wsc©rE   s   &r<   r3   r3   b   s'   € Üˆt‡}‚}˜TŸ[™[¨Ó0�dØ�:‰:”dÓÐr>   c                 óp   € \        V 4      '       d   V P                  R 4      p V P                  \        4      # rI   )r,   rB   ÚlstriprJ   rK   s   &r<   rM   rM   f   ó'   € Üˆt‡}‚}˜TŸ[™[¨Ó0�dØ�;‰;”tÓÐr>   c                 óp   € \        V 4      '       d   V P                  R 4      p V P                  \        4      # rI   )r,   rB   ÚrstriprJ   rK   s   &r<   rP   rP   j   rN   r>   c                   ó   € ] tR t^ntRtRtR# )r   a  
class ParaLines contains the broken into lines representation of Paragraphs
    kind=0  Simple
    fontName, fontSize, textColor apply to whole Paragraph
    lines   [(extraSpace1,words1),....,(extraspaceN,wordsN)]

    kind==1 Complex
    lines   [FragLine1,...,FragLineN]
© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__rR   r>   r<   r   r   n   ó   † õr>   c                   ó   € ] tR t^ytRtRtR# )r   a„  
class FragLine contains a styled line (ie a line with more than one style)::

    extraSpace  unused space for justification only
    wordCount   1+spaces in line for justification purposes
    words       [ParaFrags] style text lumps to be concatenated together
    fontSize    maximum fontSize seen on the line; not used at present,
                but could be used for line spacing.
rR   NrS   rR   r>   r<   r   r   y   rZ   r>   c                 óv   € R P                  \        \        \        \	        \        V 4      4      4      4      4      # ©Ú )ÚjoinÚlistÚfilterr   rD   r3   ©ÚLs   &r<   Ú
_lineCleanrd   „   s%   € Ø�8‰8”Dœ¤¤e¬E°!«H£oÓ6Ó7Ó8Ð8r>   c                ó˜   € \        \        \        \        \        \        \        V R4      4      4      4      4      pVP                  V4      # )z˜This is an internal utility which takes triple-
quoted text form within the document and returns
(hopefully) the paragraph the user intended originally.Ú
)r`   ra   r   Úmaprd   rD   r_   )rE   Újoinerrc   s   && r<   ÚcleanBlockQuotedTextri   ‡   s6   € ô Œ6”%œœS¤¬U°4¸Ó->Ó?Ó@ÓAÓB€AØ�;‰;�q‹>Ðr>   c                 óH   € VR 8”  g   VR8  d   V P                  V4       R# R# )g�íµ ÷Æ°>Ng�íµ ÷Æ°¾)ÚsetXPos)ÚtxÚdxs   &&r<   rk   rk   Ž   s   € Ø	ˆ$„w�"�U”(Ø
�
‰
�2Žñ r>   c                 óh   € \        V 4      '       d   V P                  R 4      # V P                  R4      # )s   Â rA   )r,   Úcount)Úws   &r<   Ú
_nbspCountrq   ’   s(   € Üˆq‡z‚zØ�w‰w�{Ó#Ð#à�w‰w�v‹Ðr>   c                 ó¦  € VR8„  ;'       g    \        V RR4      pRP                  V4      p\        W4       V'       g(   \        V4      \	        V4      ,           ^,
          pV^ 8*  pV'       d   V P                  V^4       MDV P                  V\        X4      ,          4       V P                  V^4       V P                  ^ 4       \        W) 4       V# ©ç:Œ0âŽyE>ÚpreformattedFr^   ç:Œ0âŽyE¾)Úgetattrr_   rk   Úlenrq   Ú_textOutÚsetWordSpacer5   )rl   ÚoffsetÚ
extraspaceÚwordsÚlastÚsimplerE   ÚnSpacess   &&&&&   r<   Ú_leftDrawParaLiner�   ˜   s¥   € Ø˜Ñ×AÐA¤¨¨N¸5Ó!A€FØ�8‰8�E‹?€DÜˆBÔßÜ�e“*œZ¨Ó-Õ-¨aÕ/ˆØ˜!‘ˆßØ
�‰�D˜Õà
�‰˜
¤U¨7£^Õ3Ô4Ø
�‰�D˜ÔØ
�‰˜ÔÜˆBˆwÔØ€Mr>   c                 óà  € VR8„  ;'       g    \        V RR4      pRP                  V4      pV'       g(   \        V4      \        V4      ,           ^,
          pV^ 8*  pV'       d/   VRV,          ,           p\	        W4       V P                  V^4       MQTpV P                  V\        X4      ,          4       \	        W4       V P                  V^4       V P                  ^ 4       \	        W) 4       V# )rt   ru   Fr^   ç      à?rv   ©rw   r_   rx   rq   rk   ry   rz   r5   ©	rl   r{   r|   r}   r~   r   rE   r€   r;   s	   &&&&&    r<   Ú_centerDrawParaLiner†   ¨   s¾   € Ø˜Ñ×AÐA¤¨¨N¸5Ó!A€FØ�8‰8�E‹?€DßÜ�e“*œZ¨Ó-Õ-¨aÕ/ˆØ˜!‘ˆßØ�S˜:Õ%Õ%ˆÜ�ŒØ
�‰�D˜ÕàˆØ
�‰˜
¤U¨7£^Õ3Ô4Ü�ŒØ
�‰�D˜ÔØ
�‰˜ÔÜˆBˆr„NØ€Hr>   c                 óî  € VR8„  ;'       g    \        V RR4      pRP                  V4      pV'       g(   \        V4      \        V4      ,           ^,
          pV^ 8*  pV'       d6   W,           p\	        W4       V P                  RP                  V4      ^4       MQTpV P                  V\        X4      ,          4       \	        W4       V P                  V^4       V P                  ^ 4       \	        W) 4       V# rs   r„   r…   s	   &&&&&    r<   Ú_rightDrawParaLinerˆ   »   s¿   € Ø˜Ñ×AÐA¤¨¨N¸5Ó!A€FØ�8‰8�E‹?€DßÜ�e“*œZ¨Ó-Õ-¨aÕ/ˆØ˜!‘ˆßØÕˆÜ�ŒØ
�‰�C—H‘H˜U“O AÕ&àˆØ
�‰˜
¤U¨7£^Õ3Ô4Ü�ŒØ
�‰�D˜ÔØ
�‰˜ÔÜˆBˆr„NØ€Hr>   c                 óö  € \        W4       R P                  V4      p\        V RR4      ;'       g.    RTu;8  ;'       d    R8*  Mu ;'       g    T;'       d    VR8„  pV'       g(   \        V4      \	        V4      ,           ^,
          pV^ 8*  pV'       d   V P                  V^4       MDV P                  V\        X4      ,          4       V P                  V^4       V P                  ^ 4       \        W) 4       V# )r^   ru   Frt   rv   )rk   r_   rw   rx   rq   ry   rz   r5   )rl   r{   r|   r}   r~   rE   r   r€   s   &&&&&   r<   Ú_justifyDrawParaLinerŠ   Î   sÄ   € ÜˆBÔØ�H‰H�U‹O€DÜ�b˜¨Ó.×iÐi°5¸×3IÔ3IÀTÔ3I×iÐiÈt×OhÐOhÐXbÐchÑXh€FßÜ�e“*œZ¨Ó-Õ-¨aÕ/ˆØ˜!‘ˆßà
�‰�D˜Õà
�‰˜
¤U¨7£^Õ3Ô4Ø
�‰�D˜ÔØ
�‰˜ÔÜˆBˆwÔØ€Mr>   c                 ó:   € V'       d   \         M\        ! WW#V4      # ©N)rˆ   rŠ   )rl   r{   r|   r}   r~   s   &&&&&r<   Ú_justifyDrawParaLineRTLr�   ß   s   € ß"&ÕÔ,@Ð@À"ÈjÐaeÓfÐfr>   c                óV  € VR8X  d   ^ pM–VR9   d
   W ,
          pM†VR8X  d    VRV,          V ,           R,          ,
          pM`VR	9   d   VRV,          ,
          pMHVR8X  d   RV,          pM7VR8X  d   R
V,          pM&\        VR4      '       d   VP                  V4      pMTpW3V ,           3# )z1return bottom,top offsets relative to baseline(0)ÚbaselineÚmiddleç333333ó?rƒ   ÚsuperÚsubÚnormalizedValue)ztext-topÚtop)ztext-bottomÚbottomg      à¿©Úhasattrr”   )ÚhÚvaÚfontSizeÚiyos   &&& r<   Ú	imgVRanger�   â   s¢   € à	ˆ:„~Ø‰Ø	Ð!Ô	!Ø�j‰Ø	ˆXŒØ˜#˜h�, q�.¨#Õ-Õ-‰Ø	Ð'Ô	'Ø˜˜X�Õ%‰Ø	ˆWŒØ�(�l‰Ø	ˆUŒØ�8�m‰Ü	�Ð%×	&Ò	&Ø× Ñ  Ó*‰àˆØ�1�uˆ9Ðr>   c                 óL   € \        V R 4      '       d   V P                  V4      # V # )r”   r—   )ÚvÚnvs   &&r<   ÚimgNormVr¡   ö   s&   € ÜˆqÐ"×#Ò#Ø× Ñ  Ó$Ð$àˆr>   c                 óœ  € V P                   p\        V4      '       d6   TpV P                  pV P                  pV P                  pV P
                  p^ pMv\        VRR4      p\        VRV P                  4      p\        VRV P                  4      p\        VRV P                  4      p\        VRV P
                  4      p\        VR^ 4      pW#WEWg3# )é    rE   Ú.ÚfontNamer›   Ú	textColorÚ	backColorÚdy)ÚendDotsr-   r¥   r›   r¦   r§   rw   )ÚstyleÚdotsrE   r¥   r›   r¦   r§   r¨   s   &       r<   Ú_getDotsInfor¬   ü   s³   € Ø�=‰=€DÜˆT‡{‚{ØˆØ—>‘>ˆØ—>‘>ˆØ—O‘Oˆ	Ø—O‘Oˆ	Ø‰ä�t˜F 3Ó'ˆÜ˜4 
¨5¯>©>Ó:ˆÜ˜4 
¨5¯>©>Ó:ˆÜ˜D ¨U¯_©_Ó=ˆ	Ü˜D ¨U¯_©_Ó=ˆ	Ü�T˜$˜qÓ!ˆØ˜¨IÐ8Ð8r>   c           
      óÆ  € \        VR R 4      pVP                  pVP                  pVP                  pVP                  p	VP
                  p
VP                  pWP                  ,          p V
R9   pV'       dm   V
R8X  dE   \        \        V,          VP                  4      p\        \        V,          VP                  ) 4      pMVP                  pVP                  ) pWÞ,           pVP                  V8w  d   VP                  V4       V'       dˆ   VP                  pVed   VX,
          pVP                   V8w  d   W‹VP                   ,
          ,          p\#        VV,
          4      R8”  d   TpVP%                  W˜4       W‡n        VX,
          Vn        W±n        \        VR^ 4      p^ pVP&                  p. p. pVP(                  pVP*                  p\-        V4       EFœ  w  pp\/        VR4      '       Ed:   VP0                  pVP2                  pVR8X  dé   VP4                  pVf   VP6                  P8                  p\;        VP<                  VP>                  4      p\;        VP@                  V4      p\C        VVPD                  V4      w  pp V VV,          ,           p!VPF                  PI                  VPJ                  V!VV,           VVRR	7       V V,          p V!V,          p!\M        VV!VP                  ,
          4       MÁVPN                  p"VR
8X  d%   VPF                  PQ                  V"WV,           4       MŠVPF                  PS                  V"4      p#V#'       g   \U        RV: RV": R24      h\W        WW‹VP                  R7      VPF                  n,         V#! VPF                  V\        VRR4      4       VPF                  =,VVR,          J db   VPZ                  '       g;   VP]                  VP6                  P^                  VP6                  P8                  4       VPa                  R^4       EKP  EKS  V VV,          ,           p!T!p$VP8                  p%VPb                  p&VPd                  p'V^ 8”  d6   T!V'       d   ^ M#\g        VV^,
          ,          Ph                  V4      ,
          p$VPZ                  VP4                  3VP^                  V%38w  d   VPk                  VP^                  V%4       VPb                  V&8w  d   V&Vn1        VPm                  V&4       VPd                  V'8w  d   V'Vn2        VPo                  V'4       VVP(                  8w  dJ   \q        V4      p(\q        VP(                  4      p)V)V(,
          p*V(V),
          p+V+ F  p,VV,,          V$3VV,&   K  	  VVPr                  8w  dS   \q        V4      p(\q        VPr                  4      p)V)V(,
          p-V(V),
          p.V. F  p,VV,,          V$3VV,&   V! V,R4       K  	  VPh                  p/VPa                  V/VVR,          J 4       VVP(                  8w  d!   X* F  p,V,V%V&V!3V%3VV,&   K  	  VP(                  pV'       d&   V F  p,VV,,          w  p0p1V%V18”  g   K  V0V%3VV,&   K!  	  V'RV%,          ,
          p2V'V%,           p3VVPr                  8w  d)   X- F  p,V,V 3V2V33VV,&   V! V,R4       K  	  VPr                  pV'       dC   V F<  p,VV,,          w  p0p4p5V2V48  g
   V3V58”  g   K   V0\u        V2V44      \        V3V54      3VV,&   K>  	  \        VRR4      p6V6'       d"   VPv                  '       g   V6Vn;        V!Vn<        MÊVPv                  '       d¹   V6'       g;   VPz                  P}                  VPx                  V$VPv                  34       RVn;        MvVPv                  VPv                  8w  g   VPb                  VPv                  8w  dA   VPz                  P}                  VPx                  V$VPv                  34       V6Vn;        V!Vn<        VPF                  P                  V/VPZ                  VP4                  4      p7V V7,          p VV/P�                  R4      \ƒ        V/4      ,           ,          pEKŸ  	  V V^,
          V,          ,           p!V'       d‚   VP6                  P„                  '       df   VP6                  P†                  R8w  d!   VR8w  d   \‰        V V!VPŠ                  Wq4       M*VR8w  d$   VPŒ                  p8\‰        V8V8V	V8,
          WqRR7       V'       d   V F  p,VV,,          V!3VV,&   K  	  V'       d!   V F  p,VV,,          V!3VV,&   V! V,R4       K  	  VPv                  '       d3   VPz                  P}                  VPx                  V!VPv                  34       VP                  V	8w  d   \M        WVP                  ,
          4       R# R#   TPF                  =,i ; i)Ú_linkRecordc                  ó   € R # rŒ   rR   )ÚargsÚkwdss   *,r<   Ú<lambda>Ú_putFragLine.<locals>.<lambda>  s   € Ár>   ÚmaxNrt   Ú
_wordSpaceÚcbDefnÚimgÚauto)ÚmaskÚanchorzMissing z callback attribute 'Ú')rl   Úcur_xÚcur_yÚleadingÚxsÚlabelr0   Úendgš™™™™™É?Ústartr§   r^   ÚRTLÚrightÚleftF)rÅ   )Úminr´   éÿÿÿÿ)Grw   ru   Ú	XtraStater½   Ú_x0ÚautoLeadingr¾   Ú
leftIndentr´   Ú_56ÚascentÚ_16ÚdescentÚ_leadingÚ
setLeadingÚ_olbÚ	_oleadingÚabsÚsetTextOriginr}   Úus_linesÚlinksÚ	enumerater˜   r¶   ÚkindÚ	_fontsizerª   r›   r¡   ÚwidthÚ	paraWidthÚheightr�   ÚvalignÚ_canvasÚ	drawImageÚimagerk   ÚnameÚbookmarkHorizontalÚ
getNamedCBÚAttributeErrorÚdictÚ_curr_tx_infoÚ	_fontnameÚsetFontr¥   ry   r¦   ÚriseÚ_trailingSpaceLengthrE   Ú_setFontÚsetFillColorÚsetRiseÚsetÚlinkrÆ   r§   ÚbackColor_xÚ
backColorsÚappendr   ro   rq   r©   ÚwordWrapÚ_do_dots_fragÚmaxWidthÚ	_x_offset)9r¼   rl   Úliner~   ÚpKindÚ
linkRecordru   r¿   r½   Úx0rÊ   r¾   ÚdalrÍ   rÏ   ÚolbÚxcyÚwsr€   r}   ÚALÚLLrÖ   r×   ÚiÚfr¶   rÙ   Útxfsrp   r™   Úiy0Úiy1Úcur_x_srâ   ÚfuncÚend_xr›   r¦   rê   ÚSÚNSÚnLLÚeLLÚlÚnALÚeALrE   Úl0ÚfsmaxÚnloÚnhiÚloÚhiÚbgÚtxtlenrÂ   s9   &&&&&                                                    r<   Ú_putFragLiner    s×  € Ü˜˜MÑ*DÓE€JØ—?‘?€LØ	�‰€BØ�H‰H€EØ	�‰€BØ—.‘.€KØ�j‰j€GØ	�]‰]Õ€EØ
˜Ñ
&€Cß
Ø˜ÔÜœ˜W� T§[¡[Ó1ˆFÜœ#˜g�+ t§|¡| mÓ4‰Gà—[‘[ˆFØ—|‘|�mˆGØ•.ˆØ	‡{�{�GÔØ
�‰�gÔß
Ø�g‰gˆØŠ?Ø�f•*ˆCØ�|‰|˜WÔ$Ø 2§<¡<Õ/Õ/�Ü�3�u•9‹~˜dÔ"Ø�Ø× Ñ  Ô*Ø ”Ø˜'•/ˆŒØŒÜ	��L Ó	#€BØ€GØ�J‰J€EØ	€BØ	€BØ�{‰{€HØ�H‰H€EÜ˜%× ‰ˆˆ1Ü�1�X×ÓØ—X‘XˆFØ—;‘;ˆDØ�UŒ{à—|‘|�Ø’<ØŸ8™8×,Ñ,�DÜ˜VŸ\™\¨"¯,©,Ó7�Ü˜VŸ]™]¨4Ó0�Ü# A f§m¡m°DÓ9‘��CØ '¨"¥*Õ,�Ø—
‘
×$Ñ$ V§\¡\°'¸%À½)ÀAÀaÈVÐ$ÔTØ˜•
�Ø˜1•�Ü˜˜7 2§6¡6�>Õ*à—{‘{�Ø˜”>Ø—J‘J×1Ñ1°$°uÀ7½]ÕKàŸ:™:×0Ñ0°Ó6�DßÝ,ÓUYÓZ^Ð-_Ó`Ð`ô .2°RÈ%Ðce×coÑcoÔ-p�B—J‘JÔ,ð5Ù˜RŸZ™Z¨¬W°V¸GÀDÓ-IÔJàŸJ™JÐ4Ø�E˜"•I‹~Ø—|—|�|Ø—J‘J˜rŸx™x×0Ñ0°·±×1BÑ1BÔCØ—‘˜B˜q×!ò ð
 ˜g b�jÕ(ˆGØˆEØ—z‘zˆHØŸ™ˆIØ—6‘6ˆDØ�1ŒuØ¯¡1Ô:NÈuÐUVÐWXÕUXÍzÏÉÐ`bÓ:cÕd�Ø—‘˜RŸ\™\Ð*¨Q¯Z©Z¸Ð,AÔAØ—‘˜AŸJ™J¨Ô1Ø�|‰|˜YÔ&Ø(�”Ø—‘ 	Ô*Ø�w‰w˜Œ}Ø�”Ø—
‘
˜4Ô ð �Q—Z‘ZÔÜ˜“G�Ü˜Ÿ™“_�Ø˜1•f�Ø˜"•f�Û�AØ"*¨1¥+¨eÐ"3�H˜Q“Kñ à�Q—V‘VŒ|Ü˜“G�Ü˜Ÿ™“[�Ø˜1•f�Ø˜"•f�Û�AØ$ Q�x¨˜~�E˜!‘HÙ˜q Ö'ñ ð —6‘6ˆDØ�K‰K˜˜Q %¨¥)˜^Ô,Ø�Q—Z‘ZÔÛ�AØ#$ X¨i¸Ð"@ÀÐ"I�H˜Q“Kñ à—Z‘Z�ßÛ�AØ (¨¥‘I�B˜Ø –~Ø&(¨( l˜ ›ñ ð
 ˜˜X�Õ%ˆCØ˜•/ˆCØ�Q—V‘VŒ|Û�AØ ! %˜y¨¨SÐ0�E˜!‘HÙ˜q Ö)ñ ð —V‘V�ßÛ�AØ!& q¥‘J�B˜˜BØ˜2”v  R¦Ø#%¤c¨#¨b£k´#°c¸"³+Ð#=˜˜a›ñ ô
 ˜˜; tÓ,ˆBß˜"Ÿ,Ÿ,˜,Ø!�”Ø!(�•Ø——�ßØ—M‘M×(Ñ(¨2¯>©>¸5À"Ç,Á,Ð*OÔQØ#'�B•LØ—[‘[ "§,¡,Ô.°"·,±,ÀÇÁÔ2LØ—M‘M×(Ñ(¨2¯>©>¸5À"Ç,Á,Ð*OÔQØ#%�B”LØ%,�B”NØ—Z‘Z×+Ñ+¨D°"·,±,ÀÇÁÓMˆFØ�V�OˆEØ�t—z‘z #“¤z°$Ó'7Õ7Õ7‹Gñ[ !ð^ �W˜Q•Y •NÕ"€Gß�—‘× × Ð Ø�8‰8×Ñ˜eÔ#Ø�gŒ~Ü˜e G¨D¯M©M¸"Ô@øØ�FŒ]Ø—L‘LˆEÜ˜% ¨¨U­
°BÀÕGç	ÛˆAØ" 1�+ wÐ.ˆH�Q‹Kñ ÷ 
ÛˆAØ˜Q•x Ð(ˆE�!‰HÙ�q˜Öñ ð 
‡|‡|€|Ø
�‰×Ñ˜rŸ~™~¨w¸¿¹ÐEÔGØ	‡v�vˆr„zÜ��b—f‘f•9Öñ øðI ŸJ™JÑ4ús   Îgçg c                 ó8  € \        VP                  4      w  rgr‰r«VP                  P                  WgV4      pW,           V8:  EdW   VP                  V8w  g   VP
                  V8w  d   VP                  Wx4       V'       d   V\        VR VP                  4      ,          pVP                  ^ VP                  V,           4       \        WAV ,
          4       \        W!,
          V,          4      p\        WBWÍ,          ,
          4       VP                  V	8w  d   VP                  V	4       V
'       d   VP                  P!                  WV
34       VP#                  WÖ,          ^4       V'       d0   VP                  VP                  VP                  V,
          4       R# R# R# )Ú_dotsOffsetXN)r¬   rª   rß   r   rè   rÚ   ré   rw   rÉ   rÕ   r½   rk   Úintr¦   rí   rò   ró   ry   )r¼   r  rö   r¿   rl   rÅ   rE   r¥   r›   r¦   r§   r¨   r  Úns   &&&&&&        r<   rõ   rõ   ½  s  € Ü4@ÀÇÁÓ4JÑ1€D�( YØ�Z‰Z×#Ñ# D°HÓ=€FØ…~�xÕØ�<‰<˜Ô! R§\¡\°8Ô%;Ø�J‰J�xÔ)ß�œW R¨°r·v±vÓ>Õ>�Ø
×Ñ˜˜2Ÿ8™8 B�;Ô'Ü�˜5•=Ô!Ü�Õ! 6Õ)Ó*ˆÜ�˜f�hÕ&Ô'Ø�<‰<˜Ô"Ø�O‰O˜IÔ&ß�b—m‘m×*Ñ*¨E¸9Ð+EÔFØ
�‰�A•F˜1Ôßˆr×Ñ §¡ r§x¡x°¥{Ö3‰2ñ  r>   c           
      ó"  € Wn         \        W4       VP                  pVR8„  ;'       g    \        VRR4      pV'       gj   VP                  \        VP                   Uu. uF,  p\        VR4      '       d   K  \        VP                  4      NK.  	  up4      ,           ^,
          pV^ 8*  pV'       d   \        WW#R4       M?V P                  V\        X4      ,          4       \        WW#R4       V P                  ^ 4       \        W) 4       R# u upi )rt   ru   Fr¶   rÅ   Nrv   )r÷   rk   Ú
extraSpacerw   Ú	wordCountÚsumr}   r˜   rq   rE   r  rz   r5   ©rl   r{   rø   r~   r  r   rp   r€   s   &&&&    r<   Ú_leftDrawParaLineXr#  Î  sÏ   € Ø„LÜˆBÔØ—‘€JØ˜Ñ×CÐC¤¨¨n¸UÓ!C€FßØ—.‘.¤À$Ç*Â*Ó%hÁ*¸QÔT[Ð\]Ð^f×TgÔ&8¤j°·±Ö&8Á*Ñ%hÓ!iÕiÐjkÕkˆØ˜!‘ˆßÜ�V ¨VÕ4à
�‰˜
¤U¨7£^Õ3Ô4Ü�V ¨VÔ4Ø
�‰˜ÔÜˆBˆwÖùò &is   ÁD
Á7D
c           
      óœ  € Wn         WP                  ,           V n         VP                  pVR8„  ;'       g    \	        VRR4      pV'       gj   VP
                  \        VP                   Uu. uF,  p\        VR4      '       d   K  \        VP                  4      NK.  	  up4      ,           ^,
          pV^ 8*  pV'       d4   VRVP                  ,          ,           p\        W4       \        W€W#R4       MATpV P                  V\        X4      ,          4       \        W€W#R4       V P                  ^ 4       \        W) 4       V =R# u upi   T =i ; i)rt   ru   Fr¶   rƒ   ÚcenterNrv   )r÷   rÉ   r  r  rw   r   r!  r}   r˜   rq   rE   rk   r  rz   r5   ©	rl   r{   rø   r~   r  r   rp   r€   r;   s	   &&&&     r<   Ú_centerDrawParaLineXr'  Þ  s  € Ø„LØŸv™v•o€B„OðØ—_‘_ˆ
Ø˜EÑ!×GÐG¤W¨T°.ÀÓ%GˆßØ—n‘n¤SÀdÇjÂjÓ)lÁjÀÔX_Ð`aÐbj×XkÔ*<¬*°Q·V±VÖ*<ÁjÑ)lÓ%mÕmÐnoÕoˆGØ˜a‘ZˆFßØ�s˜4Ÿ?™?Õ*Õ*ˆAÜ�BŒMÜ˜ ¨8Õ4àˆAØ�O‰O˜J¬¨w«Õ7Ô8Ü˜ ¨HÔ5Ø�O‰O˜AÔÜ��2ŒàŠOùò *møð ‰Oús0   Ÿ-E ÁE Á+E
ÂE
Â E Â>B E ÅE ÅEc           
      óJ  € Wn         VP                  pVR8„  ;'       g    \        VRR4      pV'       gj   VP                  \	        VP
                   Uu. uF,  p\        VR4      '       d   K  \        VP                  4      NK.  	  up4      ,           ^,
          pV^ 8*  pV'       d,   WP                  ,           p\        W4       \        W€W#R4       MATpV P                  V\        X4      ,          4       \        W€W#R4       V P                  ^ 4       \        W) 4       R# u upi )rt   ru   Fr¶   rÄ   Nrv   )r÷   r  rw   r   r!  r}   r˜   rq   rE   rk   r  rz   r5   r&  s	   &&&&     r<   Ú_rightDrawParaLineXr)  ô  sÞ   € Ø„LØ—‘€JØ˜Ñ×CÐC¤¨¨n¸UÓ!C€FßØ—.‘.¤À$Ç*Â*Ó%hÁ*¸QÔT[Ð\]Ð^f×TgÔ&8¤j°·±Ö&8Á*Ñ%hÓ!iÕiÐjkÕkˆØ˜!‘ˆßØ—?‘?Õ"ˆÜ�ŒÜ�Q˜4 wÕ/àˆØ
�‰˜
¤U¨7£^Õ3Ô4Ü�Q˜D¨Ô0Ø
�‰˜ÔÜˆBˆr†Nùò &is   ÁD 
Á,D 
c           
      óp  € Wn         \        W4       VP                  pVP                  ;'       g.    RTu;8  ;'       d    R 8*  Mu ;'       g    T;'       d    VR8„  pV'       gj   VP                  \        VP                   Uu. uF,  p\        VR4      '       d   K  \        VP                  4      NK.  	  up4      ,           ^,
          pV^ 8*  pV'       gA   V P                  V\        X4      ,          4       \        WW#R4       V P                  ^ 4       M\        WW#R4       \        W) 4       R# u upi )rt   r¶   ÚjustifyNrv   )r÷   rk   r  Ú	lineBreakr   r!  r}   r˜   rq   rE   rz   r5   r  r"  s   &&&&    r<   Ú_justifyDrawParaLineXr-    sè   € Ø„LÜˆBÔØ—‘€JØ�^‰^×VÐV  j× 6Ô 6°$Ô 6×VÐV¸D×<UÐ<UÀZÐPUÑEU€FßØ—.‘.¤À$Ç*Â*Ó%hÁ*¸QÔT[Ð\]Ð^f×TgÔ&8¤j°·±Ö&8Á*Ñ%hÓ!iÕiÐjkÕkˆØ˜!‘ˆßØ
�‰˜
¤U¨7£^Õ3Ô4Ü�V ¨YÔ7Ø
�‰˜Õä�V ¨YÔ7ÜˆBˆwÖùò &is   ÂD3
ÂD3
c                 ó8   € V'       d   \         M\        ! WW#4      # rŒ   )r)  r-  )rl   r{   rø   r~   s   &&&&r<   Ú_justifyDrawParaLineXRTLr/    s   € ß#'ÕÔ-BÐBÀRÐQUÓ\Ð\r>   c                 óª   € \        V 4      pV'       d@   VP                  P                  VP                  4       VP                  VP
                  4      # ^ # ©r£   )Ú_wsc_end_searchrß   r   r6   rè   rÚ   )rE   rl   rÿ   s   && r<   rë   rë     s;   € Ü	˜Ó	€BßMOˆ2�:‰:×!Ñ! "§(¡(£*¨b¯l©l¸B¿L¹LÓIÐVÐUVÐVr>   c                   ó   € ] tR tRtRtRtR# )Ú_HSFragi  z!a frag that's followed by a spacerR   NrS   rR   r>   r<   r4  r4    s   † Ù+Ûr>   r4  c                   ó   € ] tR tRtRtRtR# )Ú_InjectedFragi!  zHa frag that's injected in breaklines and must be removed on reprocessingrR   NrS   rR   r>   r<   r6  r6  !  s   † ÙRÛr>   r6  c                   ó   € ] tR tRtRtRtR# )Ú
_SplitFragi%  za split fragrR   NrS   rR   r>   r<   r8  r8  %  s   † ÙÛr>   r8  c                   ó   € ] tR tRtRtRtR# )Ú_SplitFragHi)  z.a split frag that's the head part of the splitrR   NrS   rR   r>   r<   r:  r:  )  s   † Ù8Ûr>   r:  c                   ó   € ] tR tRtRtRtR# )Ú_SplitFragHYi.  z:a head split frag that needs '-' removing before rejoiningrR   NrS   rR   r>   r<   r<  r<  .  s   † ÙDÛr>   r<  c                   ó   € ] tR tRtRtRtR# )Ú_SplitFragHSi2  z'a split frag that's followed by a spacerR   NrS   rR   r>   r<   r>  r>  2  ó   † Ù1Ûr>   r>  c                   ó   € ] tR tRtRtRtR# )Ú_SplitFragLLi6  z<a frag that is forced to end in - because of paragraph splitrR   NrS   rR   r>   r<   rA  rA  6  s   † ÙFÛr>   rA  c                   ó*   a € ] tR tRt o RR ltRtV tR# )Ú_SHYIndexedStri:  Nc                ó  € V'       g_   VP                  \        4      p. pVP                  p^ pV F  pV\        V4      ,          pV! V4       K  	  RP	                  V4      pVRR p\
        P                  W4      pW&n        V# )r£   r0   NrÇ   )rD   Ú_shyró   rx   r_   ÚstrÚ__new__Ú_shyIndices)ÚclsÚuÚXÚaÚxr8   Úselfs   &&&    r<   rG  Ú_SHYIndexedStr.__new__;  sv   € ßØ—‘œ“ˆAØˆAØ—‘ˆAØˆAÛ�Ø”S˜“V•�Ù�!–ñ ð —‘˜“
ˆAØ�#�2�ˆAÜ�{‰{˜3Ó!ˆØÔØˆr>   )rH  rŒ   )rT   rU   rV   rW   rG  rY   Ú__classdictcell__©Ú__classdict__s   @r<   rC  rC  :  s   ø‡ € ÷ò r>   rC  c                ó  € V P                  R4      p\        V \        4      '       d{   V P                  R,          pVR,          pV'       dL   \	        VR4      '       d2   TP                  VP                   Uu. uF  qUV,           NK  	  up4       W!,          p\        W#4      # V'       dW   W!,          p\	        VR4      '       d=   XP                  VP                   Uu. uF  qUX,           NK  	  up4       \        W#4      # V# u upi u upi )zDrejoin two parts of an original _SHYIndexedStr or str that was splitÚ-ºNNNrH  rÇ   )rP   Ú
isinstancerC  rH  r˜   Úextend)r8   ÚssrJ  rK  rM  Ú_s   &&    r<   Ú_shyUnsplitrZ  J  sÌ   € à	�‰�‹€AÜ�!”N×#Ò#Ø�M‰M˜!ÕˆØˆb�EˆßÜ�r˜-×(Ò(Ø—‘ r§~¢~Ó6¡~ !˜AŸ#˜#¡~Ñ6Ô7Ø�GˆAÜ˜aÓ"Ð"ß	Ø	�ˆÜ�2�m×$Ò$Ø�H‰H 2§>¢>Ó2¡>˜a˜—c�c¡>Ñ2Ô3Ü! !Ó&Ð&Ø€Hùò 7ùò 3s   Á7DÃDc                   ó*   a € ] tR tRt o RtR tRtV tR# )Ú_SHYWordi\  zIa fragword containing soft hyphens some of its strings are _SHYIndexedStrc           
     óô  a€ V ^ ,          pRV n         V^ 8X  d   . # RpRpW,
          ;rgRp\        V R,          4       F¸  w  p	w  op
V3R lp\        V
\        4      '       dr   V! R4      pWl,           p\        V
P                  4       F9  w  rïV
RV W¯R ppWÛ! V4      ,           pVf   TpVV8„  pV'       d    MWžVVVVV3pK;  	  Wk! V
4      ,          pMWk! V
4      ,          pWb8„  pV'       g   K²  Vf   K¸   M	  Ve	   W‡,
          MRV n         V'       g   . # Vw  ržpppppV	^,           pV V,          w  op
V
P                  p\        VR,           VRV^,            4      pV RV SV3.,           pVV,
          V^ &   VV^ ,          ,
          V,           .V'       g   . M/S\        TVV^,           R  Uu. uF  pVV,
          NK  	  up4      3.,           V V^,           R ,           p\        V4      \        V4      3# u upi )r£   éÿÿÿNFºé   NNc                 óF   <€ \        V SP                  SP                  4      # rŒ   ©r   r¥   r›   )r8   r  s   &€r<   r²   Ú%_SHYWord.shyphenate.<locals>.<lambda>g  s   ø€ œ; q¨!¯*©*°a·j±jÔAr>   rT  )Ú_fswwrØ   rV  rC  rH  Ú_SplitFragSHYÚ
_SHYWordHS)rN  ÚnewWidthrö   ÚwwÚpossibleÚexceededÚ	baseWidthÚ
baseWidth0Úfswwr  ÚtÚsWÚshyLenÚbwÚjrM  rÅ   rÄ   ÚleftwÚi1rK  Úleftsrc   rY  ÚRr  s   &&&                      @r<   Ú
shyphenateÚ_SHYWord.shyphenate^  s  ø€ Ø�!�WˆØˆŒ
ØˆqŒ5˜�)ØˆØˆØ!)¥Ð.ˆ	ØˆÜ   b¥Ö*‰GˆA‰eˆq�ÜAˆBÜ˜!œN×+Ò+á˜C›�ØÕ'�Ü% a§m¡mÖ4‘D�AØ"# B Q %¨¨2¨˜%�DØ˜r $›x�K�EØ’|¨E TØ$ xÑ/�Hß¡Ø  Q¨¨t°U¸FÐB’Hñ 5ð ˜R ›UÕ"‘	à˜R ›UÕ"�	Ø$Ñ/�ß‰x˜DÔ,©eñ# +ð$ )-Ò(8�T–_¸jˆŒ
ß ˜Ø.6Ñ+ˆˆa�˜˜e VØˆq�SˆØ�B�x‰ˆˆ1Ø�M‰MˆÜ˜t C�x¨¨$¨1¨Q­3¨Ó0ˆØ��"ˆI˜!˜E˜˜Õ#ˆØ�zÕ!ˆˆ!‰Ø��!•�W�V�^Ð¯™b°Q´~ÀeÐZ[Ð\]Ð^_Õ\_Ð\`ÑZaÓLbÑZaÐUVÈQÈqÏSÈSÑZaÑLbÓ7cÐ4dÐ3eÕfÐimÐnpÐqrÕnrÐnsÐitÕtˆÜ˜QÓ¤¨A£Ð.Ð.ùò Mcs   Æ-G5)rd  N)rT   rU   rV   rW   rX   rw  rY   rP  rQ  s   @r<   r\  r\  \  s   ø‡ € ÙS÷$/ð $/r>   r\  c                   ó   € ] tR tRtRtRtR# )re  i„  zOa head split frag that requires removal of a hyphen at the end before rejoiningrR   NrS   rR   r>   r<   re  re  „  s   † ÝYr>   re  c                   ó   € ] tR tRtRtRtR# )rf  i‡  z=a fragword containing soft hyphens that's followed by a spacerR   NrS   rR   r>   r<   rf  rf  ‡  ó   † ÙGÛr>   rf  c                 ó\   €  \        V ^ ,          ^ ,          \        \        34      #     R# ; i)r£   F)rV  r5   r  )Úfragss   &r<   Ú_processed_fragsr~  ‹  s*   € ðÜ˜% �( 1�+¤u¬S kÓ2Ð2øðÚús   ‚#& ¦+c                óÖ  € ^ .pVP                   p^ pRpV  F¼  pW5^ ,          ,          p\        V\        4      pVR,           F�  pVw  r‰V'       dN   WuR,          J dB   V\        V	R,          VP                  VP
                  4      R,           ,          p\        V	4      p	WHJ d"   V\        VR,          ^,          V	4      3VR&   K‚  V! W‰34       TpK�  	  K¾  	  W1^ &   \        X4      ! V4      # )z!F should be a list of _SplitFragsNr_  rt   rÇ   )ró   rV  r<  r   r¥   r›   rZ  Ú_reconstructSplitFrags)
ÚFrv  ÚaRÚwLenÚpstyr  ÚrmhyÚffÚstyrn  s
   &         r<   Ú_rejoinSplitFragWordsrˆ  –  sÕ   € à	
ˆ€AØ	
�‰€BØ€DØ€DÛˆØ�!•�ˆÜ˜!œLÓ)ˆØ�B—%�%ˆBØ‰FˆCß˜ �e›Øœ A b¥E¨#¯,©,°s·|±|ÓDÀtÕKÕK�Ü “N�Ø‹{Øœk¨!¨B­%°­(°1Ó5Ð6��"“á�C�7”Ø’ó ñ ð €a�DÜ! !Ô$ QÓ'Ð'r>   c                 óð   € \        V \        4      '       d#   \        V \        4      '       d   \        # \        # \        V \        4      '       d$   \        V \        4      '       d   \        # \         # \
        # rŒ   )rV  r\  r4  rf  rA  r`   )r  s   &r<   r€  r€  ¬  sa   € ÜCMÈaÔPX×CYÒCYœ: a¬×0Ò0ŒZð q´hð qÜOYÐZ[Ô\c×OdÒOd¤:¨a´×#=Ò#=”<ðqÝCJðqÜjnðqr>   c                ó¸
  a€ V3R lp. pVP                   p. p\        V 4      '       dÂ   VP                   p V  F“  p\        V\        4      '       d   K  V! V4       \        V\        4      '       d7   V! V4       \        V\
        4      '       d   V! \        V4      4       VR Km  Ko  V'       d   V! \        V4      4       VR V! V4       K•  	  V'       d   V! \        V4      4       EMERp^ pRpRpV  EFë  pVP                  pVR8w  EdZ   \        Vn        V'       d   \!        V4      pV'       g   K@  Rp\#        V4      pV^ ,          \$        9   g	   V'       g‡   V'       d9   VP'                  ^ V4       T! V'       d   \)        V4      MT4       Tp. pRpRp^ pM!T;'       d    \        VR,          \
        4      pV'       g   VP'                  ^ R4       M
V'       g   Kí  VRR  F¨  p\*        V9   d   \-        V4      pRpVP                  VV34       V\        VVP                  VP                  4      ,          pVP'                  ^ V4       T! V'       g   \        V\(        4      '       d   \/        V4      M
\        V4      4       . pRp^ pKª  	  RpVR,          p\*        V9   d   \-        V4      pRpVP                  VV34       V\        VVP                  VP                  4      ,          pV'       dk   VR,          \$        9   dV   VP'                  ^ V4       T! V'       g   \        V\(        4      '       d   \)        V4      M
\        V4      4       . pRp^ pEKk  EKn  EKq  \1        VR4      '       Ed   VP2                  p\5        VR^ 4      pV'       d„   \1        VR	4      '       d   SVn        VP9                  S4      pV'       d6   VP'                  ^ V4       T! V'       d   \        V4      MT4       . pRpRp^ p\:        Vn        V! VVR3.4       RpEK(  \<        Vn        V'       gC   V'       d;   \        VR,          \
        4      '       d   VR,          P                  VR34       EK}  VP                  VR34       EK“  \1        VR
4      '       g   EK¨  V'       d#   VP'                  ^ V4       V! V4       . p^ pRpRp\>        Vn        V! ^ VR3.4       RpEKî  	  V'       dD   VP'                  ^ V4       T! V'       g   \        V\(        4      '       d   \)        V4      MT4       V'       g$   V '       d   V ^ ,          p\        Vn        ^ VR3..pV# )zÌgiven a Parafrag list return a list of fragwords
[[size, (f00,w00), ..., (f0n,w0n)],....,[size, (fm0,wm0), ..., (f0n,wmn)]]
each pair f,w represents a style and some string
each sublist represents a word
c                 ó¨   <€ V ^ ,          p\        V\        4      '       d2   VP                  S8w  d   SVn        VP                  S4      pW^ &   R# R# R# ©r£   N)rV  r   Ú_normalizerr”   )r  rp   rö   s   & €r<   Ú_rescaleFragÚ#_getFragWords.<locals>._rescaleFrag¶  sM   ø€ Øˆa�DˆÜ�aœ×ÒØ�}‰}˜hÔ&Ø (�”Ø×%Ñ% hÓ/�Ø�!“ñ 'ñ r>   TrU  NFr0   r¶   rÛ   r”   r,  rÇ   ) ró   r~  rV  r6  r8  r4  rˆ  r<  r   r¥   r›   rZ  r€  rE   Ú_FK_TEXTÚ_fkindrM   rD   r   Úinsertr\  rE  rC  rf  r˜   r¶   rw   r�  r”   Ú_FK_IMGÚ
_FK_APPENDÚ	_FK_BREAK)r}  rö   rŽ  rv  r‚  ÚWÚaWr  Úf0ÚWlenr‡  Úlfrn  ÚtsÚhangingSpacer  ÚhangingStripÚ
shyIndicesrE   r
  Úwhsrp   Úcbs   &f                     r<   Ú_getFragWordsr¡  °  sQ  ø€ õð 	€AØ	
�‰€BØ
€AÜ˜×ÒØ�X‰Xˆð Û�Ü˜a¤×.Ò.±Ù˜Q”Ü˜a¤
×+Ò+Ù�q”EÜ! !¤W×-Ò-ÙÔ0°Ó3Ô4Ø˜ašDñ .÷ ÙÔ0°Ó3Ô4Ø˜a˜DÙ�q–Eñ ÷ ÙÔ(¨Ó+Ô,ùðd ˆØˆØˆØˆ
ÜˆAØ—6‘6ˆDØ�R�xÜ#�”ßÜ! $›<�Dß¡Ø#(�LÜ˜$“K�Ø˜•7œjÔ(·ßØŸ™  1œÙ¯*œ8 Aœ;¸!Ô<Ø*˜Ø˜Ø%*˜
Ø',˜Ø™à×=Ð=¤J¨q°­u´WÓ$=˜ßØŸ™  2�ßÙ à˜3˜B›�AÜ˜q”yÜ*¨1Ó-˜Ø%)˜
Ø—H‘H˜a ˜U”OØœ Q¨¯
©
°A·J±JÓ?Õ?�AØ—H‘H˜Q˜q”MÙ¯
´jÀÄ8×6LÒ6L”z !”}ÔRYÐZ[ÓR\Ô]Ø�AØ!&�JØ’Añ  ð  %�Ø�b•E�Ü˜1”9Ü& qÓ)�AØ!%�JØ—‘˜!˜A˜”Ø”[  A§J¡J°·
±
Ó;Õ;�ß˜D �H¬
Ô2Ø—H‘H˜Q˜q”MÙ§j´J¸qÄ×4JÒ4J”x ”{ÔPWÐXYÓPZÔ[Ø�AØ!&�JØ“Aò 3’4ô ˜˜8×$Ó$Ø—X‘X�Ü˜B˜w qÓ)�ßÜ˜qÐ!2×3Ò3Ø(0˜œØ×-Ñ-¨hÓ7˜ßØŸ™  1œÙ¯œ7 1œ:¸1Ô=Ø˜Ø%*˜
Ø',˜Ø˜Ü&�A”HÙ˜˜1˜R˜&�z”NØ#(“Lä)�A”Hß§¤z°!°Bµ%¼×'@Ò'@Ø˜"�Ÿ™ a¨ V×,àŸ™ ! B ×(Ü˜˜K×(Õ(çØ—H‘H˜Q˜q”MÙ�q”EØ�AØ�AØ!&�JØ#(�LÜ$�”Ù�A�q˜�f�:”Ø#“ñi ÷l Ø�H‰H�Q�qŒMÙŸj¬J°q¼×,BÒ,BŒx˜Œ{ÈÔJßßØ�a•ˆAÜˆAŒHØ�Q�r�F��ˆAð
 €Hr>   c              #   óT  "  € V R ,           F–  w  r\        VR4      '       d   V\        VP                  R^ 4      V3x € K5  V'       dS   \        V4      '       d   VP	                  R4      pV F(  pV\        W1P                  VP                  4      V3x € K*  	  K�  V^ V3x € K˜  	  R# 5i)r_  r¶   rÛ   r@   N)r˜   rw   r¶   r,   rB   r   r¥   r›   )rp   r  r8   Úcs   &   r<   Ú_fragWordIterr¤  n  s‹   é € Ø�"—�‰ˆÜ�1�X×ÒØ”W˜QŸX™X g¨aÓ0°!Ð3Ô3ßÜ�q�zŠzØ—H‘H˜VÓ$�Û�Øœ Q§z¡z°1·:±:Ó>ÀÐAÔAó ð �Q˜�'ŒMó ùs   ‚AB(Á	AB(c                ó:  € . p\        V4      ^,
          pV\        WS^,           4      ,          p. p^ pRp	^ p
V ^,          ^ ,          p\        V 4       Fó  w  rÍpW�,           pWñ8„  ;'       d'    \        T
;'       g    V
'       * ;'       d    WÖ8*  4      pWËJg	   V'       d•   VP	                  4       p\        VR4      '       d   W›n        VP                  W¹34       V'       dO   \        V
.V,           4      pVP                  V4       V^,          pTpV\        WS^,           4      ,          p. pTp^ p
Rp	TpW­,          p
Wž,          p	TpKõ  	  VP                  W¹34       \        V \        4      '       d   \        M\        ! V
.V,           4      pVP                  V4       V# )ag  given a frag word, w, as returned by getFragWords
split it into frag words that fit in lines of length
maxWidth the available length on the currebt line
maxWidths[lineno+1] the maxWidth for the next line
.....
maxWidths[lineno+n]

return the new word list which is either
_SplitFrag....._SPlitFrag or
_SplitFrag....._SplitFragHS if the word is hanging space.
r0   rE   )rx   rÆ   r¤  ÚboolÚcloner˜   rE   ró   r8  rV  r4  r>  r:  )rp   rö   Ú	maxWidthsÚlinenorv  Ú	maxlinenoÚmaxWidthNextr–  Ú	lineWidthÚfragTextÚ	wordWidthr  ÚgÚcwr£  ÚnewLineWidthÚtooLongs   &&&&             r<   Ú_splitFragWordr³  z  sn  € ð 	€AÜ�I“˜qÕ €IØœS °!­8Ó4Õ5€LØ
€AØ€IØ€HØ€IØ	ˆ!�ˆQ�€AÜ Ö"‰ˆˆQØ •|ˆØÑ'×cÐc¬D°×1bÐ1bÀ9¼}×?aÐ?aÐQSÑQaÓ,cˆØ‹:ŸØ—‘“	ˆAÜ�q˜× Ò Ø!”Ø�H‰H�a�\Ô"ßÜ 	˜{¨1�}Ó-�Ø—‘˜”Ø˜!•�Ø'�Ø(¬¨Y¸aµxÓ)@ÕA�Ø�Ø!�Ø�	ØˆHØˆAØ�ˆ	Ø�ˆØ Š	ñ+ #ð, ‡H�Hˆaˆ\ÔÜ# A¤g×.Ò.�´KÐ	?À)ÀÈQÅÓO€Aà‡H�HˆQ„KØ€Hr>   uK  (^(?:[a-z0-9\.\-\+]*)://)(?:\S+(?::\S*)?@)?(?:(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|\[[0-9a-f:\.]+\]|([a-zÂ¡-ï¿¿0-9](?:[a-zÂ¡-ï¿¿0-9-]{0,61}[a-zÂ¡-ï¿¿0-9])?(?:\.(?!-)[a-zÂ¡-ï¿¿0-9-]{1,63}(?<!-))*\.(?!-)(?:[a-zÂ¡-ï¿¿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\.?|localhost))(?::\d{2,5})?(?:[/?#][^\s]*)?\Zc              #   óÚ   "  € R pV P                  V4      '       d   W2,          pV RR p K&  ^p V P                  W$4      pV^ 8  d   R# V^,          pWRV ,           WR V,           3x € K>  5i)r0   NrÇ   )ÚendswithÚfind)ÚuriÚschemeÚslashÚtailr  s   &&&  r<   Ú_slash_partsr»  ¯  sn   é € Ø€DØ
�,‰,�u×
Ò
Ø�ˆØ�#�2ˆhŠà	€AØ
Ø�H‰H�UÓˆØˆQŒ3‘Ø	ˆQ�ˆØ˜˜!�W�n˜S ˜W T�\Ð)Ô)ùs   ‚A+œAA+c                 ól  € \        V 4      '       d   V P                  R 4      p \        P                  V 4      pV'       g   R# VP	                  ^4      pV \        V4      R p V'       g
   RV 9  d   RMRpV'       d   V '       d   W 3.M. \        \        WV4      4      ,           pVP                  4        V# )r@   NÚ/Ú\)	r,   rB   Úuri_patr4   r6   rx   r`   r»  Úreverse)r·  r;   r¸  r¹  rv  s   &    r<   Ú_uri_split_pairsrÁ  ¼  sŠ   € Üˆs‡|‚|˜3Ÿ:™: fÓ-�SÜ�‰�cÓ€Aß‘TØ�W‰W�Q‹Z€FØ
Œc�&‹kˆlÐ
€Cç C¨s¤N‰TØð 
ç"§sˆ6ˆ-‰°´d¼<ÈÐSXÓ;YÓ6ZÕZ€AØ‡I�I„KØ€Hr>   u[   A-Za-zÃ€-Ã–Ã˜-Ã¶Ã¸-É�áº€-áº…á¸€-á»¿Ð�-Ñ�á¸‚á¸ƒá¸Šá¸‹á¸žá¸Ÿá¹€á¹�á¹–á¹—á¹ á¹¡á¹ªá¹«áº›á»²á»³ô   Â­u   -Â­u   ^['"([{Â¿â€˜â€šâ€œâ€ž]+u   []'")}?!.,;:â€™â€›â€�â€Ÿ]+$z^[z]+$ú([z])c
                 ó(  € \        V4      '       d   VP                  R 4      p\        P                  V4      p
V
'       d!   V
P	                  ^ 4      pV\        V4      R pMRp\        V\        4      '       d   VR,          R8X  d	   RpVRR pM@\        P                  V4      p
V
'       d"   V
P	                  ^ 4      pVR\        V4      )  pMRp\        V4      V	8  d   R# W2,
          p\        V4      pVep   W$8”  g   V'       d`   V^V,
          V,          8:  dK   V FD  w  ppW¿,           pVV,           p\        WõV4      pVV,           pVV8:  g   K5  R^ VVV,
          VV3u # 	  R# \        P                  V4      pV '       dÌ   \        P                  V4      '       g#   \        P                  V4      '       d–   RV9  d�   \        RWV4      pV ! V4       Fv  w  ppW¿,           p\        P                  VR,          4      '       g   RpTpMRp^ pVV,           p\        WõV4      pVV,           V,           pVV8:  g   Kg  VVVVV,
          VV3u # 	  \        V4      pV^8¼  d³   V'       d©   RV9  d    \        P                  V4      '       dƒ   \!        \#        ^V^4      4       Ff  pVRP%                  VRV 4      ,           pRP%                  VVR 4      V,           p\        WõV4      pVV,           pVV8:  g   KW  R^ VVV,
          VV3u # 	  R# R# R# R# R# )r@   Nr0   rT  rÇ   )r,   rB   Ú_hy_pfx_patr4   r6   rx   rV  Ú_SplitWordLLÚ_hy_sfx_patÚsearchrÁ  r   Ú_hy_shy_patrD   Ú_hy_letters_patÚ_hy_shy_letters_patÚreversedÚranger_   )Ú
hyphenatorr8   rh  rg  rö   r¥   r›   ÚuriWasteReduceÚembeddedHyphenationÚhymwlr;   ÚpfxÚsfxÚw0rv  r™   rn  ÚhwÚtwÚHÚhylenÚjcÚjclenr  r  s   &&&&&&&&&&               r<   Ú
_hyGenPairrÛ  Ö  s¹  € Üˆq‡z‚z�q—x‘x Ó'�1Ü×Ñ˜!Ó€AßØ�g‰g�a‹jˆØŒc�#‹hˆiˆL‰àˆÜ�!”L×!Ò! a¨¥e¨S¤jØˆØˆcˆrˆF‰ä×Ñ˜qÓ!ˆßØ—'‘'˜!“*ˆCØ�*”C˜“H�9�‰AàˆCÜ
ˆ1ƒv�„~‘và	�€BÜ˜Ó€AØ‚}àŒ;Ÿ>¨b°Q°~Õ5EÀxÕ4OÔ.Oã‘��1Ø•E�Ø˜•G�Ü  ¨HÓ5�Ø˜"•W�Ø�x–<Ø˜a  2 b¥5¨¨1Ð,Ò,ñ ñ 	ä×Ñ˜!Ó€Aßœ×-Ñ-¨a×0Ò0Ô5H×5NÑ5NÈq×5QÒ5QÐVXÐ`aÔVaÜ˜C Ó2ˆÙ˜a–=‰CˆAˆaØ•ˆAÜ×$Ñ$ Q r¥U×+Ò+Ø�Ø‘à�Ø�Ø�C•ˆAÜ˜Q¨Ó1ˆBØ�B•˜•ˆBØ�8Ž|Ø˜%  2 b¥5¨¨1Ð,Ò,ñ !ô  	ˆA‹€AØˆ!„t×#¨°!¬Ô8K×8QÑ8QÐRS×8TÒ8TÜœ%  ! A›,Ö'ˆAØ�b—g‘g˜a  ˜e“nÕ$ˆAØ—‘˜˜!˜"˜“ Õ$ˆAÜ˜Q¨Ó1ˆBØ�B•ˆBØ�8Ž|Ø˜!˜B˜r "�u Q qÐ(Ò(ó (ñ 9U©Ñ#�tr>   c                ó  € ^ ;r. pVP                   p. pVP                  p\        ^\        V 4      4       F³  pW,          w  r‰VP                  ^ 8w  d    R# \        VR4      '       d!   \        VP                  R^ 4      '       d    R# V	'       g   K]  \        V	4      '       d   V	P                  R4      p	V! V	4       V! \        V	4      Wq3.,          4       V\        V	4      ,          pKµ  	  RP                  V4      \        V4      3# )zætakes a frag word and assembles a unicode word from it
if a rise is seen or a non-zerowidth cbdefn then we return
None. Otherwise we return (uword,([i1,c1],[i2,c2],...])
where each ii is the index of the word fragment in the word
Nr¶   rÛ   r@   r0   )rW  ró   rÍ  rx   rê   r˜   rw   r¶   r,   rB   r_   Útuple)
ÚFWÚccÚplenrK  ÚeXÚUÚaUr  r  rn  s
   &         r<   Ú_fragWordSplitReprä    sÏ   € ð €M€BØ
€AØ	
�‰€BØ
€AØ	
�‰€BÜ�1”S˜“WÖˆØ�u‰ˆØ�6‰6�1Œ9šTÜ�1�X×Ò¤7¨1¯8©8°G¸A×#>Ò#>Âß‘(Ü�1�:Š:˜1Ÿ8™8 FÓ+�qÙ
ˆ1ŒÙ
Œ3ˆq‹6�A�6�(�?ÔØ
Œc�!‹f�Šñ ð �7‰7�1‹:”e˜A“hÐÐr>   c                ó6   € \        R V  4       4      .V ,           # )zF are the fragsc              3   óf   "  € T F'  w  r\        W!P                  VP                  4      x € K)  	  R # 5irŒ   rb  )Ú.0r8   rJ  s   &  r<   Ú	<genexpr>Ú#_rebuildFragWord.<locals>.<genexpr>.  s$   é € ÐCÁ¹#¸!”˜QŸz™z¨!¯*©*×5Ð5Ãùs   ‚/1)r!  )r�  s   &r<   Ú_rebuildFragWordrê  ,  s   € äÑCÁÓCÓDÐEÀaÕGÐGr>   c           	      óD	  € \        V4      pV'       g   R # Vw  r‡\        V4      '       d   VP                  R4      p\        P	                  V4      p	V	'       d!   V	P                  ^ 4      p
V\        V
4      R  pMRp
\        V\        4      '       d%   VR,          ^,          R,          R8X  d	   RpVR R pM@\        P                  V4      p	V	'       d"   V	P                  ^ 4      pVR \        V4      )  pMRp\        V4      V8  d   R # V^ ,          pW,,
          p\        V4      pVeì   WÃ8”  g   V'       dÜ   V^V,
          V,          8:  dÇ   V FÀ  w  ppW¯,           p\        V4      pVV,          w  ppV^V pVV,          w  ppVR VV,
           pV'       d   VP                  VV34       VVV,
          R  pVV^,           R  pV'       d   VP                  ^ VV34       \        V4      pWß^ ,          ,           V8:  g   K²  RV\        V4      3u # 	  R # \        P!                  V4      pV '       EdB   \"        P	                  V4      '       g%   \$        P	                  V4      '       Ed   RV9  Ed   V ! V4       Fö  w  ppW¯,           p\        V4      pVV,          w  ppV^V pVV,          w  ppVR VV,
           p\        P	                  VR,          4      '       g   RpMRpV'       g	   V'       d   VP                  VVV,           34       VVV,
          R  pVV^,           R  pV'       d   VP                  ^ VV34       \        V4      pWß^ ,          ,           V8:  g   Kè  VV\        V4      3u # 	  \        V4      pV^8¼  Ed   V'       Ed   RV9  Ed   \$        P	                  V4      '       dë   \'        \)        ^V^4      4       FÎ  p\        V
RP+                  VR V 4      ,           4      pVV,          w  ppV^V pVV,          w  ppVR VV,
           pV'       d   VP                  VV34       VVV,
          R  pVV^,           R  pV'       d   VP                  ^ VV34       \        V4      pWß^ ,          ,           V8:  g   KÀ  RV\        V4      3u # 	  R # R # R # R # R # )Nr@   r0   rT  rÇ   )rä  r,   rB   rÅ  r4   r6   rx   rV  rA  rÇ  rÈ  rÁ  ró   r’  rê  rÉ  rD   rÊ  rË  rÌ  rÍ  r_   )rÎ  rÞ  rg  rö   rÏ  rÐ  rÑ  rK  r8   r;   rÒ  rÓ  rh  rÔ  rv  r™   rn  ÚposÚfxrß  ÚFLÚffxÚsfxlÚsfxrÚFRr×  rÙ  r  r  s   &&&&&&&                      r<   Ú_hyGenFragsPairró  0  s  € Ü˜"Ó€Aß‰fØ�D€AÜˆq‡z‚z�q—x‘x Ó'�1Ü×Ñ˜!Ó€AßØ�g‰g�a‹jˆØŒc�#‹hˆiˆL‰àˆÜ�"”\×"Ò" r¨"¥v¨a¥y°¥}°cÔ'9ØˆØˆcˆrˆF‰ä×Ñ˜qÓ!ˆßØ—'‘'˜!“*ˆCØ�*”C˜“H�9�‰AàˆCÜ
ˆ1ƒv�„~‘vØ	ˆA�€BØ	�€Bô 	˜Ó€AØ‚}àŒ;Ÿ>¨b°Q°~Õ5EÀxÕ4OÔ.Oã‘��1Ø•E�Ü˜!“f�à˜3�‘��BØ˜˜"�X�Ø˜b�6‘��SØ˜7˜C �F�|�ß˜Ÿ™ C¨ :Ô.Ø˜3˜r�6˜7�|�Ø˜˜1�˜�Y�ß˜Ÿ™ 1 c¨$ ZÔ0Ü$ RÓ(�Ø˜•d•7˜HÖ$Ø˜aÔ 0°Ó 4Ð4Ò4ñ ñ 	ä×Ñ˜!Ó€Aß€z”×,Ñ,¨Q×/Ò/Ô4G×4MÑ4MÈa×4PÓ4PÐUWÐ_`ÕU`á˜a–=‰CˆAˆaØ•ˆAÜ�a“&ˆCà�s•V‰FˆB�Ø�A�b�ˆBØ˜"•v‰HˆC�Ø�w˜˜B��<ˆDÜ×$Ñ$ Q r¥U×+Ò+Ø‘à�ß—rØ—	‘	˜3˜t B�w˜-Ô(Ø�s˜2•v�w�<ˆDØ�B�q•D�E�ˆBß�R—Y‘Y˜q # d Ô,Ü  Ó$ˆAØ�A•$�w˜Ö Ø˜!Ô,¨RÓ0Ð0Ò0ñ' !ô. 	ˆA‹€AØˆ!…t×#Ð#¨°!­Ô8K×8QÑ8QÐRS×8TÒ8TÜœ%  ! A›,Ö'ˆAÜ�c˜BŸG™G A b q E›NÕ*Ó+ˆCØ�s•V‰FˆB�à�A�b�ˆBØ˜"•v‰HˆC�Ø�w˜˜B��<ˆDß�R—Y‘Y  D˜zÔ*Ø�s˜2•v�w�<ˆDØ�B�q•D�E�ˆBß�R—Y‘Y˜q # d Ô,Ü  Ó$ˆAØ�A•$�w˜Ö Ø˜!Ô,¨RÓ0Ð0Ò0ó (ñ 9U©Ñ#�tr>   c                 ór  € V^ ,          pV^ 8X  d   . # \        V4      ^8X  d¸   V^,          w  r‰\        V\        4      '       d   \        V	4      p	\	        W	WrW8P
                  VP                  WEV4
      p
V
'       d]   V
w  r¼rÞppV'       d   \        M\        ! WÜ,           W�V,           3.4      \        V\        4      '       d   \        M\        ! WèV3.4      .#  R# \        WW#WEV4      p
V
'       dH   V
w  r¿pV'       d   \        M\        ! V4      \        V\        4      '       d   \        M\        ! V4      .# R# rŒ  )rx   rV  rA  rÆ  rÛ  r¥   r›   r<  r:  r4  r>  r8  ró  )rÎ  rÞ  rg  rö   rÏ  rÐ  rÑ  rh  r  r8   rv  rÙ  rØ  rÕ  rÖ  r™   rn  s   &&&&&&&          r<   Ú_hyphenateFragWordrõ  ‹  s9  € à	ˆA�€BØ	ˆ1„u�RˆiÜ
ˆ2ƒw�„zØ�!�u‰ˆÜ�bœ×&Ò&Ü˜Q“ˆAÜ�z b°H¿j¹jÈ!Ï*É*ÐUcÐy~ÓˆßØ&'Ñ#ˆB�r˜q !ß%'•\¬[Ð8¸2½8ÀQÈÅtÀHÐ:MÓNÔ`jÐkmÔnu×`vÒ`vÕP\ô  }Gð  QGð  JLð  PQð  MRð  ISó  PTð  Uð  Uð ñ ô ˜J¨H¸~ÐchÓiˆßØ‰HˆB�1ß%'•\¬[Ð8¸!Ó<ÌjÐY[Ô\c×NdÒNd½lÔjtÐ>tÐvwÓ=xÐyÐyár>   c                   ó   € ] tR tRtRtRtR# )Ú
_SplitWordiŸ  z[simple str word split into _SplitWord instances
the function _splitWord does the splitting
rR   NrS   rR   r>   r<   r÷  r÷  Ÿ  s   † ñó 	r>   r÷  c                   ó   € ] tR tRtRtRtR# )Ú_SplitWordEndi¥  z/the remainder of a str word that has been splitrR   NrS   rR   r>   r<   rù  rù  ¥  s   † Ù9Ûr>   rù  c                   ó   € ] tR tRtRtRtR# )Ú_SplitWordHi©  z'hyphenation head if no hyphen was addedrR   NrS   rR   r>   r<   rû  rû  ©  r?  r>   rû  c                   ó   € ] tR tRtRtRtR# )Ú_SplitWordHYi­  z6head part of a hyphenation word pair with added hyphenrR   NrS   rR   r>   r<   rý  rý  ­  s   † Ù@Ûr>   rý  c                   ó   € ] tR tRtRtRtR# )rÆ  i±  z=a word that's forced to end with - because of paragraph splitrR   NrS   rR   r>   r<   rÆ  rÆ  ±  r{  r>   rÆ  c                   ó4   a € ] tR tRt o RtR tRR ltRtV tR# )Ú_SHYStriµ  z for simple soft hyphenated wordsc                óX  € VP                  \        4      p\        V4      ^8”  di   \        P	                  V RP                  V4      4      p^ .pVP                  pV F"  pV! VR,          \        V4      ,           4       K$  	  V^R Vn        V# \        P	                  W4      p. Vn        V# )r`  r0   rÇ   )rD   rE  rx   rF  rG  r_   ró   Ú__sp__)rI  r8   r
  rN  ÚspÚasprX  s   &&     r<   rG  Ú_SHYStr.__new__·  s�   € Ø�G‰G”D‹MˆÜˆq‹6�!Œ8Ü—;‘;˜s B§G¡G¨A£JÓ/ˆDØ�ˆBØ—)‘)ˆCÛ�Ù�B�r•Fœ3˜r›7•NÖ#ñ à˜Q˜r˜(ˆDŒKð ˆô —;‘;˜sÓ&ˆDØˆDŒKØˆr>   c           	     ó&  € RV n         \        \        \        V P                  4      4      4       FÙ  w  rgV RV p\        W�W%4      p	V'       g   W�n         W9,           p
W¤8:  g   K4  V P                  VR \        V 4      .,           p\        \        V4      ^,
          4       Uu. uF  qÀW¼,          W¼^,           ,           NK  	  pp\        VR,           4      pV P                  RV Vn        V\        \        P                  V4      4      .u # 	  R# u upi )zW
baseWidth = currentWidth + spaceWidth + hyphenWidth
limWidth = maxWidth + spaceShrink
r^  NrT  )rd  rÌ  r`   rØ   r  r   rx   rÍ  r   rE  r_   )rN  r¥   r›   rk  ÚlimWidthÚencodingr  r  ÚswÚswwÚswnwÚTrr  r
  s   &&&&&&        r<   Ú__shysplit__Ú_SHYStr.__shysplit__Å  sÛ   € ð
 $ˆDŒJÜ!¤$¤y°·±Ó'=Ó">Ö?‘�ð ˜#˜2�Y�Ü! "°ÓC�ß sœ*Ø •�ØÖ#àŸ™ A B˜¬3¨t«9¨+Õ5�AÜ49¼#¸a»&À½(´OÓD±O¨q˜a�d 1 q¥S¥6Ó*±O�AÐDÜ   C¥›�BØ $§¡¨B¨Q �B”IØœw¤t§y¡y°£|Ó4Ð5Ò5ó @ùò Es   Â  D)r  rd  NrI   )	rT   rU   rV   rW   rX   rG  r  rY   rP  rQ  s   @r<   r   r   µ  s   ø‡ € Ù*ò÷6ò 6r>   r   c                   ó   € ] tR tRtRtR# )Ú_SHYSplitHYiÚ  rR   N©rT   rU   rV   rW   rY   rR   r>   r<   r  r  Ú  ó   † Ûr>   r  c                   ó   € ] tR tRtRtR# )Ú	_SHYSplitiÝ  rR   Nr  rR   r>   r<   r  r  Ý  r  r>   r  c                   ó   € ] tR tRtRtRtR# )r   ià  z4lines/words value for a bidiSorted kind==0 paragraphrR   NrS   rR   r>   r<   r   r   à  s   † Ù>Ûr>   r   c
                 óJ  € V^ 8X  d   . # \        WWEWaW'W‰4
      p
V
'       dƒ   V
w  r¼rÞpp\        V4      '       d@   \        V'       d   \        M\        ! Wû,           4      V4      \        \        V4      V4      .# V'       d   \        M\        ! Wû,           4      \        V4      .# R# rŒ  )rÛ  r   r   rý  rû  rù  )rÎ  r¥   r›   rp   rh  rg  rö   rÏ  rÐ  rÑ  rv  ÚhyrØ  rÕ  rÖ  r™   rn  s   &&&&&&&&&&       r<   Ú_hyphenateWordr  ä  s�   € à	ˆ1„u�RˆiÜ�: "°ÀHÐ]pÓx€AßØ"#Ñˆ�2˜1˜aÜ�Q�<Š<Ü·¥¼Ð!DÀaÅdÓ KÈAÓNÜ¤¨aÓ 0°Ó3ð5ð 5÷ &(•\¬[Ð8¸!½$Ó?ÄÈaÓ@PÐQÐQñ 	r>   c                óˆ  € . pVP                   p\        V4      ^,
          p	Rp
V\        W“4      ,          pV\        W“^,           4      ,          p\        V 4      '       d   V P	                  V4      p \        V 4      pV  F�  p\        WäWV4      pW,           pVV8”  df   V
'       g   V
'       gV   Wü8:  dP   T! V'       d   \        \        V
4      V 4      M
\        V
4      4       V^,          pTpV\        W“4      ,          pTpRp
W®,          p
TpK�  	  T! V'       d   \        \        V
4      V 4      4       V# \        V
4      4       V# )z�
split w into words that fit in lines of length
maxWidth
maxWidths[lineno+1]
.....
maxWidths[lineno+n]

then push those new words onto words
r0   )
ró   rx   rÆ   r,   rB   r   r   r   r÷  rù  )rp   r¬  r¨  r©  r¥   r›   r  rv  r‚  rª  ÚwordTextrö   r«  Úbidir£  r°  r±  s   &&&&&&&          r<   Ú
_splitWordr  ð  s  € ð 	€AØ	
�‰€BÜ�I“˜qÕ €IØ€HØœ˜YÓ.Õ/€HØœS °!­8Ó4Õ5€LÜˆq‡z‚zØ�H‰H�XÓˆÜ�Q‹<€DÛˆÜ˜ HÓ6ˆØ •|ˆØ˜Ô §h·xÀBÔDTÙ·dŒ{œ: hÓ/°Ô2Ä
È8Ó@TÔUØ�a�KˆFØ#ˆHØ ¤ YÓ!6Õ7ˆHØˆLØˆHØ�ˆØ Š	ñ ñ ·„{”= Ó*¨1Ó-ÔSØ€Hô <IÈÓ;RÔSØ€Hr>   c                óÈ  € \        V ^ ,          \        4      '       d'   V ^ ,          pV R,           F  p\        W4      pK  	  V# \        V ^ ,          \        4      '       ds   \        V R,          \        4      '       d   \
        M\        pRP                  R V  4       4      p\        V R,          \        4      '       d   V# \        VR,           4      # RP                  V 4      # )z-R can be a list of pure _SplitWord or _SHYStrrU  r0   c              3   ó\   "  € T F"  p\        V\        4      '       d   VR R MTx € K$  	  R # 5i)NrÇ   )rV  rý  ©rç  rY  s   & r<   rè  Ú$_rejoinSplitWords.<locals>.<genexpr>  s'   é € ÐLÉ!ÀQœz¨!¬L×9Ò9�Q�s˜‘V¸qÔ@Ë!ùs   ‚*,rT  rÇ   )rV  r   rZ  rý  rù  rF  r_   )rv  ÚrrY  Úcfr8   s   &    r<   Ú_rejoinSplitWordsr#    s©   € ä�!�A•$”w×ÒØˆa�DˆØ�1—�ˆAÜ˜AÓ ŠAñ àˆÜ	�A�a•Dœ×	&Ò	&Ü˜q �u¤m×4Ò4�S¼,ˆØ�G‰GÑLÉ!ÓLÓMˆÜ˜q �u¤m×4Ò4ˆqÐM¼,ÀqÈÅuÓ:MÐMà�w‰w�q‹zÐr>   c                 ó:   € \        \        V 4      V ^ ,          4      # r1  )r   r#  )rv  s   &r<   Ú_BidiStrWrapRejoinSplitWordsr%  !  s   € ÜÔ(¨Ó+¨A¨a­DÓ1Ð1r>   c              #   ób  "  € . pVP                   p \
        pT P                  Y  Fo  pT^,           F_  p\        T\        4      '       d.   T! T4       \        T\        4      '       d   T! T4      x € TR KF  T'       d   T! T4      x € TR Tx € Ka  	  Kq  	  T'       d   T! T4      x € R# R# 5i)r£   rU  N)ró   rV  Úlinesr   r%  r#  r÷  rù  )ÚblPararÂ   Ústoprv  r‚  Újfuncr  rp   s   &&&     r<   Ú_yieldBLParaWordsr+  $  sŸ   é € Ø
€AØ	
�‰€BØô "ˆØ�\‰\˜%Ó%ˆØ�1—�ˆAÜ˜!œJ×'Ò'Ù�1”Ü˜a¤×.Ò.Ù ›(’NØ˜!˜ÙçÙ ›(’NØ˜!˜ØŒGó ñ &÷ 	Ù�A‹hŒñ 	ùs   ‚A=B/Â  B/Â!B/c                 ó8  € V P                  4       pR F!  p\        W44      '       g   K  \        W44       K#  	  \        \	        WV4      4      Vn        \        V P                  \        4      '       d8   VP
                  P                  R R7       \        VP
                  4      Vn        \        VP
                  R,          \        4      '       dJ   \        VP
                  R,          \        4      '       d   \        M\        VP
                  R,          n        V.# )r'  c                 ó   € V P                   # rŒ   )Ú	__bidiL__©rY  s   &r<   r²   Ú%_split_blParaSimple.<locals>.<lambda>A  s   €  Q§[¢[r>   ©Úkey)r'  rÙ   rE   rÇ   )r§  r˜   Údelattrr`   r+  r}   rV  r'  r   Úsortrý  r   r  rÆ  Ú	__class__)r(  rÂ   r)  r  rL  s   &&&  r<   Ú_split_blParaSimpler6  ;  s±   € Ø�‰‹€AÛ&ˆÜ�1�<Œ<œ žñ 'äÔ$ V°$Ó7Ó8€A„GÜ�&—,‘,œx×(Ò(Ø	�‰�‰Ñ0ˆÔ1Ü˜1Ÿ7™7Ó#ˆŒÜ�!—'‘'˜"•+œl×+Ò+Ü-7¸¿¹À½ÄG×-LÒ-L¥	ÔR^ˆ�‰��ÔØˆ3€Jr>   c                 ó  € . pV P                   W pV Fó  pVP                   F  pVP                  V4       K  	  WTR,          Jg   K5  \        V4      ^,
          pV^ 8¼  dG   \	        W7,          R4      '       d/   \        W7,          P                  R^ 4      '       g   V^,          pKM  V^ 8¼  g   K�  W7,          pVP                  '       g
   RVn        KÀ  VP                  R,          R8w  g   KÚ  V;P                  R,          un        Kõ  	  V# )r`  r¶   rÛ   r^   rÇ   )r'  r}   ró   rx   r˜   rw   r¶   rE   )	r(  rÂ   r)  r  r'  r  rp   r  r¯  s	   &&&      r<   Ú_split_blParaHardr8  G  sÄ   € Ø
€AØ�L‰L˜Ð$€EÛˆØ—”ˆAØ�H‰H�QŽKñ à˜"•IÕÜ�A“�q•ˆAØ�Q”$œ7 1¥4¨×1Ò1¼'À!Å$Ç+Á+ÈgÐVW×:XÒ:XÐZ[Ð_`ÕZ`ÒZ[Ø�!ŽtØ•D�Ø—v—v�v¨˜qžvØ—V‘V˜B•Z –_ a§f¢f°¥m§fñ ð €Hr>   c                óŒ  € VP                   pV'       g   VP                   R8w  EdW   VR8H  p\        V4      '       d’   TpT;'       d
    \        V9   p	V	'       d   VRVP                  \        4       p\	        W„P
                  VP                  4      p
V	'       d4   V
R\	        \        VP
                  VP                  4      ,          ,          p
M±^ p
V F¦  pVP                  pT;'       d
    \        V9   p	V	'       dL   VRVP                  \        4       pV
R\	        \        VP                  VP                  4      ,          ,          p
V
\	        W‹P                  VP                  4      ,          p
V	'       g   K¦   M	  M^ p
VR8X  d
   V
R,          p
V\        VR^ 4      ,          pV'       g%   V P                  VP                  V
,
          V4      pMDV^ ,          pWÔP                  ,           VP                  V
,           ,
          pV P                  Wâ4      pVP                  VP
                  VP                  4       VP                  \        VRVP                   4      4       \        V4      '       d   VP#                  V4       MeV F_  pVP                  VP                  VP                  4       VP                  VP                   4       VP#                  VP                  4       Ka  	  V P%                  V4       V'       gE   VP'                  4       VP                  R,          ,           p\)        WVP*                  ,
          4      pV# )	z:draw a bullet text could be a simple string or a frag listrÂ   ÚnumericNrƒ   r�   ÚbulletOffsetYÚbulletColorç333333ã?)ÚbulletAnchorr-   r'   Úindexr   ÚbulletFontNameÚbulletFontSizerE   r¥   r›   rw   Ú	beginTextÚbulletIndentÚrightIndentré   rí   r¦   ÚtextOutÚdrawTextÚgetXr´   rË   )Úcanvasr{   r½   Ú
bulletTextrª   Úrtlr>  r:  rn  ÚqÚbulletWidthr  Útx2rÛ   ÚbulletStartÚ	bulletEnds   &&&&&&          r<   Ú_drawBulletrP  V  s‚  € à×%Ñ%€Lß
ˆe× Ñ  'Õ)Ø 	Ñ)ˆÜ�×ÒØˆAØ×.Ð.œM¨QÑ.ˆAß�aÐ/˜Ÿ™¤Ó/Ð0�!Ü% a×)=Ñ)=¸u×?SÑ?SÓTˆKß�+ ¤{´=À%×BVÑBVÐX]×XlÑXlÓ'mÕ!mÕm�+øð ˆKÛ�Ø—F‘F�Ø×2Ð2¤°Ñ 2�ßØÐ1˜1Ÿ7™7¤=Ó1Ð2�AØ 3¬´]ÀAÇJÁJÐPQ×PZÑPZÓ)[Õ#[Õ[�KØœ{¨1¯j©j¸!¿*¹*ÓEÕE�ß‘1Ùò  ð ˆØ�XÔ˜{¨cÕ1˜{Ø	ŒW�U˜?¨1Ó-Õ-€EßØ×Ñ˜u×1Ñ1°+Õ=¸eÓD‰à�A•ˆØ×-Ñ-Õ-¨u×/AÑ/AÀ+Õ/MÕNˆØ×Ñ˜{Ó2ˆØ‡K�K�×$Ñ$ e×&:Ñ&:Ô;Ø×Ñ”W˜U =°·±ÓAÔBÜˆZ×ÒØ�‰�JÕãˆAØ�K‰K˜Ÿ
™
 A§J¡JÔ/Ø×Ñ˜QŸ[™[Ô)Ø�K‰K˜Ÿ™Öñ ð
 ‡O�O�CÔßð —H‘H“J ×!5Ñ!5¸Õ!;Õ;ˆ	Ü�V¨×(8Ñ(8Õ8Ó9ˆØ€Mr>   c                ó.  € V '       Ed   \        V 4      '       d"   \        WP                  VP                  4      pM=^ pV  F5  pV\        VP                  VP
                  VP                  4      ,          pK7  	  VP                  V,           RVP                  ,          ,           pVP                  R8X  d   VP                  VP                  ,           pMVP                  VP                  ,           pWV8”  d   V^ ;;,          WV,
          ,          uu&   R# R# R# )z@work out bullet width and adjust maxWidths[0] if neccessary
    r=  rÃ   N)r-   r   r@  rA  rE   r¥   r›   rC  rô   rD  ÚfirstLineIndentrË   )rI  rª   r¨  rL  r  Ú	bulletLenÚindents   &&&    r<   Ú_handleBulletWidthrU  ‰  sÕ   € ÷ €zÜ�×ÒÜ% z×3GÑ3GÈ×I]ÑI]Ó^‰Kð ˆKÛ�Øœ{¨1¯6©6°1·:±:¸q¿z¹zÓJÕJ’ñ  à×&Ñ&¨Õ4°s¸U×=QÑ=QÕ7QÕQˆ	Ø�>‰>˜5Ô Ø×&Ñ& u×'<Ñ'<Õ<‰Fà×%Ñ% e×&;Ñ&;Õ;ˆFØÔà�a�L˜YÕ/Õ0�Lñ ñ r>   c                óÌ  € . p^ pW,          pRp\        V 4      p^ ;rx WV8  dZ   W‡8  d   X	V,          R8X  d   V^,          pK  W‡8X  d4   V^,          pWV8X  d   M$^ pW,          p
V
P                  p	\        V	4      pK^   W‡8X  d   R# Rp. p^ p^ pWÔ8  g   Kx  X	P                  RV4      pV^ 8  d   W÷8H   \        W˜V X
P                  V
P
                  4      pVV,          pWÔ8”  d@   V. 8w  d9   VV,
          pVP                  V,          R8X  d   V^,
          pV^,
          pK,  EK  V^ 8  d   TpV^ ,          V
J d   Wû^&   MW¨V3pVP                  V4       W÷8X  g   KÎ  V^,          pKÙ  )z¹
given a list of ParaFrags we return a list of ParaLines

each ParaLine has
1)  ExtraSpace
2)  blankCount
3)  [textDefns....]
each text definition is a (ParaFrag, start, limit) triplet
r^   NrÇ   )NNN)rx   rE   r¶  r   r¥   r›   ró   )r}  Úwidthsr'  ÚlineNumÚmaxWr  r  ÚlimrÂ   rE   r  r¯  rø   ÚcLenr€   rr  rp   s   &&               r<   ÚsplitLines0r\  �  sX  € ð €EØ€GØ�o€DØ€AÜ�%‹j€AØÐ€CØ
àŒcØ”)  U¥¨SÔ 0°%¸1µ*²%ØŒzØ�Q•�Ø”4˜Ø�Ø•H�Ø—v‘v�Ü˜$“i’ààŒ:‘uð #ˆØˆØˆØˆØŽiØ—	‘	˜#˜eÓ$ˆAØ�Œs�A’FÜ˜D q˜M¨!¯*©*°Q·Z±ZÓ@ˆAØ�A�IˆDØŒy˜T 2œXØ˜A•v�à—f‘f˜S•k 3Ô&Ø �'�CØ% a�i’GÚØ�Œs˜�AØ��t�q‹y ˜Aš$à˜Q�K�Ø—‘˜A”ØŽvØ�Q•’r>   c                 óÎ   € V P                   pVP                  pWX8w  d   VP                  V4       VP                  p	Wi8w  d   VP	                  V4       VP                  WW44       R # rŒ   )rß   Ú
_lineWidthÚsetLineWidthÚ_strokeColorObjÚsetStrokeColorrø   )
rl   Úx1Úy1Úx2Úy2ÚnlwÚnscÚcanvÚolwÚoscs
   &&&&&&&   r<   Ú_do_linerk  ×  sS   € Ø�:‰:€DØ
�/‰/€CØ
„xØ×Ñ˜#ÔØ
×
Ñ
€CØ
„xØ×Ñ˜CÔ Ø‡I�Iˆb�bÖr>   c           	      ó.  € VP                   pVP                  pVP                  WP                  ,          ,
          pVP                  pVP
                  p	VP                  p
\        W™V	R 7      pVP                  pWP                  P                  RP                  VP                   P                  V ,          ^,          4      VP                  V	4      ,           V,           pV F±  w  rïppppppVR8H  p\        VW³P                  R7      p\        VV^R7      pVV,           pV'       g   V) pVV,           \        VR8X  d   V'       d   RMRMTV4      ,           pV'       g   T
pV^ 8”  g   K‰  VP                  VVVVVV4       VV,          pV^,          pK3  	  R# ))rc   r�  r  r^   Ú	underline©r:   r0   ú-0.125*Lú0.25*LN)rÈ   rª   r½   r¾   r  r›   r¦   ræ   Ú_defaultLineWidthrß   r   r_   r'  rè   r=   rk  )r  rb  rÿ   rl   rÖ   r¿   rª   Úy0r  ÚfsÚtcÚvaluesÚdwrd  r  Úkr£  rp   Úor!  r;   r¯  rm  ÚlwÚlgr¨   Úys   &&&&&                      r<   Ú_do_under_liner|  á  sI  € Ø	�‰€BØ�H‰H€EØ	�‰�A—m‘m•OÕ	#€BØ
�‰€AØ	
�‰€BØ	
�‰€BÜ�B˜bÔ!€FØ	×	Ñ	€BØ	�j‰j×$Ñ$ S§X¡X¨b¯l©l×.@Ñ.@ÀÕ.CÀAÕ.FÓ%GÈÏÉÐWYÓZÕ	ZÐ]_Õ	_€BÛ#‰ˆˆAˆa��!�A�aØ�{‘Nˆ	Ü�Q�v×&:Ñ&:Ô;ˆÜ�Q�v aÔ(ˆØ��Uˆß ˜s˜"Ø��F”WÈÈ2Ì¯I™j¹8ÐSTÐU[Ó\Õ\ˆß�b�!Ø�ŽcØ�K‰K˜˜A˜r 1 b¨!Ô,Ø��GˆAØ��FŠAó $r>   z^[a-zA-Z][-+a-zA-Z0-9]+$c                 ó¨  € V'       g   R # VP                  R4      '       d)   V P                  P                  RVR,          V^R7       R # VP                  R^4      p\	        V4      ^8H  ;'       d     V^ ,          P                  4       ;'       g    RpVR8X  d)   V P                  P                  RV^,          V^R7       R # \        P                  V4      '       dX   VP                  4       R8H  ;'       d    R;'       g    R	pVR8X  d
   V^,          pV P                  P                  W^VR
7       R # V P                  P                  W^R	R
7       R # )NÚ#r0   r_  )ÚrelativeÚ:ÚdocumentÚpdfÚGoToRÚURI)r  rÙ   )	Ú
startswithrß   ÚlinkRectrD   rx   ÚlowerÚ
_scheme_rer4   ÚlinkURL)rl   rð   ÚrectÚpartsr¸  rÙ   s   &&&   r<   Ú_doLinkrŒ  ù  s  € ß‘Ø‡��s×ÒØ
�
‰
×Ñ˜B  R¥¨$¸ÐÖ;à—
‘
˜3˜qÓ!ˆÜ�U“˜Q‘×3Ð3 5¨¥8§>¡>Ó#3×9Ð9°rˆØ�:ÔØ�J‰J×Ñ  E¨!¥H¨d¸QÐÖ?Ü×Ñ˜f×%Ò%Ø—‘“ Ñ&×2Ð2¨7×;Ð;°eˆDØ�WŒ} U¨1¥X˜dØ�J‰J×Ñ˜t°A¸DÐÖAà�J‰J×Ñ˜t°A¸EÐÖBr>   c           
      óÒ  € VP                   pVP                  P                  pVP                  W,          ,
          VP                  P
                  R ,          ,
          pRP                  VP                  V ,          ^,          4      pVP                  P                  WsP                  VP                  4      pVP                   F   w  rš\        W:WW,           We,           34       K"  	  R# )g       @r^   N)rÈ   rª   r¾   r½   r  r›   r_   r'  rß   r   rè   rÚ   rð   rŒ  )r  Út_offrÿ   rl   r¿   r¾   r{  rE   Útextlenr  rð   s   &&&&       r<   Ú_do_link_liner�  	  s™   € Ø	�‰€BØ�h‰h×Ñ€GØ
�‰�1•9Õ˜rŸt™tŸ}™}¨SÕ0Õ0€AØ�8‰8�B—H‘H˜Q•K •NÓ#€DØ�j‰j×$Ñ$ T¯<©<¸¿¹ÓF€GØ—7”7‰ˆÜ�˜5 U¥]°AµIÐ>Ö?ó r>   c                 ó0  € V P                   pVP                  pVP                  pVP                  P                  pVP
                  pVP                  pVR 8X  d   \        VRV,          4      pMVR8X  d
   RV,          pVP                  '       dv   W&,           pWt,
          pVP                   FG  w  ršpV P                  P                  V4       V P                  P                  W˜W©,
          V^ ^R7       KI  	  . Vn        RVn        \        VP                  P                  4       4       F)  w  w  w  w  rÍržrú\!        WW’V,           W¢V,           34       K+  	  / Vn        VP"                  '       Ed   V P$                  p\'        VR7      p\        VP"                  P                  4       4       FÈ  w  w  w  w  ppppppppppp	pp
VR8H  pVVR&   VVR&   \)        VVV P$                  R	7      p\)        VV^R	7      pVV,           pV'       g   V) pVV,           \)        VR
8w  d   TMV'       d   RMRV4      ,           pV'       g   TpV^ 8”  g   K   V P+                  V	VV
VVV4       VV,          pV^,          pK3  	  / Vn        V;P                  V,          un        R# )r´   r‘   rÆ   )ÚstrokeÚfillNrb   rm  r  r�  rn  r0   ro  rp  )rÈ   r½   r  rª   r¾   rÊ   r›   r´   rò   rß   rí   rŠ  r§   Úsortedr×   ru  rŒ  rÖ   rq  ræ   r=   rk  ) rl   r¿   rr  r  r¾   rÊ   r›   ÚylÚydescrb  rd  r£  r  rð   r  r  rv  ru  rw  rp   rx  r!  r;   r¯  rs  rt  r  rm  ry  rz  r¨   r{  s    &                               r<   Ú_do_post_textr—    s1  € Ø	�‰€BØ	�‰€BØ
�‰€AØ�h‰h×Ñ€GØ—.‘.€KØ�z‰z€HØ�EÔÜ�g˜c (�lÓ+‰Ø	�eÔ	Ø�h•,ˆà	‡}‡}€}Ø�]ˆØ•ˆà—}”}‰GˆB�!Ø�J‰J×#Ñ# AÔ&Ø�J‰J�O‰O˜B R¥U¨7¸!ÀˆOÖCñ %ð ˆŒØˆŒä$*¨2¯8©8¯?©?Ó+<Ö$=Ñ Ñ‰‰(ˆ1�2˜"Ü�˜2 "�u b¨R­%Ð0Ö1ñ %>à€B„Hà	‡{‡{�{à×!Ñ!ˆÜ˜Ô!ˆÜ7=¸b¿k¹k×>PÑ>PÓ>RÖ7SÑ3Ñ0Ñ)Ñˆq��1�Q�q˜˜1˜Q  2 b¨%°Ø˜;™ˆIØˆF�3‰KØˆF�3‰KÜ˜˜6¨"×*>Ñ*>Ô?ˆBÜ˜˜6¨!Ô,ˆBØ�B•ˆBß B 3˜bØ�Q•œ a¨¤e¡Ç	±*ÈxÐY_Ó`Õ`ˆAç˜"�aØ�A–#Ø—‘˜B  2 q¨"¨aÔ0Ø�R•�Ø�Q•’ñ 8Tð ˆŒà‡H‚H�Õ‡Hr>   c                 ó<  € VP                   pV'       Ed‡   VP                  4       pVR 8X  d   \        P                  pMUVR8X  d   \        P                  pM=VR8X  d   \        P                  pM%VR8X  d   R# \        RVP                   ,          4      h\        V 4      pV^8X  d(   V! V ^ ,          P                  4      V ^ ,          n        R# V\        P                  J d�   RpV  F„  pVP                  pV'       g   K  VP                  R4      '       g	   V'       d
   V! V4      pM,VP                  R4      pV^ 8¼  d   VRV V! WgR 4      ,           pVP                  R4      pWen        K†  	  R# V  F&  pVP                  pV'       g   K  V! V4      Vn        K(  	  R# R# )Ú	lowercaseÚ	uppercaseÚ
capitalizeÚnoneNz+ParaStyle.textTransform value %r is invalidTr^   )ÚtextTransformr‡  rF  ÚupperÚtitleÚ
ValueErrorrx   rE   r…  r¶  rµ  )r}  rª   Úttr  Úpbr  rJ  r  s   &&      r<   ÚtextTransformFragsr£  C  s@  € Ø	×	Ñ	€Bß	€rØ�8‰8‹:ˆØˆ{Œ?Ü—‘‰BØ�Œ_Ü—‘‰BØ�,ÔÜ—‘‰BØ�ŒZÙäÐJÈU×M`ÑM`Õ`ÓaÐaÜ�‹JˆØˆaŒ4á˜u Q�xŸ}™}Ó-ˆE�!�HŽMØ”3—9‘9‹_ØˆBÛ�Ø—F‘F�ß™(Ø—<‘< ×$Ò$¯Ù˜1›‘AàŸ™˜s›�AØ˜!”tØ˜b˜q˜E¡" Q r U£)�O˜Ø—Z‘Z “_�Ø–ó ó �Ø—F‘F�ß™(Ù˜A›�–ó ñ= 
r>   c                   óN   a € ] tR tRt o RtR t]! R 4      t]! R 4      tRt	V t
R# )ÚcjkUih  z4simple class to hold the frag corresponding to a strc                óè   € \         P                  W4      pW$n        \        VR 4      '       d    \	        VP
                  R^ 4      pWTn        V# \        WP                  VP                  4      Vn        V# )r¶   rÛ   )
rF  rG  Ú_fragr˜   rw   r¶   Ú_widthr   r¥   r›   )rI  ÚvalueÚfragr  rN  rp   s   &&&&  r<   rG  ÚcjkU.__new__j  s]   € Ü�{‰{˜3Ó%ˆØŒ
Ü�4˜×!Ò!Ü˜Ÿ™ G¨AÓ.ˆAØŒKð ˆô & e¯M©M¸$¿-¹-ÓHˆDŒKØˆr>   c                ó   € V P                   # rŒ   )r§  ©rN  s   &r<   r²   ÚcjkU.<lambda>s  s   €  §¢r>   c                ó   € V P                   # rŒ   )r¨  r­  s   &r<   r²   r®  t  s   €  $§+¢+r>   )r§  r¨  N)rT   rU   rV   rW   rX   rG  Úpropertyrª  rÛ   rY   rP  rQ  s   @r<   r¥  r¥  h  s%   ø‡ € Ù>òñ Ñ+Ó,€DÙÑ-Ó.†Er>   r¥  c                 ó2  € . p. p\        4       p^ ;p	;r«V  EF&  pVP                  pVP                  pV'       dj   \        VRR4      p\        VR^ 4      '       d0   \	        \        VP                  V4      VP                  V4      w  ppM3\        VP                  V4      w  ppM\        VP                  V4      w  pp\        Wž4      p	\        V
V4      p
\        VV4      p\        W�4      '       g<   VP                  4       pRP                  V4      Vn        VP!                  V4       . pTpVP!                  V4       EK)  	  V'       d8   VP                  4       pRP                  V4      Vn        VP!                  V4       \        ^V^VR,          WšW±W$R7
      # )r£   r¶   NrÛ   r0   r_  )
rÙ   r  r   r}   r›   rÍ   rÏ   rö   ÚcurrentWidthr,  )r   rª  r›   rw   r�   r¡   rÝ   rÞ   r	   r¥   r´   rÆ   r.   r§  r_   rE   ró   )râ  rö   Ú	widthUsedr  r,  Ú
calcBoundsr}   ÚCWr˜  ÚmaxSizeÚ	maxAscentÚ
minDescentrJ  r  r›   r¶   rÏ   rÍ   s   &&&&&&            r<   ÚmakeCJKParaLiner¹  v  sc  € Ø€EØ	€BÜ	‹€BØ'(Ð(€GÐ(ˆiÜˆØ�F‰FˆØ—:‘:ˆßÜ˜Q˜x¨Ó-ˆFÜ�v˜g a×(Ò(Ü"+¬H°V·]±]À8Ó,LÈVÏ]É]Ð[cÓ"d‘�™ä"2°1·:±:¸hÓ"G‘�™ä.¨q¯z©z¸(ÓC‰OˆF�GÜ�gÓ'ˆÜ˜	 &Ó)ˆ	Ü˜ GÓ,ˆ
Ü˜�~Š~Ø�x‰x‹zˆBØ—g‘g˜b“kˆBŒGØ�L‰L˜ÔØˆBØˆBØ
�	‰	�!�ñ) ÷* 
Ø�8‰8‹:ˆØ—'‘'˜"“+ˆŒØ�‰�RÔÜ˜ j¸1À5ÈÅ9ÐV]ð  xBð  bkô  @ð  @r>   c                ó¶  a€ . oV  F�  pVP                   p\        V4      '       d   VP                  V4      pV'       d.   SP                  V Uu. uF  p\	        WdV4      NK  	  up4       Kf  SP                  \	        WTV4      4       Kƒ  	  . p^ ;p;ršV^ ,          p\        S4      pWŒ8  EdÕ   SV,          pV^,          pVP                  p\        VR4      '       d   W¾n	        VP                  V4      pWž,          p	\        VP                  R4      pW›\        ,           8„  ;'       d    V	^ 8„  ;'       g    TpV'       g   Kœ  W¹,
          pV'       g÷   \        V4      R8  d½   W¨,           ^,	          p\        V^,
          VR	4       F•  pSV,          pV'       d   \        V4      R8X  g   \        V4      R8¼  g   K6  V^,           pVV8  g   KH  V^,           pV\!        V3R l\        VV4       4       4      ,          pSV,          P                  pSV,          pTp M	  V\"        9  d    WŠ^,           8”  d   V^,          pVV,          pVP                  \%        SW¨ W¹VWò4      4        V\        V4      ,          pTp
^ p	EKÛ  V	^ 8”  d(   VP                  \%        SV
R W¹W¹,
          RV4      4       \)        ^VR7      # u upi   \&         d    TR	,          p L]i ; i)
z@This attempts to be wordSplit for frags using the dumb algorithmr”   r,  i 0  ÚZsc              3   óJ   <"  € T F  pSV,          P                   x € K  	  R # 5irŒ   )rÛ   )rç  Úiirâ  s   & €r<   rè  ÚcjkFragSplit.<locals>.<genexpr>Æ  s   øé € Ð1SÉ
À"°!°Bµ%·+¶+Ë
ùs   ƒ #NF©rÙ   r'  rÇ   )rE   r,   rB   rW  r¥  ró   rx   rÛ   r˜   r�  r”   rª  r(   ÚordrÍ  r   r!  r#   r¹  Ú
IndexErrorr   )r}  r¨  r´  r  r  rE   rn  r'  r  r³  ÚlineStartPosrö   ÚnUrJ  rp   r,  ÚendLiner  Ú
limitCheckrr  Úujrw  râ  s   &&&&                  @r<   ÚcjkFragSplitrÇ  –  s  ø€ à
€AÛˆØ�v‰vˆÜ�4�=Š=Ø—;‘;˜xÓ(ˆDßØ�H‰H±$Ó7±$¨Q”d˜1˜xÖ(±$Ñ7Ö8à�H‰H”T˜$ Ó*Ö+ñ ð €EØ#$Ð$€AÐ$ˆ	Ø˜�|€HÜ	ˆQ‹€BØ
�$Øˆa�DˆØ	ˆQ�ˆØ�G‰GˆÜ�1Ð&×'Ò'Ø$ŒMØ×!Ñ! (Ó+ˆAØ�ˆ	Ü˜AŸF™F ;Ó/ˆ	Ø¬Õ-Ñ-×=Ð=°)¸A±+×KÐKÀ)ˆß‰7Ø!Õ-ˆJßÜ�q“6˜&”=ð #/¥.°1Õ!4�JÜ" 1 Q¥3 z°"Ö5˜Ø˜q�T˜ß¤(¨2£,°Ô"4¼¸B»À¾Ø ! !¥˜AØ  žsØ$% a¥C Ø *¬cÔ1SÌÈaÐPQÌ
Ó1SÓ.SÕ S 
Ø$% a¥D§J¡J Ø$% a¥D Ø$% Ù %ñ 6ð& Ô,Ô,°Àµ>Ô1Að ˜•F�AØ !•O�JØ�L‰Lœ¨¨<Ð):¸8ÈjÐYbÓnÔoð)Ø$¤S¨£ZÕ0�ð ˆLØ‹Ið �1„}Ø�‰”_ Q | }Ð%5°hÈÕI[Ð\aÐblÓmÔnä˜! %Ô(Ð(ùòO 8øôz ô )Ø$ R�=’ð)ús   ÁJ<
É(K ËKËKc                 ó(  € VP                   V n        \        VR R4      V n        \        VRR4      V n        \        VRR4      ;'       g    RV n        \        VRR4      V n        \        VRR4      V n        \        VRR4      ;'       g    RV n        R	# )
ÚunderlineColorr0   ÚunderlineWidthÚunderlineOffsetz-0.125fÚstrikeColorÚstrikeWidthÚstrikeOffsetz0.25fN)	r^  rq  rw   Ú_underlineColorÚ_underlineWidthÚ_underlineOffsetÚ_strikeColorÚ_strikeWidthÚ_strikeOffset)rl   rH  rª   s   &&&r<   Ú_setTXLinePropsrÕ  ç  s‡   € Ø!×,Ñ,€BÔÜ  Ð'7¸Ó;€BÔÜ  Ð'7¸Ó;€BÔÜ! %Ð(9¸"Ó=×JÐJÀ€BÔÜ˜e M°"Ó5€B„OÜ˜e M°"Ó5€B„OÜ˜u ^°BÓ7×BÐB¸7€BÖr>   c                óø   € \        R4      p. P                  pV  FF  pRpVR,           F,  w  rg\        VR4      '       d   TpM
V'       g   TpWW,          pK.  	  V! V4       KH  	  \        VP                  VRR7      # )z0return the Visual order for a list of frag wordsi ø  r0   r_  r¶   T©Ú	directionÚwx)Úchrró   r˜   r   Ú__self__)r}   rØ  Úpur–  rp   rE   r  r8   s   &&      r<   ÚfragWordsVisualOrderrÝ  ð  st   € ä	ˆV‹€BØ
�	‰	€AÛˆØˆØ�b—E�E‰DˆAÜ�q˜×"Ò"Ø‘ßØ�Ø�IŠDñ ñ 	
ˆ$Žñ ô ˜Ÿ
™
¨Y¸$Ô?Ð?r>   c                 ó   € V P                   # rŒ   )Ú	__bidiV__r/  s   &r<   r²   r²   ÿ  s   € �a—k’kr>   c                   óž   a € ] tR tRt o RtRR ltR tR tR tR t	R	 t
R
 tR tR tR tR tR tRR ltRR ltR t]RR l4       tRtV tR# )r   i  a_
  Paragraph(text, style, bulletText=None, caseSensitive=1)
text a string of stuff to go into the paragraph.
style is a style definition as in reportlab.lib.styles.
bulletText is an optional bullet defintion.
caseSensitive set this to 0 if you want the markup tags and their attributes to be case-insensitive.

This class is a flowable that can format a block of text
into a paragraph with a given style.

The paragraph Text can contain XML-like markup including the tags:
<b> ... </b> - bold
< u [color="red"] [width="pts"] [offset="pts"]> < /u > - underline
    width and offset can be empty meaning use existing canvas line width
    or with an f/F suffix regarded as a fraction of the font size
< strike > < /strike > - strike through has the same parameters as underline
<i> ... </i> - italics
<u> ... </u> - underline
<strike> ... </strike> - strike through
<super> ... </super> - superscript
<sub> ... </sub> - subscript
<font name=fontfamily/fontname color=colorname size=float>
<span name=fontfamily/fontname color=colorname backcolor=colorname size=float style=stylename>
<onDraw name=callable label="a label"/>
<index [name="callablecanvasattribute"] label="a label"/>
<link>link text</link>
    attributes of links
        size/fontSize/uwidth/uoffset=num
        name/face/fontName=name
        fg/textColor/color/ucolor=color
        backcolor/backColor/bgcolor=color
        dest/destination/target/href/link=target
        underline=bool turn on underline
<a>anchor text</a>
    attributes of anchors
        size/fontSize/uwidth/uoffset=num
        fontName=name
        fg/textColor/color/ucolor=color
        backcolor/backColor/bgcolor=color
        href=href
        underline="yes|no"
<a name="anchorpoint"/>
<unichar name="unicode character name"/>
<unichar value="unicode code point"/>
<img src="path" width="1in" height="1in" valign="bottom"/>
        width="w%" --> fontSize*w/100   idea from Roberto Alsina
        height="h%" --> linewidth*h/100 <ralsina@netmanagers.com.ar>

The whole may be surrounded by <para> </para> tags

The <b> and <i> tags will work for the built-in fonts (Helvetica
/Times / Courier).  For other fonts you need to register a family
of 4 fonts using reportlab.pdfbase.pdfmetrics.registerFont; then
use the addMapping function to tell the library that these 4 fonts
form a family e.g.
from reportlab.lib.fonts import addMapping
addMapping('Vera', 0, 0, 'Vera')    #normal
addMapping('Vera', 0, 1, 'Vera-Italic')    #italic
addMapping('Vera', 1, 0, 'Vera-Bold')    #bold
addMapping('Vera', 1, 1, 'Vera-BoldItalic')    #italic and bold

It will also be able to handle any MathML specified Greek characters.
Nc           	     ó˜   € Vf   \        RR7      pWPn        W`n        T P                  YT;'       g    \	        VRR 4      V\
        4       R # )NÚparagraphImplicitDefaultStyle)râ   rI  )r$   ÚcaseSensitiver  Ú_setuprw   ri   )rN  rE   rª   rI  r}  rã  r  s   &&&&&&&r<   Ú__init__ÚParagraph.__init__@  sB   € ØŠ=Ü"Ð(GÔHˆEØ*ÔØ ŒØ�‰�D ×!OÐ!O¬w°u¸\È$Ó/OÐQVÔXlÖmr>   c                óÒ  € V P                   P                  pVR ,           .p\        V P                  P	                  4       4      pV Fv  pVP                  \        V4      P                  RR4      P                  RR4      : R\        \        W4      4      P                  RR4      P                  RR4      : 24       Kx  	  VP                  RV,           4       RP                  V4      # )Ú(rf   r^   ú  z: z) #)
r5  rT   r`   Ú__dict__Úkeysró   ÚreprÚreplacerw   r_   )rN  r  rc   rë  rw  s   &    r<   Ú__repr__ÚParagraph.__repr__H  sÄ   € Ø�N‰N×#Ñ#ˆØˆs�UˆGˆÜ�D—M‘M×&Ñ&Ó(Ó)ˆÛˆAØ�H‰H¤ a£§¡°°sÓ!;×!CÑ!CÀDÈÖ!MÌdÔSZÐ[_ÓScÓNd×NlÑNlÐmqÐsvÓNw×NÑNð  AEð  FIõ  OJð  Kö  Lñ à	�‰��q•ÔØ�y‰y˜‹|Ðr>   c                ób  € VfŒ   V! V4      p\        4       pV P                  Vn        VP                  W4      w  r$pVf<   \        RVP                  ^ ,          : RVR \        ^\        V4      4       : R24      h\        WB4       V'       d   TpWn        W@n	        W n
        W0n        ^ V n        R # )Nzxml parser error (z) in paragraph beginning
'r»   )r   rã  Úparser   ÚerrorsrÆ   rx   r£  rE   r}  rª   rI  Údebug)rN  rE   rª   rI  r}  ÚcleanerÚ_parserÚbulletTextFragss   &&&&&&  r<   rä  ÚParagraph._setupQ  s¤   € ð
 Š=Ù˜4“=ˆDÜ “lˆGØ$(×$6Ñ$6ˆGÔ!Ø,3¯M©M¸$Ó,EÑ)ˆE˜/ØŠ}Ý Ø—~‘~ a×(Ð(¨Ð.@¬s°2´c¸$³iÓ/@Ó)Að"Có Dð Dä˜uÔ+ß¨_ 
ð Œ	ØŒ
ØŒ
Ø$ŒØˆŽ
r>   c           	     óv  € V\         8  d   R# Wn        V P                  pVP                  pWVP                  ,           ,
          VP
                  ,
          pW,
          VP
                  ,
          pWV.V n        VP                  R8X  d   V P                  V P                  4      pMV P                  V P                  4      pWpn
        \        V R\        VRR4      4      pVP                  p	VP                  ^8X  dÀ   VR9  dœ   ^ p
VR8X  dC   VP                   F1  pV
\        VP                   VP"                  ,
          V	4      ,          p
K3  	  MÛVR8X  d8   VP                   F&  pW«P                   VP"                  ,
          ,          p
K(  	  M�\%        RV,          4      h\'        VP                  4      V	,          p
MnVR8X  d(   \        W—P                   VP"                  ,
          4      p	M$VR8X  d   VP                   VP"                  ,
          p	\'        VP                  4      V	,          p
W n        V P                  V
3# )	r£   ÚCJKrÊ   r0   r´   rÆ   úinvalid autoLeading value %r)r£   r^  ©r0   Úoff)r(   rÛ   rª   rË   rR  rD  Ú_wrapWidthsrô   ÚbreakLinesCJKÚ
breakLinesr(  rw   r¾   rÙ   r'  r´   rÍ   rÏ   r   rx   rÝ   )rN  Ú
availWidthÚavailHeightrª   rË   Úfirst_line_widthÚlater_widthsr(  rÊ   r¾   rÝ   r  s   &&&         r<   ÚwrapÚParagraph.wraph  s¾  € Ø”eÔà Ð àŒ
Ø—
‘
ˆØ×%Ñ%ˆ
Ø%°E×4IÑ4IÕ)IÕJÈU×M^ÑM^Õ^ÐØ!Õ.°×1BÑ1BÕBˆØ,Ð;ˆÔØ�>‰>˜UÔ"à×'Ñ'¨×(8Ñ(8Ó9‰Fà—_‘_ T×%5Ñ%5Ó6ˆFØŒÜ˜d =´¸¸}ÈRÓ1PÓQˆØ—-‘-ˆØ�;‰;˜Œ>Ø *Ô,Ø�Ø Ô%Ø#Ÿ\œ\˜Ø¤# a§h¡h¨q¯y©yÕ&8¸Ó"AÕAšò *à  %Ô'Ø#Ÿ\œ\˜Ø§(¡(¨Q¯Y©YÕ"6Õ6šò *ô %Ð%CÀkÕ%QÓRÐRä˜VŸ\™\Ó*¨WÕ4‘à˜EÔ!Ü˜g§m¡m°F·N±NÕ&BÓC‘Ø˜eÔ#Ø Ÿ-™-¨¯©Õ6�Ü˜Ÿ™Ó&¨Õ0ˆFØŒØ�z‰z˜6Ð!Ð!r>   c                ó’  aa€ V P                   p\        V4      pV'       g   ^ # V^8X  d„   \        V4      '       gs   V^ ,          pVP                  oVP                  o\        VV3R l\        VR4      '       d    \        VP                  R4       4       4      # VP                   4       4      # \        R \        V4       4       4      # )z-Attempt to determine a minimum sensible widthc              3   ó>   <"  € T F  p\        VSS4      x € K  	  R # 5irŒ   )r   )rç  rp   ÚfNÚfSs   & €€r<   rè  Ú%Paragraph.minWidth.<locals>.<genexpr>š  s   øé € ÐlÑ6j°”{ 1 R¨×+Ð+Ó6jùs   ƒrE   r^   c              3   ó2   "  € T F  q^ ,          x € K  	  R# 5irŒ  rR   )rç  rp   s   & r<   rè  r
  œ  s   é € Ð:Ñ%9 ˜—t’tÓ%9ùs   ‚)r}  rx   r~  r›   r¥   r´   r˜   rD   rE   r}   r¡  )rN  r}  ÚnFragsr  r  r	  s   &   @@r<   ÚminWidthÚParagraph.minWidth‘  sŸ   ù€ à—
‘
ˆÜ�E“
ˆß™aØ�1Œ9Ô-¨e×4Ò4Ø�a•ˆAØ—‘ˆBØ—‘ˆBÜÕlÌGÐTUÐV\×L]ÒL]´e¸A¿F¹FÀCÓ6HÐ6jÓlÓlÐlÐcd×cjÑcjÐ6jÓlÓlÐläÑ:¤]°5Ô%9Ó:Ó:Ð:r>   c                óØ  € V'       g   . # VP                   pWB,          P                  pV\        V4      8w  d   WC,          P                  M\        V P                  4      pV P                  WV pV'       d#   \	        VR,          \
        4      '       d   VR K*  \	        VR,          \        4      '       d6   \	        VR,          \        4      '       d   \        M\        VR,          n
        V# )r`  rÇ   )r'  ÚsFWrx   r}  rV  r6  r<  r\  rf  rA  r5  )rN  r(  rÂ   r)  r'  r  ÚsFWNr�  s   &&&&    r<   Ú_split_blParaProcessedÚ Paragraph._split_blParaProcessedž  s™   € ß˜B�YØ—‘ˆØ�l×ÑˆØ"&¬¨E«
Ô"2ˆu�{�Š¼¸D¿J¹J»ˆØ�J‰J�sÐ ˆß”J˜q �u¤]×3Ò3¸¸2ºÜ�a˜•eœL×)Ò)Ü,6°q¸µu¼X×,FÒ,F�jÌLˆAˆb�EŒOØˆr>   c                óž   € V P                   P                  ^ 8X  d   \        # \        V P                  4      '       g   \
        # V P                  # r1  )r(  rÙ   r6  r~  r}  r8  r  r­  s   &r<   Ú_get_split_blParaFuncÚParagraph._get_split_blParaFunc©  sA   € Ø'+§{¡{×'7Ñ'7¸Ô':Ô#ð 	;Ü3CÀDÇJÁJ×3OÒ3OÔ+ð	;à!×8Ñ8ð	;r>   c           
     ó†  € \        V P                  4      ^ 8:  g   V\        8  g   V\        8  d   . # \        V R4      '       g   V P	                  W4       V P
                  pV P                  p\        V R\        VRR4      4      pVP                  pVP                  pVP                  ^8X  dï   VR9  dè   ^ ;r‰VR8X  di   \        VP                  4       FN  w  r«\        VP                  VP                  ,
          V4      pWœ,           pWÒR,           8”  d    MéTp	V
^,           pKP  	  MÙVR8X  d]   \        VP                  4       FB  w  r«W›P                  ,           VP                  ,
          pWÒR,           8”  d    M†Tp	V
^,           pKD  	  Mv\        RV,          4      hTpVR8X  d   \        VRVP                   ,          4      pMVR8X  d   RVP                   ,          p\#        V\%        V4      ,          4      pW‹,          p	\        V R	\        VR	^ 4      4      pV'       g   V^8:  g   V^ 8X  d   V =. # \        V4      p\        V R
\        VR
^4      4      pWØ8:  d   V .# V'       g2   WØ^,           8X  d%   V'       d   V^8X  g   V^8”  d   V^,          pMV =. # V P'                  4       pVP(                  '       d   \+        V4      pRVn        MTpV P-                  RVV P.                  V! V^ V4      R7      p\1        ^VP                  ^ V W!R7      Vn        \3        VP                  V^,
          ,          \4        4      ;'       dQ    \        VP                  V^,
          ,          R4      ;'       d%    VP                  V^,
          ,          P6                  '       * Vn        ^Vn        V	Vn        VVn        VP@                  ^ 8w  d   \+        V4      p^ Vn         V P-                  RVRV! W8V4      R7      pR FE  p\        V V4      '       g   K  \C        VV\        V V4      4       \C        VV\        V V4      4       KG  	  VV.# )r£   r(  rÊ   r0   r´   rt   rÆ   rú  r‘   ÚallowOrphansÚallowWidowsN)rI  r}  )rÙ   r'  ÚaHr—  r,  rû  )rÊ   )"rx   r}  r(   r˜   r  r(  rª   rw   r¾   r'  rÙ   rØ   r´   rÍ   rÏ   r   r›   r  r5   r  r©   r%   r5  rI  r   rV  r   r,  Ú_JustifyLastÚ
_splitpararÝ   rÛ   rR  Úsetattr)rN  r   r  r(  rª   rÊ   r¾   r'  r8   rÝ   r  r  r™   r  r  r  r  Ústyle1ÚP1ÚP2rL  s   &&&                  r<   rD   ÚParagraph.split®  s˜  € Üˆt�z‰z‹?˜AÔ ¬EÔ!1°[ÄÔ5FÈrÈ	ô �t˜H×%Ò%Ø�I‰I�jÔ-Ø—‘ˆØ—
‘
ˆÜ˜d =´¸¸}ÈRÓ1PÓQˆØ—-‘-ˆØ—‘ˆØ�;‰;˜Œ>˜k°Ô;ØˆNˆAØ˜EÔ!Ü$ V§\¡\Ö2‘C�AÜ˜AŸH™H Q§Y¡YÕ.¨wÓ7�AØ��AØ TÕ)Ô)ÙØ�FØ˜!�’Aò 3ð ˜eÔ#Ü$ V§\¡\Ö2‘C�AØŸx™x�¨¯	©	Õ1�AØ TÕ)Ô)ÙØ�FØ˜!�’Aò 3ô !Ð!?À+Õ!MÓNÐNàˆAØ˜EÔ!Ü˜  E§N¡NÕ 2Ó3‘Ø˜eÔ#Ø˜Ÿ™Õ&�Ü�K¤ a£Õ(Ó)ˆAØ•SˆFä˜t N´7¸5ÀÐPQÓ3RÓSˆß  A¤¨!¨Q¬$Ø�ØˆIÜ�‹JˆÜ˜d =´¸¸}ÈQÓ1OÓPˆØŒ4Ø�6ˆMßØ�A•#Œvß  Q¨¤T¨a°¬cØ˜•F‘Aà˜Ø�IØ×)Ñ)Ó+ˆà�=�=ˆ=Ü˜e“_ˆFØ!ˆF�NàˆFØ�>‰>˜$˜v°·±ÁtÈFÐSTÐUVÓGWˆ>ÓXˆä 1¨6¯<©<¸¸!Ð+<ÀÔZˆŒ	ô  *¨&¯,©,°q¸µsÕ*;¼HÓE÷  @ð  @Ü$+¨F¯L©L¸¸1½Õ,=¸{Ó$K÷ @ð  @à$*§L¡L°°1µÕ$5×$?Ñ$?ôAˆŒð ˆŒØˆŒ	ØˆŒØ× Ñ  AÔ%Ü˜U“OˆEØ$%ˆEÔ!Ø�>‰>˜$˜u°¹4ÀÈÓ;Kˆ>ÓLˆóˆAä�t˜A�ŒÜ˜˜1œW T¨!›_Ô-Ü˜˜1œW T¨!›_Ö-ñ	ð �2ˆwˆr>   c                ó<   € V P                  V P                  4       R # rŒ   )ÚdrawPararó  r­  s   &r<   ÚdrawÚParagraph.draw  s   € ð 	�‰�d—j‘jÖ!r>   c                ó¸,  € ^ V n         \        V\        \        34      '       g   V.pMTp. p^ ;V n        p\        V4      ^,
          pV P                  pVP                  pT;'       d    VP                  4       R 9   pV'       d   \        p\        '       g   \        R4       VP                  ;'       d)    \        \        VP                  4      P                  4      p	\!        VRR4      p
V
'       d   \#        V
4      '       dJ   V
P%                  4       p
V
'       d/   \&        '       d#   \&        P(                  ! V
R7      P*                  p
M)Rp
M&\-        V
4      '       g   \/        RV
,          4      hMRp
VP0                  pVP2                  pV^8„  pVP4                  pVP6                  pT
;'       g    T;'       g    TpV'       d   \!        VR\8        4      p^ ;V n        V n        \?        V P@                  Wb4       V^ ,          p\!        V R\!        VRR4      4      pVR!9  pV PB                  p\        V4      pV^8X  Ed«   VPD                  '       Eg˜   \G        V^ ,          R4      '       Eg~   \G        V^ ,          R	4      '       Egd   \I        V4      '       EgR   V	'       EgI   V^ ,          pVPJ                  pVP                  p\M        VV4      w  ppR
p\G        VR4      '       dÌ   \%        VPN                  4      pV'       g   VPQ                  ^ . VVVR7      # \S        V4      pV'       d…   TpV	'       di   \U        V\V        RR7      p \Y        V4       U!U"u. uF>  w  p!p"\[        \]        V"VP                  \^        PJ                  R7      V V!,          V!4      NK@  	  pp!p"M\U        VVR7      pVV8g  pM_\        VP`                  \b        4      pVP`                  R,          pV F  p#\%        V#4      '       g   K   M	  VPQ                  ^ . VVVR7      # \e        RVVV Pf                  4      p$VV$,          p%. p&V$) p'\e        RVVV Pf                  4      p(^ p)V'       Ed
   VPi                  ^ 4      p*V*'       g   \        V*\j        4      '       d   ^p)M\l        V*9   d   \o        V*4      p*\e        V*VVV Pf                  4      p+V'V$,           V+,           p,VV%\        V&4      ,          ,           p-V,V-8”  Ed‡   \        V*\p        4      '       Egp   V)'       Egg   \        V*\n        4      '       dî   V*Ps                  VVV'V$,           V(,           R,
          V-V Pf                  R7      p.V.'       d$   V.VR&   V ;P<                  ^,          un        ^p)EK0  \        V&4      '       d|   V\u        WT4      ,          p/V'       g    V*Pv                  V(,           R,           V/8:  dC   V*Ps                  VV^ V(,           R,
          V/V Pf                  R7      p.V.'       d   V*.VR&   ^p)Rp*T'p,MÖV'       dÏ   \!        VRR
4      '       * p0\y        V0'       d   T
MRTTT*T+T,T-V0'       d   TMR
T;'       d    T0X4
      p.V.'       d$   V.VR&   V ;P<                  ^,          un        ^p)EK4  V'       dX   \        V&4      '       dG   \y        V0'       d   T
MRTTT*T+T+TV0'       d   TMR
T;'       d    T0V4
      p.V.'       d   V*.VR&   ^p)T'p,Rp*V'       d†   \        V*\j        4      '       gp   V)'       gh   \u        WE4      p1V+\{        VV1V1^,            4      8”  dC   \}        V*V'V$,           W$VVV Pf                  4      VR&   V ;P:                  ^,          un        ^p)EK   V,V-8:  g   \        V&4      '       d	   V)'       d~   V*'       d   V&P                  V*4       V)'       dX   ^ p)V,V P                   8”  d   V,V n         VP                  VV,,
          V&34       . p&V$) p'V^,          pV\u        WT4      ,          pEK¸  T,p'EK½  V'V P                   8”  d   V'V n         VP                  VV',
          V&34       V*.p&T+p'V^,          pV\u        WT4      ,          pEK  V&. 8w  d3   V'V P                   8”  d   V'V n         VP                  VV',
          V&34       V'       d2   V F   p2V2^,          P�                  \‚        R7       K"  	  \c        V4      pVPQ                  ^ VVVVR7      # V^ 8:  dL   \…        ^ VPJ                  VP                  VP†                  VPJ                  R"VPJ                  ,          . R7      # VPˆ                  '       * p3. p. p4V4P~                  p5\‹        VV4      pR
pV'       dÈ   \Œ        ;QJ d    R V 4       F  '       g   K   RM	  R
M! R V 4       4      '       gŽ   \�        VVR7      p V	'       dE   \Y        V4       U!U"u. uF,  w  p!p"\‘        \“        V"4      \•        V V!,          V!4      4      NK.  	  pp!p"MV\Y        V4       U!U"u. uF  w  p!p"\—        V"VV V!,          V!R7      NK  	  pp!p"M"V	'       d   V U"u. uF  p"\“        V"4      NK  	  pp"^ p6V'       EdQ   VPi                  ^ 4      p#V5! V#4       V#R#,          ^ ,          pVP                  pVPJ                  pV'       g   ^ ;p7;p$p'Tp8\M        VV4      w  p9p:V#^ ,          p+V#^,          ^ ,          pV+^ 8”  d   X'X$,           V+,           p,MX'p,VP˜                  \š        8H  p;Tp-V'       d‰   X$p<V Fn  p=V=P˜                  \œ        8X  g   K  V=PN                  PŸ                  R4      p>V>'       g   K?  V<V>\e        RV=P                  V=PJ                  4      ,          ,          p<Kp  	  V<V,          p<V-V<,          p-V;'       Egk   V,V-8”  Edc   \        V#\         4      '       EgL   \G        VR4      '       Eg9   \        V#\¢        4      '       Ed   V#P¥                  V,V-4      p.V.'       dg   V.VR&   VP§                  ^\©        ^ VPQ                  \š        RR7      R3.4      4       V4Pi                  R#4       V ;P<                  ^,          un        EK  \        V44      ^8”  dŠ   V\u        WT4      ,          p/V'       g   V#Pv                  R,           V/8:  dX   V#P¥                  V+V/4      p.V.'       d>   \©        ^ VPQ                  \š        RR7      R3.4      V#.VR&   V4Pi                  R#4       EK¬  EMDV'       Ed<   \!        VRR
4      '       * p0\«        V0'       d   T
MRT#T,T-V0'       d   TMR
T;'       d    T0X4      p.V.'       dg   V.VR&   VP§                  ^\©        ^ VPQ                  \š        RR7      R3.4      4       V4Pi                  R#4       V ;P<                  ^,          un        EKf  V'       d…   \        V44      ^8”  du   \«        V0'       d   T
MRT#T+TV0'       d   TMR
T;'       d    T0V4      p.V.'       d>   \©        ^ VPQ                  \š        RR7      R3.4      V#.VR&   V4Pi                  R#4       EKò  V'       d»   \        V#\¬        4      '       g¥   \u        WE4      p1V+\{        VV1V1^,            4      8”  d€   \¯        V#VX$,
          V',
          W$4      VR&   VP§                  ^\©        ^ VPQ                  \š        RR7      R3.4      4       V4Pi                  R#4       V ;P:                  ^,          un        EK´  V,V-8„  ;'       d    X7^ 8„  ;'       g    T;p?V?'       Egµ   V;'       d   EKä  V#^,          ^,          p@V@'       d
   X7^,          p7VPJ                  pV'       ds   VP˜                  \°        8X  dD   \³        \µ        VP¶                  P                  V4      VP¶                  P¸                  V4      w  ppM3\M        VP                  V4      w  ppM\M        VP                  V4      w  pp\{        X8V4      p8\{        X9V4      p9\u        X:V4      p:V'       g   VPQ                  4       pAVA.pX@VAn'        EM=\»        XAV4      '       g¯   X$'       d~   \        V4      ^,
          p!V!^ 8¼  de   VV!,          p=V!^,          p!V=P˜                  \œ        8X  g   K0  V=PN                  P½                  R4      '       g   V=;PN                  R,          un'         VPQ                  4       pAVP                  VA4       X@VAn'        M}X$'       d]   XAPN                  P½                  R4      '       g"   XA;PN                  RX@,           ,          un'        M3XA;PN                  X@,          un'        MXA;PN                  X@,          un'        \        V#\¾        4      '       d   \e        RVV4      M^ p$^ pBV#R,           EF  p!V!^ ,          PQ                  4       pAV!^,          VAn'        VAPN                  '       d   ^pBVP                  XA4       VAPJ                  pV'       ds   XAP˜                  \°        8X  dD   \³        \µ        XAP¶                  P                  V4      VAP¶                  P¸                  V4      w  ppM3\M        XAP                  V4      w  ppM\M        XAP                  V4      w  pp\{        V8V4      p8\{        V9V4      p9\u        V:V4      p:EK  	  X@'       g   XB'       d
   X7^,          p7T,p'EK�  V;'       dB   VPQ                  4       pAVP                  VA4       T3;'       d    \        V#\¨        4      '       * pCMR
pCV'V P                   8”  d   V'V n         VP                  \Á        VV',
          X7XCVX8X9X:VV6R7	      4       \        V44      ^,
          p6V^,          pV\u        WT4      ,          pV;'       d   . pE	KT  \        V#\¾        4      '       d   \e        RVV4      M^ p$V$V,          p%T+p'^p7VPQ                  4       pAVAPJ                  p8V'       ds   XAP˜                  \°        8X  dD   \³        \µ        XAP¶                  P                  V4      VAP¶                  P¸                  V4      w  ppM3\M        XAP                  V84      w  p9p:M\M        XAP                  V84      w  p9p:XA.pV#^,          ^,          VAn'        V#R,           Fü  p!V!^ ,          PQ                  4       pAV!^,          VAn'        VP                  VA4       VAPJ                  pV'       ds   XAP˜                  \°        8X  dD   \³        \µ        XAP¶                  P                  V4      VAP¶                  P¸                  V4      w  ppM3\M        XAP                  V4      w  ppM\M        XAP                  V4      w  pp\{        V8V4      p8\{        V9V4      p9\u        V:V4      p:Kþ  	  EKY  V'       dC   X'V P                   8”  d   V'V n         VP                  \Á        VV',
          X7R
VX8X9X:VV6R7	      4       V'       d*   V F#  p2V2P`                  P�                  \‚        R7       K%  	  V4V n!        \…        ^VR7      # u up"p!i u up"p!i u up"p!i u up"i )$až  
Returns a broken line structure. There are two cases

A) For the simple case of a single formatting input fragment the output is
    A fragment specifier with
        - kind = 0
        - fontName, fontSize, leading, textColor
        - lines=  A list of lines

                Each line has two items.

                1. unused width in points
                2. word list

B) When there is more than one input formatting fragment the output is
    A fragment specifier with
       - kind = 1
       - lines=  A list of fragments each having fields
                    - extraspace (needed for justified)
                    - fontSize
                    - words=word list
                        each word is itself a fragment with
                        various settings
    in addition frags becomes a frag word list

This structure can be used to easily draw paragraphs with the various alignments.
You can supply either a single width or a list of widths; the latter will have its
last item repeated until necessary. A 2-element list is useful when there is a
different first line indent; a longer list could be created to facilitate custom wraps
around irregular objects.r0   ÚhyphenationLang)ÚlangNzLhyphenator should be a language spec or a callable unicode -->  pairs not %rr*   rÊ   r¶   r§   FrE   )rÙ   r'  rÍ   rÏ   r›   Tr×  ©r¥   r›   )rØ  rU  r^   rT  rt   )r  :r£   r£   NÚnobrr1  )rÙ   r›   r¥   r¦   rÍ   rÏ   r'  c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irŒ   )ÚisBidiIndexListr  s   & r<   rè  Ú'Paragraph.breakLines.<locals>.<genexpr>ê  s   é € Ð$HÁ¸A¤_°Q×%7Ð%7Ãùs   ‚)rØ  ÚbidiVÚbidiL)r‘  rE   :é   NN)	r  r   r,  r}   r›   rÍ   rÏ   rö   r  r¿  )rÃ   ÚLTRrû  çš™™™™™É¿rÇ   )aÚ
_width_maxrV  rÝ  r`   rÝ   rx   rª   rô   rž  r   r   Úshapingr¦  r
   r¥   Úshapablerw   r-   r3   ÚpyphenÚPyphenÚiterateÚcallabler   rÏ  rÐ  ÚspaceShrinkageÚsplitLongWordsr*   Ú_splitLongWordCountÚ_hyphenationsrU  rI  r}  r©   r˜   r~  r›   r	   rE   r§  rD   r   rØ  rØ   r   ÚshapeStrrŸ   r}   r   r   r  Úpopr÷  rE  r   rû  r  rÆ   rd  r  r´   r  ró   r4  Ú	sortBidiVr   r¦   ÚjustifyBreaksr¡  ÚanyrÝ  ÚbidiIndexListWrapr   r   r   r‘  r•  r�  ro   r:  r\  rw  r’  r6  rõ  r8  r³  r“  r�   r¡   r¶   rÞ   r.   rµ  r4  r   )DrN  rÛ   r¨  r'  r©  rª  rª   rô   ÚdoBidir4  rÎ  rÏ  rÐ  Úhyphenation2r:  r;  ÚattemptHyphenationrÑ  rö   rÊ   r´  r}  r  r  r›   r¥   rÍ   rÏ   ÚbidiSortrE   r}   Ú_wordsÚVXr  rY  rp   Ú
spaceWidthÚdSpaceShrinkÚcLiner²  ÚhywÚforcedSplitÚwordr®  rg  r  ÚhswÚnMWÚhyOkÚnmwr  ÚnjlbvrÞ  ÚaFWr  r  r¶  r·  r¸  r,  ÚspaceShrinkÚwiÚnsrÄ  ÚnTextr¯  ÚniÚllbsD   &&                                                                  r<   rÿ  ÚParagraph.breakLines	  sB  € ð@ ˆŒÜ˜%¤¤t ×-Ò-¸E¸7©yØˆiØˆØ Ð ˆŒ�fÜ˜	“N 1Õ$ˆ	Ø—
‘
ˆØ—>‘>ˆØ×?Ð?˜hŸn™nÓ.°-Ñ?ˆßÜˆFß“:Ü˜”Ø—-‘-×JÐJ¤D¬°·±Ó)@×)IÑ)IÓ$JˆÜ˜UÐ#4°RÓ8ˆ
ßÜ�Z× Ò Ø'×-Ñ-Ó/�
ß§&£&Ü!'§¢°JÔ!?×!GÑ!G‘Jà!%‘JÜ˜j×)Ò)Ü Ð!oÐr|Õ!|Ó}Ð}ð *ð ˆJØ×-Ñ-ˆØ#×7Ñ7ÐØ*¨1Ñ,ˆØ×-Ñ-ˆØ×-Ñ-ˆØ'×PÐP¨>×PÐPÐ=PÐßÜ˜EÐ"<Ô=UÓVˆEØ89Ð9ˆÔ  4Ô#5ô 	˜4Ÿ?™?¨5Ô;à˜Q•<ˆä˜d =´¸¸}ÈRÓ1PÓQˆØ ¨
Ñ2ˆ
Ø—
‘
ˆÜ�E“
ˆØ�A�IØŸŸ™¬'°%¸µ(¸8×*DÓ*DÌÐPUÐVWÕPXÐYd×HeÓHeÜ  ×'Ó'¯7¨7Ø�a•ˆAØ—z‘zˆHØ—z‘zˆHÜ.¨x¸ÓA‰OˆF�GØˆHÜ�q˜× Ò Ü˜QŸV™V“}�ßØŸ7™7¨°¸6È'Ð[c˜7ÓdÐdô " $›K�EßØ!&˜ß"Ü!-¨e¼iÈ4Ô!P˜Bô Hð  INô  Oô  %Pñ  OÑwzÐwxÐyzÔ%5´h¸qÈ!Ï*É*Ô^_×^hÑ^hÔ6iÐjlÐmnÕjoÐpqÖ%rñ  O˜Eñ  %P˜Eä$0°À(Ô$K˜EØ#(¨F¡?˜øä% a§g¡g¬hÓ7�ØŸ™ �
�Û�AÜ˜Q—x”x¡ñ ð Ÿ7™7¨°¸6È'Ð[c˜7ÓdÐdÜ$ S¨(°H¸d¿m¹mÓLˆJØ)¨*Õ4ˆLØˆEØ&˜;ˆLÜ˜c 8¨X°t·}±}ÓEˆCØˆKß�%Ø—y‘y “|�ß¤
¨4´
× ;Ò ;Ø"#‘KÜ˜T”\Ü" 4›=�Dä'¨¨h¸À$Ç-Á-ÓP�	Ø'¨*Õ4°yÕ@�Ø# l´3°u³:Õ&=Õ=�à˜HÕ$¬j¸¼k×.JÓ.JÏkÈkÜ! $¤w×/Ò/Ø"×/Ñ/Ø (¨(Ø ,¨zÕ 9¸CÕ ?À$Õ FØ (Ø+/¯=©=ð	 0ó "˜÷ Ø),˜E #™JØ ×.Ò.°!Õ3Õ.Ø*+˜KÚ$Ü  ŸZšZØ"+¬C°	Ó,AÕ"B˜Cß+°·
±
¸3µ¸tÕ0CÀcÔ/IØ&*×&7Ñ&7Ø$,¨hØ$%¨¥G¨d¥NØ$'Ø/3¯}©}ð	 '8ó '& ÷ $'Ø26° E¨#¡JØ23 KØ+/ DØ/; Høß+Ü#*¨1¨V°EÓ#:Ô:˜Ü,¿4©ZÀTØ (¨(°D¸)ÀXÈxß6:¡NÀØ$7×$@Ð$@¸DÀ%óI˜÷ Ø),˜E #™JØ ×.Ò.°!Õ3Õ.Ø*+˜KÚ$ß)¬c°%¯jªjÜ"0¿t±ÈØ (¨(°D¸)ÀYÐPXß6:¡NÀØ$7×$@Ð$@¸DÀ%ó#I˜C÷  #Ø.2¨V  c¡
Ø./ Ø+7 Ø'+ ß%¬z¸$¼z×/JÒ/JÏkÜ! &Ó3˜Ø$¤S¨°3°s¸1µuÐ)=Ó%>Ô>ä)3°D¸ÀjÕ9PÐQZÐbjÐksÐtx÷  uBñ  uBó  *C˜E #™JØ ×4Ò4¸Õ9Õ4Ø*+˜KÚ$Ø˜XÔ%¬S°¯ZªZ¿;ç˜UŸ\™\¨$Ô/ç"Ø&'˜Ø# d§o¡oÔ5È°t´ØŸ™ h°Õ&9¸5Ð%AÔBØ "˜Ø(2 {˜Ø !�˜Ø#,¬S°Ó-BÕ#C›à'/›à# d§o¡oÔ5È°t´à—L‘L (¨\Õ"9¸5Ð!AÔBØ!˜F�EØ#,�LØ˜a•K�FØ(¬¨YÓ)>Õ?“Hð �bŒyØ §¡Ô/À<°´Ø—‘˜h¨Õ5°uÐ=Ô>çÛ�AØ�a•D—I‘I¤)�IÖ,ñ ä  ›�Ø—7‘7 ¨°fÀWÐV^�7Ó_Ð_Ø�QŒYÜ !¨e¯n©nÀuÇ~Á~Ø&+§o¡o¸e¿n¹nÐUYÐZ_×ZhÑZhÕUhØ"$ô&ð &ð ×+Ñ+Ô+ˆEØˆEØˆBØ—)‘)ˆCÜ" 5¨Ó2ˆFØˆHß§£Ñ$HÁÓ$H§§¢Ñ$HÁÓ$H× IÒ Iä)¨&¸HÔE�ßÜ`iÐjpÔ`qÔrÑ`qÑY\ÐYZÐ[\Ô/´¸aÓ0@ÄÈ2ÈaÍ5ÐQRÓASÖTÑ`q�FÑr�Fä`iÐjpÔ`qÔrÑ`qÑY\ÐYZÐ[\œl¨1°xÀbÈÅeÐRS×TÑ`q�FÑr�FßÙ4:Ó;±F¨qœ-¨Ö*±F�Ð;àˆCß�&Ø—J‘J˜q“M�Ù�A”Ø�b•E˜!•H�ØŸ:™:�ØŸ:™:�çØ45Ð5�AÐ5˜
 \Ø&�GÜ,<¸XÀhÓ,OÑ)�I˜zà˜a�D�	Ø�a•D˜•G�Ø˜Q”;Ø+¨jÕ8¸9ÕD‘Hà+�Hð ŸH™H¤iÑ/�	Ø#�ß!Ø",�KÛ#˜ØŸ9™9¤hÖ.Ø!#§¡§¡¨sÓ!3˜Bß!™rØ +¨r´+¸cÀ"Ç+Á+ÈbÏkÉkÓ2ZÕ/ZÕ Z¢ñ	 $ð
   >Õ1�KØ Õ+�Hç �y X¨hÕ%6¼zÈ!ÌK×?XÓ?XÔahÐijÐks×atÓatÜ! !¤H×-Ó-ØŸl™l¨8°XÓ>˜ßØ*-˜F 3™KØ"ŸM™M¨!¬M¸1¸a¿g¹gÌYÐ\^¸gÓ>_Ð`bÐ=cÐ:dÓ,eÔfØŸF™F 2œJØ ×.Ò.°!Õ3Õ.Ú$Ü  ›W QœYØ"+¬C°	Ó,AÕ"B˜Cß+¨q¯w©w°t­|¸SÔ/@Ø&'§l¡l°9¸cÓ&B ß#&Ü3@À!ÀQÇWÁWÔT]ÐceÀWÓEfÐgiÐDjÐAkÓ3lÐmnÐ2o F¨3¡KØ$&§F¡F¨2¤JÚ$,ùç+Ð+Ü#*¨1¨V°EÓ#:Ô:˜Ü0¿t±ÈØ$% h¨xß6:¡NÀØ$7×$@Ð$@¸DÀ%óI˜÷ Ø*-˜F 3™KØ"ŸM™M¨!¬M¸1¸a¿g¹gÌYÐ\^¸gÓ>_Ð`bÐ=cÐ:dÓ,eÔfØŸF™F 2œJØ ×.Ò.°!Õ3Õ.Ú$ß)¬c°"«g°a¬iÜ"4Ç4±ZÈTØ()¨)°Hß:>©ÀEØ(;×(DÐ(DÀÀeó#M˜C÷  #Ü/<¸aÀÇÁÔPYÐ_aÀÓAbÐceÐ@fÐ=gÓ/hÐijÐ.k  s¡Ø "§¡ r¤
Ú (ç%¬j¸¼:×.FÒ.FÜ! &Ó3˜Ø$¤S¨°3°s¸1µuÐ)=Ó%>Ô>ä*8¸¸8ÀJÕ;NÈ|Õ;[Ð\eÓ*m˜F 3™KØ"ŸM™M¨!¬M¸1¸a¿g¹gÌYÐ\^¸gÓ>_Ð`bÐ=cÐ:dÓ,eÔfØŸF™F 2œJØ ×4Ò4¸Õ9Õ4Ú$Ø# HÑ,×4Ð4°°1±×BÐB¸�ß�wç ¢(Ø˜a�D �G�Eß˜a 1�f˜aØ Ÿz™z�Hß!ØŸ8™8¤WÔ,Ü-6´xÀÇÁÇÁÐPXÓ7YÐZ[×ZbÑZb×ZiÑZiÐjrÓ-s™N˜G¡Fä.>¸q¿z¹zÈ(Ó.S™O˜F¡Gä*:¸1¿:¹:ÀhÓ*O™˜ Ü! '¨(Ó3�GÜ # I¨fÓ 5�IÜ!$ Z°Ó!8�Jß ØŸG™G›I˜Ø!" ˜Ø!&˜žÜ% a¨Ÿ]š]ß%Ü # E£
¨1¥˜AØ"# Q¤$Ø%*¨1¥X Ø ! Q¥ Ø#%§9¡9¬hÖ#6Ø+-¯7©7×+;Ñ+;¸C×+@Ò+@Ø(*¯ª°3­­Ø$)ØŸG™G›I˜ØŸ™ QœØ!&˜�ß#Ø Ÿv™vŸ™¨s×3Ò3ØŸFšF c¨E¥kÕ1žFàŸFšF e�OžFàŸš %��äGQÐRSÔT[×G\ÒG\¤¨S°¸(Ô!CÐbc�Jà�BØ˜rŸU™U˜Ø˜a�DŸJ™J›L˜Ø  �t˜œØŸ6Ÿ6˜6¨ 2ØŸ™ QœØ#$§:¡:˜ß%Ø Ÿx™x¬Ô0Ü1:¼8ÀAÇHÁHÇOÁOÐT\Ó;]Ð^_×^fÑ^f×^mÑ^mÐnvÓ1w¡ ©ä2BÀ1Ç:Á:ÈhÓ2W¡ ©ä.>¸q¿z¹zÈ(Ó.S™O˜F GÜ"% g¨hÓ"7˜Ü$'¨	°&Ó$9˜	Ü%(¨°GÓ%<›
ñ #÷  !§Rà˜1�˜à#+“Lç ØŸG™G›I˜àŸ™ QœØ#×GÐG¬J°q¼Ó,GÔ(G™à#˜à# D§O¡OÔ3À|°T´_à—L‘L¤°X¸lÕ5JÐVWØ25¸UØ18ÀÐT^ÐiqØ,/ô"1ô 2ô ˜b›' !�)�Cð ˜a•K�FØ(¬¨YÓ)>Õ?�Hç Ø "˜Ú äGQÐRSÔT[×G\ÒG\¤¨S°¸(Ô!CÐbc�JØ#-¨nÕ#<�LØ#,�LØ�AØŸ™›	�AØŸj™j�Gß!ØŸ8™8¤WÔ,Ü-6´xÀÇÁÇÁÐPXÓ7YÐZ[×ZbÑZb×ZiÑZiÐjrÓ-s™N˜G¡Fä4DÀQÇZÁZÐPWÓ4XÑ1˜I¡zä0@ÀÇÁÈGÓ0TÑ-˜	 :Ø˜C�EØ˜q�T !�W�A”Fà˜rŸU˜U˜Ø˜a�DŸJ™J›L˜Ø  �t˜œØŸ™ QœØ#$§:¡:˜ß%Ø Ÿx™x¬Ô0Ü1:¼8ÀAÇHÁHÇOÁOÐT\Ó;]Ð^_×^fÑ^f×^mÑ^mÐnvÓ1w¡ ©ä2BÀ1Ç:Á:ÈhÓ2W¡ ©ä.>¸q¿z¹zÈ(Ó.S™O˜F GÜ"% g¨hÓ"7˜Ü$'¨	°&Ó$9˜	Ü%(¨°GÓ%<š
ô #÷" Ø §¡Ô/À<°´Ø—‘œX°(¸\Õ2IÐUVÐafØ*/¸'ÈÐ[eÐowÐ|ôAô BçÛ�AØ—G‘G—L‘L¤Y�LÖ/ñ àˆDŒJÜ !¨5Ô1Ð1ùóC %PùóH sùãrùâ;s   ÍAAYç2AYè"AYéAYc           
     ó‚  € \        V\        \        34      '       g   V.pV P                  p^ V n        \        V P                  W!4       V P                  p\        V4      pV^8X  Ed(   \        V^ ,          R4      '       Eg   VP                  '       gü   V^ ,          p\        V R4      '       d;   \        V R^ 4      '       d(   VP                  ^ V P                  P                  R7      # . p^ p\        VR4      '       d   VP                  pMRP!                  \        VR. 4      4      p\#        W�VP$                  VP&                  4      pV U	U
u. uF	  w  ršWš.3NK  	  pp	p
VP                  ^ WµP&                  RVP&                  ,          R7      # V^ 8:  dL   \)        ^ VP&                  VP$                  VP*                  . VP&                  RVP&                  ,          R	7      # \        V R4      '       d    \        V R^ 4      '       d   V P                  # \        V R
\        VR
R4      4      pVR9  p\-        W1V4      # u up
p	i )zRInitially, the dumbest possible wrapping algorithm.
Cannot handle font variations.r¶   r(  r  r¿  rE   r0   r}   )rÙ   r'  rÍ   rÏ   )rÙ   r›   r¥   r¦   r'  rÍ   rÏ   rÊ   r2  rû  )rV  r`   rÝ  rª   rÝ   rU  rI  r}  rx   r˜   r©   rw   r§  r(  r'  rE   r_   r"   r¥   r›   r   r¦   rÇ  )rN  r¨  rª   r}  r  r  r'  r©  rE   r  rø   ÚwrappedLinesrÊ   r´  s   &&            r<   rþ  ÚParagraph.breakLinesCJKÍ	  sÚ  € ô ˜)¤T¬% L×1Ò1À	¸{°9Ø—
‘
ˆØˆŒô 	˜4Ÿ?™?¨EÔ=Ø—
‘
ˆÜ�U“ˆØ�1�9œW U¨1¥X¨h×7Ó7ÀÇÇÀØ�a•ˆAÜ�t˜H×%Ò%¬'°$°|ÀA×*FÒ*FØ—w‘w A¨T¯[©[×->Ñ->�wÓ?Ð?àˆEØˆFÜ�q˜× Ò Ø—v‘v‘à—w‘wœw q¨°Ó4Ó5�ä˜d¨q¯z©z¸1¿:¹:ÓFˆEñ
 <AÔA¹5©Z¨b˜R ›L¹5ˆLÑAØ—7‘7 ¨¿j¹jÐRVÐWX×WaÑWaÕRa�7ÓbÐbØ�QŒYÜ !¨e¯n©nÀuÇ~Á~Ø&+§o¡o¸RÀuÇ~Á~Ð^bÐch×cqÑcqÕ^qôsð sô �4˜×!Ò!¤g¨d°<À×&BÒ&BØ—;‘;ÐÜ˜d =´¸¸}ÈRÓ1PÓQˆØ ¨
Ñ2ˆ
Ü˜E¨jÓ9Ð9ùó Bs   ÅH;c                ó8   € V P                   P                  W4      # rŒ   )rh  rB  )rN  rM  r{  s   &&&r<   rB  ÚParagraph.beginText÷	  s   € Ø�y‰y×"Ñ" 1Ó(Ð(r>   c           	     ó²  € V P                   pV P                  pV P                  pVP                  pVP                  p\        V R\        VRR4      4      pVP                  pTp	V'       d   Rp
\        ^^^ 4      p\        RRR4      pM&\        VRR4      p
\        VRR4      pVP                  pV'       g   V'       Ed=   V
'       Ed4   VP                  4        VP                  p\        ^ ^ R7      pV'       d]   V
'       dU   VP                  V4       VP                  V
4       ^VR	&   \        VR
^ 4      pV'       d   V'       g   VP                  pWþR&   V'       d   VP                  V4       ^VR&   \        VR^ 4      p\!        V4      w  ppppV! VV,
          V) V P"                  WƒP$                  ,           ,
          V,           V,           V P&                  V,           V,           3/ VB  VP)                  4        \+        V4      pV P,                  pV^ 8”  Ed>   \        V R^ .4      pVV\+        V4      ,
          VR,          .,          ,          pVP                  4        VP.                  pVP0                  V^ ,          ,           pV^,
          p\        V RR4      '       * pVP2                  pVP4                  pVR8H  pT;'       d    V P6                  pVP8                  ^ 8X  Edp   V\:        8X  d   \<        p MCV\>        8X  d   \@        p M1V\B        8X  d   \D        p MV\F        8X  d   V'       d   \H        M\J        p Tp!\L        '       d   V P&                  V!PN                  ,
          p"M(V P&                  \        V!RV!PN                  4      ,
          p"V'       d   \Q        VVV"VVVR7      pVP                  V!PR                  4       V PU                  V	V"4      p#RV PV                  PX                  P[                  4       9   V#n.        VR8X  d(   \_        WdP`                  VPb                  ,
          4      pM$VR8X  d   VP`                  VPb                  ,
          pVR9   d
   VR,           MTV#n2        V#Pg                  V!Ph                  V!PN                  V4       V^ ,          ^ ,          p$V^ ,          ^,          p%T;'       d    V^8H  p&V&'       d   V'       d   \+        V%4      V8”  d   Rp&X ! V#VV$V%V&4      p'V!Pj                  '       g   V!Pl                  '       EdÌ   \o        \p        V#4      V#n8        \s        4       ;V#n:        ;p(V#n;        \y        V#W#4       V"V(n=        V!V(n>        VV(n        VV(n        V!Pl                  V(n6        V!PR                  V(n)        . V(n?        V'V,           p)V\F        8w  g	   V&'       d   ^ p$V!Pj                  '       d   \�        ^ V)V$V#V!Pj                  4       V!Pl                  '       d   \ƒ        ^ V)V$V#4       \…        ^V4       FÒ  p*VV*,          ^ ,          p$VV*,          ^,          p%T;'       d    V*V8H  p&V&'       d   V'       d   \+        V%4      V8”  d   Rp&V ! V#VV*,          V$V%V&4      p'V'V,           p)V\F        8w  g	   V&'       d   ^ p$V!Pj                  '       d   \�        V*V'V$V#V!Pj                  4       V!Pl                  '       g   KÄ  \ƒ        V*V)V$V#4       KÔ  	  EMV\…        ^V4       Fe  p*VV*,          ^,          p%T;'       d    V*V8H  p&V&'       d   V'       d   \+        V%4      V8”  d   Rp&V ! V#VV*,          VV*,          ^ ,          V%V&4       Kg  	  EMßV'       d%   V F  p+V+P†                  RRR1,          V+nC        K   	  V^ ,          p!\L        '       d   V P&                  V!PN                  ,
          p"M(V P&                  \        V!RV!PN                  4      ,
          p"\ˆ        p V'       d   Tp,\Q        VVV"VVVR7      pV\:        8X  d   \ˆ        p M_V\>        8X  d   \Š        p MMV\B        8X  d   \Œ        p M;V\F        8X  d   V'       d   \Ž        M\�        p M\“        R\•        V4      ,          4      hV PU                  V	V"4      p#RV PV                  PX                  P[                  4       9   V#n.        \y        V#W#4       \o        \p        V#4      V#n8        VV#n2        \s        4       ;p(V#n;        RV(n)        RV(n        ^ V(nK        . V(n?        / V(n5        / V(nL        / V(n6        VP                  V(n        VV(n        RV#nM        RV#nN        V"V(n=        V!V(n>        VV(n        VV(nO        V P"                  V(nP        RRuV#nQ        V#nR        V^ ,          p+T;'       d    V^8H  p&V&'       d   V'       d   V+P¦                  V8”  d   Rp&V ! V#VV+V&4       \©        V#4       \…        ^V4       F[  p*VV*,          p+T;'       d    V*V8H  p&V&'       d   V'       d   V+P¦                  V8”  d   Rp&V ! V#VV*,          V+V&4       \©        V#4       K]  	  VP«                  V#4       VP)                  4        R# R# )z¶Draws a paragraph according to the given style.
Returns the final y position at the bottom. Not safe for
paragraphs without spaces e.g. Japanese; wrapping
algorithm will go infinite.rÊ   r0   rƒ   gÍÌÌÌÌÌì?ÚborderWidthNÚborderColor)r“  r’  r’  ÚborderRadiusÚradiusr“  ÚborderPaddingÚ_offsetsr  FrÃ   rÍ   )rJ  ru   r´   rÆ   z-handledzbad align %srÇ   )r1  rÃ   )Vrh  rª   r(  r'  r¾   rw   rË   r   r§   Ú	saveStaterŠ  ræ   ra  r_  Ú	roundRectrí   r!   rÛ   rD  rÝ   ÚrestoreStaterx   rI  Ú	alignmentrR  ÚjustifyLastLinerô   rý  rÙ   r   r�   r   r†   r   rˆ   r    r�   rŠ   r)   r›   rP  r¦   rB  r5  rT   r‡  ru   r´   rÍ   rÏ   rØ  ré   r¥   rÖ   rð   r/   rk  r&   r¿   rÈ   rÕ  r½   r  rò   r|  r�  rÍ  r}   r#  r'  r)  r/  r-  r   rì  rê   r×   rÐ   rÒ   rÊ   rÜ   rè   rÚ   r   r—  rF  )-rN  ró  rH  rª   r(  r'  r¾   rÊ   rË   r¼   rq  Úbcr  Úopr±   ÚbrÚbpÚtbpÚrbpÚbbpÚlbpÚnLinesrI  rh  rl  r{   rZ  ÚnoJustifyLastÚjllwcrô   ÚisRTLÚbRTLÚdplr  r½   rl   rÿ   r}   ÚlastLinerŽ  r¿   rm   r  rø   Úoos-   &&                                           r<   r#  ÚParagraph.drawParaú	  sS  € ð —‘ˆØ—
‘
ˆØ—‘ˆØ—‘ˆØ—-‘-ˆÜ˜d =´¸¸}ÈRÓ1PÓQˆð ×%Ñ%ˆ
ØˆçØˆBÜ�q˜˜1“ˆBÜ�s˜3˜sÓ#‰Bä˜˜}¨TÓ2ˆBÜ˜˜}¨TÓ2ˆBØ—‘ˆB÷ —"�"Ÿ˜Ø×ÑÔØ—‘ˆBÜ˜Q aÔ(ˆDß—bØ×%Ñ% bÔ)Ø×#Ñ# BÔ'Ø!"��X‘Ü˜U >°!Ó4�ßŸeØ×)Ñ)�BØ%'˜‘NßØ×#Ñ# BÔ'Ø ��V‘Ü˜˜¨qÓ1ˆBÜ!.¨rÓ!2ÑˆC��c˜3Ùˆz˜CÕØ˜ØŸ
™
 j×1BÑ1BÕ&BÕCÀcÕIÈ#ÕMØŸ™ cÕ)¨#Õ-ñ ð ò	 ð
 ×ÑÔ!ä�U“ˆØ—_‘_ˆ
Ø�A�:Ü˜t J°¨sÓ3ˆHØ˜¤ H£Õ-°¸µ¨~Õ=Õ=ˆHØ×ÑÔàŸ™ˆIØ×*Ñ*¨8°A­;Õ6ˆFØ˜•(ˆCÜ '¨¨^¸EÓ BÔBˆMØ×)Ñ)ˆEØ—~‘~ˆHØ˜e‘OˆEØ×-Ð-˜T×-Ñ-ˆDà�{‰{˜A�~Ø¤Ô'Ü+‘CØ¤)Ô+Ü-‘CØ¤(Ô*Ü,‘CØ¤*Ô,ß5:Õ1Ô@T�CØ�ß+Ó+Ø ŸK™K¨!¯*©*Õ4‘Eà ŸK™K¬'°!°H¸Q¿Z¹ZÓ*HÕH�EßÜ(¨°°u¸ZÈÐRVÔW�Fð ×#Ñ# A§K¡KÔ0à—^‘^ E¨5Ó1�Ø"0°D·N±N×4KÑ4K×4QÑ4QÓ4SÑ"S�”Ø Ô%Ü! '¯-©-¸¿¹Õ*FÓG‘GØ  %Ô'Ø$Ÿm™m¨F¯N©NÕ:�Gð 7?À-Ô6O˜x¨
Ö2ÐU]�”ð —
‘
˜1Ÿ:™: q§z¡z°7Ô;Ø˜1•X˜a•[�Ø˜a� ��Ø(×6Ð6¨V°Q©Y�ß§¬#¨e«*°UÔ*:Ø"�HÙ˜R ¨¨U°HÓ=�Ø—:—:�: §§¡Ü",¬X°bÓ"9�B”KÜ04³Ð6�B”EÐ6˜B ¤Ü# B¨Ô6Ø$�B”HØ�B”DØ$�B”HØ$�B”HØŸF™F�B”GØ#$§;¡;�B”LØ$&�B”MØ˜zÕ)�BØ ¤*Ô,·¸q¸"Ø—z—z�zÜ& q¨"¨b°"°a·j±jÔAØ—v—v�vœ}¨Q°°B¸Ô;ô # 1 fÖ-˜Ø" 1�X a�[˜Ø % a¥¨¥˜Ø#0×#;Ð#;°Q¸±V˜ß#¯´#°e³*¸UÔ2BØ%*˜HÙ # R¨°!­°b¸%ÀÓ J˜Ø" :Õ-˜Ø$¤jÔ0·HÀ1¸bØŸ:Ÿ:˜:Ü*¨1¨e°R¸¸Q¿Z¹ZÔHØŸ6Ÿ6š6¤=°°B¸¸BÖ#?ó .ô # 1 fÖ-˜Ø % a¥¨¥˜Ø#0×#;Ð#;°Q¸±V˜ß#¯´#°e³*¸UÔ2BØ%*˜HÙ˜R ¨!¥¨e°A­h°q­k¸5À(ÖKó .÷ Û %˜Ø%)§Z¡Z±°"°Õ%5˜ž
ñ !&à˜!•H�ß+Ó+Ø ŸK™K¨!¯*©*Õ4‘Eà ŸK™K¬'°!°H¸Q¿Z¹ZÓ*HÕH�Eä(�ßØ�BÜ(¨°°u¸ZÈÐSWÔX�FØ¤Ô'Ü,‘CØ¤)Ô+Ü.‘CØ¤(Ô*Ü-‘CØ¤*Ô,ß6;Õ2ÔAV‘Cä$ ^´d¸9³oÕ%EÓFÐFð —^‘^ E¨5Ó1�Ø"0°D·N±N×4KÑ4K×4QÑ4QÓ4SÑ"S�”Ü  FÔ2Ü(¬°"Ó5�”à'�”ä"&£&Ð(��R”\Ø!�”Ø!�”Ø�”Ø �”Ø �”Ø�”Ø�”Ø"Ÿ]™]�”
Ø *�”Ø"�”Ø�”Ø �”Ø�”Ø �”Ø!,�”Ø#Ÿz™z�”à,0°$Ð)�”˜Rœ\Ø˜Q•x�Ø(×6Ð6¨V°Q©Y�ß§¨$¯.©.¸Ô*>Ø"�HÙ�R˜  xÔ0Ü˜bÔ!ô ˜q &Ö)�AØ  �8�DØ,×7Ð7°°C±�Hß§E¨d¯n©n¸UÔ.BØ!&˜Ù˜˜X a�[¨$°Ô9Ü! "Ö%ñ *ð �O‰O˜BÔØ×ÑÖ!ñA r>   c                óÂ  € \        V RR4      pV'       d¤   . pVP                  p\        V4      '       dE   V F=  pVR,           F  w  rgV! V4       K  	  \        V\        4      '       g   K5  V! R4       K?  	  M/V F)  p\        VR4      '       g   K  V! VP                  4       K+  	  RP                  V4      # V'       d   \        V RR4      pVf   \        V 4      pV# R# )zXConvenience function for templates which want access
to the raw text, without XML tags. r}  Nr_  r^   rE   r0   )	rw   ró   r~  rV  r4  r˜   rE   r_   rì  )	rN  Úidentifyr}  ÚplainsÚplains_appendrO  rª   rE   rª  s	   &&       r<   ÚgetPlainTextÚParagraph.getPlainTextÒ
  sÂ   € ô ˜˜W TÓ*ˆßØˆFØ"ŸM™MˆMÜ ×&Ò&Û!�DØ&*¨2§h h™
˜Ù% dÖ+ñ '/ä! $¤w×/Ô/Ù% cÖ*ò	 "ó "�DÜ˜t V×,Ô,Ù% d§i¡iÖ0ñ "ð —7‘7˜6“?Ð"ßÜ˜4  tÓ,ˆDØŠ|¤D¨£J˜TØˆKár>   c                óþ   € \        V R4      '       g   Q R4       hV P                  P                  '       d   V P                  3R lpMV P                  3R lp\	        \        WP                  P                  4      4      # )zÊConvenience function; tells you how wide each line
actually is.  For justified styles, this will be
the same as the wrap width; for others it might be
useful for seeing if paragraphs will fit in spaces.rÛ   z%Cannot call this method before wrap()c                 ó&   € WP                   ,
          # rŒ   )r  ©rª  rp   s   &&r<   r²   Ú0Paragraph.getActualLineWidths0.<locals>.<lambda>ò
  s   € ¨a·/±/Ö.Ar>   c                 ó    € W^ ,          ,
          # r1  rR   r‡  s   &&r<   r²   rˆ  ô
  s
   € ¨a°qµ'®kr>   )r˜   r(  rÙ   rÛ   r`   rg   r'  )rN  r  s   & r<   ÚgetActualLineWidths0ÚParagraph.getActualLineWidths0ë
  s_   € ô
 �t˜W×%Ò%ÐNÐ'NÓNÐ%Ø�;‰;××ÐØ"&§*¡*ÓA‰Dà"&§*¡*Ó9ˆDÜ”C˜Ÿ[™[×.Ñ.Ó/Ó0Ð0r>   c           
     óN  € R .pVP                   p\        V 4       Fà  w  rVV'       dŠ   V! RV^ ,          ,          4       VR,           F\  pV! R\        V^ ,          4      ,          4       V! RV^,          ,          4       V! RWVP                  P                  3,          4       K^  	  V! R4       K–  V! RV^ ,          RP                  R	 VR,           4       4      WVP                  P                  3,          4       Kâ  	  VR
,          pVRV,           P                  V4      ,           # )Ú[z    [%r,r_  z        (%s,)z        %r),z    ], #%d %sz    ]z[%r, %s], #%d %sú, c              3   ó|   "  € T F2  pR V^ ,          P                   P                  : RV^,          : R2x € K4  	  R# 5i)rè  Ú,Ú)N)r5  rT   )rç  rí  s   & r<   rè  Ú&Paragraph.dumpFrags.<locals>.<genexpr>  s0   é € Ð8vÑpuÑjlÀbÈÅeÇoÁo×F^ÔF^Ð_aÐbc×_dÐ_dÕ9eÓpuùs   ‚:<r^   rf   )ró   rØ   rì  r5  rT   r_   )r}  rT  Úfullrv  r‚  r  r  rí  s   &&&     r<   Ú	dumpFragsÚParagraph.dumpFrags÷
  s  € àˆEˆØ�X‰XˆÜ˜UÖ#‰CˆAßÙ�:  !¥Õ$Ô%Ø˜BŸ%˜%�BÙ�¬¨b°­e«Õ4Ô5Ù�~¨¨1­Õ-Ô.Ù�¨!¯K©K×,@Ñ,@Ð)AÕAÖBñ  ñ �7–áÐ%¨¨1­¨d¯i©iÑ8vÐpqÐrtÖpuÓ8vÓ.wÐxy÷  {Fñ  {F÷  {Oñ  {Oð  )Põ  Pö  Qñ $ð �3�JˆØ�D˜•F—=‘= Ó#Õ#Ð#r>   )r=  r<  r3  rý  r(  rI  rã  ró  r  r}  rÝ   rª   rE   rÛ   )NNNr`  r@   r1  rŒ   )é   F)rT   rU   rV   rW   rX   rå  rî  rä  r  r  r  r  rD   r$  rÿ  rþ  rB  r#  rƒ  rŠ  Ústaticmethodr”  rY   rP  rQ  s   @r<   r   r     ss   ø‡ € ñ=ô|nòòò.'"òR;ò	ò;ò
Sòj"òB2òH(:òT)ôV"ôpò2
1ð ó$ó ö$r>   Ú__main__c                 ó  € \        R \        V 4      ,          4       V P                  P                  p\        P
                  P                  p\        V4       F©  w  r4W,          p\        VR4      '       d   VP                  pM	V^,          p\        V4      pV! RW6\        \        VRR4      4      3,          4       \        V4       F+  pV! RV\        WW,          RWW,          4      3,          4       K-  	  \        4        K«  	  R# )z$dumpParagraphLines(<Paragraph @ %d>)r}   zline%d: %d(%s)
  r   ÚUnknownz %d:'%s'rE   N)ÚprintÚidr(  r'  ÚsysÚstdoutÚwriterØ   r˜   r}   rx   rF  rw   rÍ  )ÚPr'  Úoutwr  rø   r}   Únwordsrp   s   &       r<   ÚdumpParagraphLinesr£  	  sÃ   € ÜÐ4´r¸!³uÕ<Ô=Ø—‘—‘ˆÜ�z‰z×ÑˆÜ Ö&‰FˆAØ•8ˆDÜ�t˜G×$Ò$ØŸ
™
‘à˜Q��Ü˜“ZˆFÙÐ%¨´#´g¸dÀ;ÈyÓ6YÓ2ZÐ([Õ[Ô\Ü˜6–]�Ù�Z ¤7¨5­8°F¸5½8Ó#DÐ EÕEÖFñ #äŽGó 'r>   c           	      óà   € R V ^,          ,          .pR FG  p\        V ^ ,          V4      '       g   K  VP                  V: R\        V ^ ,          V4      : 24       KI  	  RP                  V4      # )z'%s'Ú=rŽ  )	r¥   r›   r¦   rê   rm  Ústrikerð   r¶   r,  )r˜   ró   rw   r_   )rp   rv  rL  s   &  r<   ÚfragDumpr§    sV   € Ø�Q�q•T�Mˆ?ˆÛsˆAÜ�q˜•t˜A�ŒØ—‘£A¤g¨a°­d°1¥oÐ6Ö7ñ tð �y‰y˜‹|Ðr>   c                 óÌ  € \        R \        V 4      V P                  4       3,          4       V P                  p\	        V4      p\        V4       Fz  p\        RY1V,          P                  RP                  W,          P                   Uu. uF(  qD\        8w  g   K  V: R\        W,          V4      : 2NK*  	  up4      3,          4       K|  	  \        P                  P                  p^ p^ p\        VR4       Fe  pWg^ ,          ,          pV! RW6V^ ,          3,          4       VR,           F  pV! R\        V4      ,          4       K  	  \        4        V^,          pKg  	  R# u upi )	z6dumpParagraphFrags(<Paragraph @ %d>) minWidth() = %.2fzfrag%d: '%s' %sr^   r¥  ih  zfragword%d: cum=%3d size=%dr_  z (%s)N)r›  rœ  r  r}  rx   rÍ  rE   r_   rê  rw   r�  rž  rŸ  r¡  r§  )	r   r}  r  r  rw  r¡  Úcumr–  rp   s	   &        r<   ÚdumpParagraphFragsrª     s<  € ÜÐFÌ"ÈQË%ÐQR×Q[ÑQ[ÓQ]ÐI^Õ^Ô_Ø—‘ˆÜˆu‹:ˆÜ�q–ˆAÜÐ# q°­(¯-©-¸¿¹ÐmrÕmu×m~Òm~ó  BKÑm~Ðhiô  FJñ  CJÔBcËQÌwÐW\ÕW_Ð`aÕObÓBcÑm~ñ  BKó  9Lð  'Mõ  Mö  Nñ ô �z‰z×ÑˆØˆØˆÜ˜u SÖ)ˆAØ�Q•4�KˆCÙÐ.°!¸!¸A½$°Õ?Ô@Ø�r—U�U�Ù�Wœx¨›{Õ*Ö+ñ äŒGØ��FŠAó *ùò BKs   ÂE!ÂE!c           	      óÐ  a€ \        \        P                  ^ ,          \        4      '       dº   / o. P                  pV3R lp\        P                   F  pV! V! V4      4       K  	  \        R4       \        RP                  R \        SP                  4       4       4       4      4       \        \        : RRP                  VP                  4      : R24       \        R4       R# R# )	r£   c                 ón  <€ . P                   pV R ,           FY  p\        V^ ,          4      pVS9  d   \        S4      V^ ,          3SV&   V! RSV,          ^ ,          : RV^,          : R24       K[  	  RV P                  P                  : RV ^ ,          : RRP                  VP                  4      : R2# )r_  z(__frag_z__, r‘  ré  rÃ  rŽ  z]),)ró   rœ  rx   r5  rT   r_   rÛ  )rp   rn  rY  ÚfidÚ_Fs   &   €r<   Ú	_showWordÚ%dumpProcessedFrags.<locals>._showWord6  s‘   ø€ Ø—I‘I�Ø˜2Ÿ˜�AÜ˜Q˜q�T›(�CØ "”}Ü#& r£7¨1¨Q­4 .˜˜3™Ú¨R°­W°Q¯Z¨Z¸¸!¿¸Ð=Ö>ò	 ð
 34·+±+×2FÔ2FÈÈ!ÏÈÈdÏiÉiÐXY×XbÑXbÖNcÐdÐdr>   zÁfrom reportlab.platypus.paragraph import _HSFrag, _SplitFragHS, _SplitFragHY, _SplitFrag, _getFragWords
from reportlab.platypus.paraparser import ParaFrag
from reportlab.lib.colors import Colorrf   c              3   ó4   "  € T F  pR V,          x € K  	  R# 5i)z__frag_%s__ = %rNrR   r  s   & r<   rè  Ú%dumpProcessedFrags.<locals>.<genexpr>A  s   é € ÐQÑ=P¸Ð/°!×3Ò3Ó=Pùs   ‚z=[
z  ]z%print(_getFragWords(processed_frags))N)rV  r   r}  r`   ró   r›  r_   r”  ru  Úprocessed_fragsrÛ  )r   rÀ   Ú_Sr¯  rY  r®  s   &&   @r<   ÚdumpProcessedFragsrµ  2  s¡   ø€ Ü”b—h‘h˜q•k¤$×'Ò'ØˆBØ—‘ˆBõeô —X”X�Ù‘9˜Q“<Ö ñ äð  Xô  YÜ�$—)‘)ÑQ¼VÀBÇIÁIÃKÔ=PÓQÓRÔSÜ¯¸¿¹À2Ç;Á;Ö9OÐPÔQÜÐ9Ö:ñ! (r>   )ÚgetSampleStyleSheetr$   )Úcmr_  Ú4c                 óR   € R V9   ;'       g    RV9   ;'       g    \        V 4      V9   # )ÚallÚ*)rF  )r  ÚTESTSs   &&r<   Úflaggedr½  K  s(   € Ø˜‰~×@Ð@ ¨¡×@Ð@´°Q³¸5±Ð@r>   ÚBodyTextÚdiscussiontext)ÚparentÚ	Helveticaa8  The <font name=courier color=green>CMYK</font> or subtractive method follows the way a printer
mixes three pigments (cyan, magenta, and yellow) to form colors.
Because mixing chemicals is more difficult than combining light there
is a fourth parameter for darkness.  For example a chemical
combination of the <font name=courier color=green>CMY</font> pigments generally never makes a perfect
black -- instead producing a muddy color -- so, to get black printers
don't use the <font name=courier color=green>CMY</font> pigments but use a direct black ink.  Because
<font name=courier color=green>CMYK</font> maps more directly to the way printer hardware works it may
be the case that &amp;| &amp; | colors specified in <font name=courier color=green>CMYK</font> will provide better fidelity
and better control when printed.
g     €|@gffffffE@iô  z.Price<super><font color="red">*</font></super>ÚNormalah  Dieses Kapitel bietet eine schnelle <b><font color=red>Programme :: starten</font></b>
<onDraw name=myIndex label="Programme :: starten">
<b><font color=red>Eingabeaufforderung :: (&gt;&gt;&gt;)</font></b>
<onDraw name=myIndex label="Eingabeaufforderung :: (&gt;&gt;&gt;)">
<b><font color=red>&gt;&gt;&gt; (Eingabeaufforderung)</font></b>
<onDraw name=myIndex label="&gt;&gt;&gt; (Eingabeaufforderung)">
Einf&#xfc;hrung in Python <b><font color=red>Python :: Einf&#xfc;hrung</font></b>
<onDraw name=myIndex label="Python :: Einf&#xfc;hrung">.
Das Ziel ist, die grundlegenden Eigenschaften von Python darzustellen, ohne
sich zu sehr in speziellen Regeln oder Details zu verstricken. Dazu behandelt
dieses Kapitel kurz die wesentlichen Konzepte wie Variablen, Ausdr&#xfc;cke,
Kontrollfluss, Funktionen sowie Ein- und Ausgabe. Es erhebt nicht den Anspruch,
umfassend zu sein.ÚCodeaD  Die eingebaute Funktion <font name=Courier>range(i, j [, stride])</font><onDraw name=myIndex label="eingebaute Funktionen::range()"><onDraw name=myIndex label="range() (Funktion)"><onDraw name=myIndex label="Funktionen::range()"> erzeugt eine Liste von Ganzzahlen und f&#xfc;llt sie mit Werten <font name=Courier>k</font>, f&#xfc;r die gilt: <font name=Courier>i &lt;= k &lt; j</font>. Man kann auch eine optionale Schrittweite angeben. Die eingebaute Funktion <font name=Courier>range()</font><onDraw name=myIndex label="eingebaute Funktionen::range()"><onDraw name=myIndex label="range() (Funktion)"><onDraw name=myIndex label="Funktionen::range()"> erf&#xfc;llt einen &#xe4;hnlichen Zweck, gibt aber eine unver&#xe4;nderliche Sequenz vom Typ <font name=Courier>RangeType</font><onDraw name=myIndex label="RangeType"> zur&#xfc;ck. Anstatt alle Werte in der Liste abzuspeichern, berechnet diese Liste ihre Werte, wann immer sie angefordert werden. Das ist sehr viel speicherschonender, wenn mit sehr langen Listen von Ganzzahlen gearbeitet wird. <font name=Courier>RangeType</font> kennt eine einzige Methode, <font name=Courier>s.tolist()</font><onDraw name=myIndex label="RangeType::tolist() (Methode)"><onDraw name=myIndex label="s.tolist() (Methode)"><onDraw name=myIndex label="Methoden::s.tolist()">, die seine Werte in eine Liste umwandelt.i¤  gš™™™™P@zAfter initial wrapzAfter split wrapz<para> z <![CDATA[</font></b>& z < >]]></para>)rã  zR<para align="CENTER" fontSize="24" leading="30"><b>Generated by:</b>Dilbert</para>zU- bullet 0<br/>- bullet 1<br/>- bullet 2<br/>- bullet 3<br/>- bullet 4<br/>- bullet 5g       @a  Furthermore, the fundamental error of
regarding <img src="../docs/images/testimg.gif" width="3" height="7"/> functional notions as
categorial delimits a general
convention regarding the forms of the<br/>
grammar. I suggested that these results
would follow from the assumption thatÚaaa)rÀ  Úalignu   a b cÃ‚Â d e faÏ  This page tests out a number of attributes of the <b>paraStyle</b><onDraw name="_indexAdd" label="paraStyle"/> tag.
This paragraph is in a style we have called "style1". It should be a normal <onDraw name="_indexAdd" label="normal"/> paragraph, set in Courier 12 pt.
It should be a normal<onDraw name="_indexAdd" label="normal"/> paragraph, set in Courier (not bold).
It should be a normal<onDraw name="_indexAdd" label="normal"/> paragraph, set in Courier 12 pt.r  ÚCourierr)  )rª   i'  )ÚTTFont)ÚregisterFontÚ
DejaVuSanszDejaVuSans.ttfzNotoSansKhmer-RegularzNotoSansKhmer-Regular.ttfur   Hello clifftop <font name='NotoSansKhmer-Regular'>áž†áŸ’áž“áž¶áŸ†</font> world <span color='red'>of </span>wonder!Údvsstyle)r   ri   r   r   )Ú	rf   ÚÚÚÚÚÚÚr^   ô   Â…u   áš€u   â€€u   â€�u   â€‚u   â€ƒu   â€„u   â€…u   â€†u   â€‡u   â€ˆu   â€‰u   â€Šu   â€‹u   â€¨u   â€©u   â€¯u   â�Ÿu   ã€€rŒ   r]   r1  g«ªªªªªê?gUUUUUUÅ?)TrI   )r³  i°  g33333Ó…@)zqHere comes <FONT FACE="Helvetica" SIZE="14pt">Helvetica 14</FONT> with <STRONG>strong</STRONG> <EM>emphasis</EM>.zqHere comes <font face="Helvetica" size="14pt">Helvetica 14</font> with <Strong>strong</Strong> <em>emphasis</em>.zOHere comes <font face="Courier" size="3cm">Courier 3cm</font> and normal again.gÖ£p=
w{@)ÑÚ__all__Ú__version__rX   Ústringr   Úoperatorr   Úunicodedatar   Úreportlab.pdfbase.pdfmetricsr   r	   r
   Úreportlab.pdfgen.textobjectr   r   r   r   r   r   r   r   r   r   r   Úreportlab.pdfbase.ttfontsr   Úreportlab.platypus.paraparserr   r   r   r7   r   Úreportlab.platypus.flowablesr   Úreportlab.lib.colorsr   Úreportlab.lib.enumsr   r   r   r    Úreportlab.lib.geomutilsr!   Úreportlab.lib.textsplitr"   r#   Úreportlab.lib.stylesr$   Úcopyr%   Úreportlab.lib.abagr&   Úreportlab.rl_configr'   r(   r)   r*   Úreportlab.lib.utilsr+   r,   r-   Úreportlab.lib.rl_accelr.   ÚreÚtypesr/   r6  r_   rJ   ÚcompileÚescaperD   rC   rÈ  r2  r=   r3   rM   rP   r   r   rd   ri   rk   rq   r�   r†   rˆ   rŠ   r�   r�   r¡   r¬   rÌ   rÎ   r  rõ   r#  r'  r)  r-  r/  rë   r`   r4  r6  r8  r:  r<  r>  rA  rF  rC  rZ  r\  re  rf  r~  r�  r“  r”  r•  rˆ  r€  r¡  r¤  r³  ÚIr¿  r»  rÁ  Ú_hy_lettersrE  Ú_hy_shyrÅ  rÇ  rÊ  rË  rÉ  rÛ  rä  rê  ró  rõ  r÷  rù  rû  rý  rÆ  r   r  r  r  r  r#  r%  r+  r6  r8  rP  rU  r\  rk  r|  rˆ  rŒ  r�  r—  r£  r¥  r¹  rÇ  rÕ  rÝ  r@  r   rT   r£  r§  rª  rµ  r¶  Úreportlab.lib.unitsr·  r�  Úargvr¼  r½  Ú
styleSheetÚBrª   r¥   rE   r   r—  r  r  rp   r™   r
  r8   r›  rÔ  Úh0rÚ  rx   rÇ  rÈ  rR   r>   r<   Ú<module>rô     s`	  ðð	
€ð €Ø3€Ý Ý Ý  ß OÑ O÷9÷ 9÷ 9ñ 9õ 4ß ]Ó ]Ý 1Ý &ß HÓ HÝ 1ß ?Ý /Ý Ý #÷ó ç :Ñ :Ý +Û 	Ý ðÛð 
‡w�wð ó €ð@ �jŠj˜ "§)¢)¨D£/Õ1Ó2×8Ñ8€Ø—
’
˜8 R§Y¢Y¨t£_Õ4Ó5×<Ñ<€ôôqò
òòô	�ô 	ô	ˆtô 	ò9ôòòôô ô&ô&ô"gòò(ò9ð$ 	€Ø€òkôZ4ô"ô ô,ô$ô ]òWô	ˆdô 	ô	�Dô 	ô	�ô 	ô	�*ô 	ô
	�;ô 	ô	�:˜gô 	ô	�<ô 	ô�Sô ô ô$&/ˆtô &/ôPZ�H˜lô Zô	�˜,ô 	òð €Ø
€Ø€
Ø€	ò(ò,qô|ò|
ò.ðf �*Š*ð  Qð  SU÷  SWò  SWó  X€ò*òð €à€Ø
€à�jŠjÐAÓB€Ø�jŠjÐCÓD€Ø—
’
˜2Ÿ7™7 D¨°UÐ#;Ó<Ó=€Ø—J’J˜rŸw™w¨¨W°[ÀÐ'GÓHÓIÐ Ø�jŠj˜Ÿ™ $ w¨tÐ!4Ó5Ó6€ò>)ò@ò,HòY1ðx 7ôô(	�ô 	ô	�Jô 	ô	�*ô 	ô	�;ô 	ô	�3ô 	ô#6ˆcô #6ôJ	�'˜,ô 	ô	�˜
ô 	ô	ˆtô 	ð
 3ô
Rô!òFò2òò.
òò1òf1ò(8òtòð. �ZŠZÐ2Ó3€
òCò @ò/òb#ôJ/ˆ3ô /ò@ô@O)òbCô@ñ "€	ôE$�ô E$ðN  ˆZÕòò òô$;÷( IÝ&ÛØ�HŠH�R�L€EØˆb„y˜˜�%Øô Añ %Ó&€JØ�:Õ€AÙÐ+°AÔ6€EØ€E„NÙˆq‡z‚zð
ˆñ �D˜Ó
ˆÙ˜1ÔØ˜ˆˆˆBØ�fŠf�R˜‹n‰ˆˆ!Ù˜1ÔØ�G‰G�B�r‹NˆÛˆAØ�FŠF�2�bŒMÙ˜qÔ!ØŠBñ ñ
 ˆq‡z‚zÙ
ÐHÈ*ÐU]ÕJ^Ó
_ˆÙ˜1ÔØ�fŠf�R˜‹o‰ˆˆ!Ù˜1Ôáˆq‡z‚zðˆñ �D˜* VÕ,Ó
-ˆÙ˜1ÔØ�fŠf�T˜6Ó"‰ˆˆ!Ù˜1Ôáˆq‡z‚zð XˆØˆØˆÙ
�D˜!Ó
ˆÙ˜1ÔØ�fŠf�R˜‹m‰ˆˆ!ÙÐ" 1 QÔ'Ù˜1ÔØ�G‰G�B�r‹NˆÙ˜1˜Q�4Ô Ø�!•—	’	˜"˜RÓ ‰ˆˆ2ÙÐ   BÔ'Ù˜1˜Q�4Ô áˆq‡zƒzÙEHÈÆXÉcÐRUÎhÐWˆÙ
�D˜* VÕ,Ó
-ˆÙ˜1ÔØ�fŠf�T˜6Ó"‰ˆˆ!Ù˜1Ôáˆq‡z‚zóˆDñ ˜˜j¨Õ2À!ÔDˆAÙ˜qÔ!Ø—&’&˜˜vÓ&‰CˆAˆaÙ˜qÖ!ññ ˆq‡z‚zØgˆÙ
�D˜* VÕ,Ó
-ˆÙ˜1ÔØ�fŠf�T˜6Ó"‰ˆˆ!Ù˜1Ôáˆq‡z‚zØiˆÙ
�D˜* XÕ.Ó
/ˆÙ˜1ÔØ�fŠf�T˜6Ó"‰ˆˆ!Ù˜1ÔØ�G‰G�D˜˜3�ÓˆÙ‰c�!‹fŒÙ˜1˜Q�4Ô Ù˜1˜Q�4Ô Ø	ˆ!��	Š	�$˜ÔÙ˜1˜Q�4Ô Ù˜1˜Q�4Ô ñ ˆq‡z‚zð)ˆñ �D™¨°ZÀÕ5IÐPZÔ[Ó
\ˆÙ˜1ÔØ�fŠf�Q�r•T˜"•W˜fÓ%‰ˆˆ!Ù˜1Ôáˆr‡{‚{Ø%ˆÙ
�D™¨°ZÀÕ5IÐPZÔ[Ó
\ˆÙ˜1ÔØ�fŠf�Q�r•T˜"•W˜fÓ%‰ˆˆ!Ù˜1Ôáˆr‡{‚{ðcˆñ �D™~¨hÀ	ÐSUÔVÔ
WˆÙ˜1ÔØ�fŠf�Z Ó&‰ˆˆ!Ù˜1Ôáˆr‡{‚{Ý4Ý=Ù‘V˜LÐ)9Ó:Ô;Ù‘VÐ3Ð4OÓPÔQð QˆÙ
�D™~¨jÀ,ÐXZÔ[Ô
\ˆÙ˜1Öñ ñ[ øðEWØƒFús   Â.d äd