MZ@ !L!This program cannot be run in DOS mode. $[bɜ  EɑɑɑRichPELbeH!  P@sP`jN4bPa@`t.textBP `.rdata ``@@.datahp p@.reloc@BV54Wt=<`PS׃t vu_3^_^VWt=<`PS׃t u_3^_^PQdatPlatPD$3QL$ VD$Php3Qt$Pa tmD$;tjPTauXah pP\a3^YËD$<;t<90u HPQT$<`a5`a^Yá<;t<^YQL$ $Phzz}I+iO{Ȁ!>}i!D>FC! i!D>FʸЀ!F>UF*Ȁ! >D$F;M33~/T$L$+щT$+ڋT$@B;ʼnT$|}I+Ȁ! >F|XiO{ظ}!>F|9iڸC! ʀ! >F|i9+ڸ!>F>~F>>FVWT`W4` _^][ ̋T$ D$PL$QhqRPau Ë$L$UV,3;Ws=,`jzP׃tF@;rT$D$@SP8`D$;ŋ|$sH@ۉD$t6S0`u zu qƉqPFD$;r+D7|$t$8~Gx>=t$D$3ҹ؋R8`L$<3;s`Y!kUTYkUTYkUITkUL ߋ@@@ L$@;ωL$rvt!r Y!3ۃr y!3r I!3kUkUkUы qkUы @v @v@PVT`V54`֋T$$Rփ[_^] á(hqP\aL$Q4` [_^3] ̃PX`I@I$u HPQ$aAz0aAu htraVAu'0+x}3H#ؾD$ Dr$Qh(`^PI@u+H0t 8uHu.t1,t,ƀ8u$<.t <,u.ƀj,h,`t.h`r(R\a3̃UV5HaW|$W֋uBjWdaPD$փ | D$ D$ \`D$ D$ 8u HPQkSR8`3ۅD$~nD$ SPdaD${D$D$8u HPQtW;|$t G׋+֊ @uǍP@u+C;|t$VDaVD$4`D$[_^]ËT$R4`[_^3]\`D$ PhrWPa _^3]QSUl$VWPd`33ۅ~f-(`L$ C< r<s<\t<(t<)u2>\+RD$hrP>\L$ F >T$F>D$F>D$F;|VWT`W`` _^][Y̋T$$PL$QhrRPauË$L$PQ̃ $PD$L$QT$RhrPPau Ë $T$QR ̃ T$D$PL$Qh,sRD$Pau Ë$SUV5p`WhiNi^iliiieddddddd|dhdTdBd0dddgcMbP??@xDHz>5QFQQQR RH bRbiD`bi`btj`XjjNj@j,jj jiiiiiiij:eNe^eveeeeeeeef,fFfbfrffffffffgg,giNi^iliiieddddddd|dhdTdBd0dddgctPyNumber_IntPySequence_GetItem:_Py_NoneStruct{PyErr_SetStringPyExc_TypeError!PyCallable_CheckPyArg_ParseTuplePy_BuildValuePySequence_SizePyString_FromStringPyList_SetItemPyList_NewLPyTuple_SetItemJPyTuple_NewPyInt_FromLongPyEval_CallObjectWithKeywords PyString_AsStringQPyType_IsSubtypePyString_TypePyExc_AttributeErrorPyObject_GetAttrStringPyString_FromStringAndSizeePyNumber_Float_PyErr_Clear@PyMem_FreeAPyMem_MallochPyErr_OccurredPyObject_ComparePyObject_HasAttrString-PyLong_FromUnsignedLong&PyLong_AsUnsignedLongMaskPyInt_AsLong0PyLong_TypegPyErr_NormalizeExceptionbPyErr_FetchDPyTraceBack_HerePyFrame_New.PyThreadState_Get,PyCode_NewPPyModule_GetDictxPyNumber_MultiplyPyObject_CallObjectPyList_AppendaPyErr_ExceptionMatchesPyExc_UnicodeEncodeErrorqPyUnicodeUCS2_AsEncodedStringPyObject_IsTruePySequence_GetSlicePyImport_ImportModulePyArg_ParseTupleAndKeywordsPyExc_KeyErrorPyObject_GetItemVPyDict_SetItemStringSPyDict_NewcPyErr_FormatPyExc_IndexErrorPyFloat_FromDoublePyString_SizePyList_GetItem^PyNumber_AddPyUnicode_TypeMPyDict_GetItemPyFloat_AsDoubleXPyDict_TypePyObject_FreePy_FindMethodPyObject_InitPyObject_MallocPyList_TypePy_FatalErrorRPyType_ReadySPyType_TypeNPyModule_AddObjectePyErr_NewExceptionPy_InitModule4python24.dllmallocfreeisspacestrchrsprintfstrstrMSVCR71.dll?_initterm_adjust_fdivL__CppXcptFilter_except_handler3k__dllonexit_onexitDisableThreadLibraryCallsKERNEL32.dll_stricmp_strdupbeHjjjj@Nj_rl_accel.pydinit_rl_accel|O:_SWRecoverparameter must be callable|ssssiiOwidths should be a length 256 sequence of integers|s:getFontsunknown encodings|sunknown encodingunknown fonts#sd|sbad fontSizeunknown encoding(s#sds)recovery failed!unknown fontfOs#dbad fontSizefontNameNo attribute fontNameAttribute fontName is not a string(s#sds)recovery failed!unknown fontfz#z#!!!!!Invalid terminator for Ascii Base 85 Stream%.0f%.1f%.2f%.3f%.4f%.5f%.6f rrr$r,r4r statesetstatesetstate(state)classmethclassmeth(*args, **kw)staticmethstaticmeth(*args, **kw)y0Myy`MyyMyyM#ystatean int variable for demonstration purposesXz N`z_rl_accel.BoxListzzzM_rl_accel contains various accelerated utilities stringWidth a fast string width function (legacy) _instanceStringWidth a method version of stringWidth (legacy) defaultEncoding gets/sets the default encoding for stringWidth (legacy) getFonts gets font names from the internal table (legacy) getFontInfo gets font info from the internal table (legacy) setFontInfo adds a font to the internal table (legacy) _SWRecover gets/sets a callback for stringWidth recovery (legacy) escapePDF makes a string safe for PDF _instanceEscapePDF method equivalent of escapePDF _AsciiBase85Encode does what is says _AsciiBase85Decode does what is says fp_str converts numeric arguments to a single blank separated string calcChecksum calculate checksums for TTFs (legacy) calcChecksumL calculate checksums for TTFs (returns long) add32 32 bit unsigned addition (legacy) add32L 32 bit unsigned addition (returns long) hex32 32 bit unsigned to 0X8.8X string stringWidthU version2 stringWidth _instanceStringWidthU version2 Font instance stringWidth _instanceStringWidthTTF version2 TTFont instance stringWidth getFontU version2 pdfdmetrics.getFont unicodeT1 version2 pdfmetrics.unicode2T1 _reset() version2 clears _rl_accel state Box(width,character=None) creates a Knuth character Box with the specified width. Glue(width,stretch,shrink) creates a Knuth glue Box with the specified width, stretch and shrink. Penalty(width,penalty,flagged=0) creates a Knuth penalty Box with the specified width and penalty. BoxList() creates a knuth box list. {defaultEncodingdefaultEncoding([encoding]) gets/sets the default encoding.getFontsgetFonts() returns font names.getFontInfogetFontInfo(fontName,encoding) returns info ([widths],ascent,descent).setFontInfosetFontInfo(fontName,encoding,ascent, descent, widths) adds the font to the table for encodingstringWidthstringWidth(text,fontName,fontSize,[encoding]) returns width of text in points_instanceStringWidth_instanceStringWidth(text,fontSize) like stringWidth, but gets fontName from self_SWRecover_SWRecover([callable]) get/set the string width recovery callback callable(text,font,size,encoding) return None to retry or the correct result._AsciiBase85Encode_AsciiBase85Encode(".....") return encoded string_AsciiBase85Decode_AsciiBase85Decode(".....") return decoded stringescapePDFescapePDF(s) return PDF safed string_instanceEscapePDF_instanceEscapePDF(s) return PDF safed stringfp_strfp_str(a0, a1,...) convert numerics to blank separated string_sameFrag_sameFrag(f,g) return 1 if fragments have same stylecalcChecksumcalcChecksum(string) calculate checksums for TTFs (legacy)calcChecksumLcalcChecksumL(string) calculate checksums for TTFs (returns long)add32add32(x,y) 32 bit unsigned x+y (legacy)add32Ladd32L(x,y) 32 bit unsigned x+y (returns long)hex32hex32(x) 32 bit unsigned-->0X8.8X stringunicode2T1return a list of (font,string) pairs representing the unicode textgetFontUgetFontU(name)-->Font instancestringWidthUstringWidthU(text,fontName,fontSize,encoding='utf8')--> font stringWidth(text,fontSize,encoding)_instanceStringWidthUFont.stringWidth(self,text,fontName,fontSize,encoding='utf8') --> width_instanceStringWidthTTFTTFont.stringWidth(self,text,fontName,fontSize,encoding='utf8') --> width_reset_rl_accel._reset() reset _rl_accel stateBoxBox(width,character=None) create a Knuth Box instanceGlueGlue(width,stretch,shrink) create a Knuth Glue instancePenaltyPenalty(width,penalty,flagged=0) create a Knuth Penalty instanceP@(p@XH`\p؄P! ! P@X!܅`#( $8|$%&)(l2x@4 7(p@=Ԉ0B܈J DKLpL_rl_accel_rl_accel.error0.61errorversionBoxListcan't initialize module _rl_accelN@t00:0t0000000001 1%1-171B1Z1i111111111112222Q2d2l22222 33"3'3.3L3Y3|33333334 4A4J4O4V4~4444444425?5P5\5a5h555555556666/686>6L6h6666666,737D7Q7V7]7p7w777777777778 8E8K8Y8^8g8q8{888888@9H9N9r9y99K;T;;;;;;< >>>'>2>s>>>>>>>>>>>>????%?,?G?j???? 8;0F0`0s0}00000.171a1h111122252L2c2v2}2222(3M3s3|3434<444455 5'5\5n555556 666L6^6666666 77*797@7K7777758D8N8j8x88888888899(929999: :+:::E:K:Z:i:n:w:::::::::;;;;J;e;t;;;;< <<<+<:<>b>>>>?e?x??????0T,0F0U0{0000000011$131B1Q1`1o1~11111111122222222223 33&373E3N3h3p3333333344c4j4444445>5d5y555555556!6*62777K77777777778!808N8]888889 99909A9p999:3:c::;;%;f;o;;;;;;;;;; <<-<6>%>C>V>h>{>>>>>)?.???F?M?^?l?~???????????@`0#000:0[00000)121C1O1[1m1|1112K2T2h2m2222222223)3R3b3w333333"4k44 5[555"6Z6b6i6y6666667.7K7a7}777777N8[8g8o88899a9n999::`:m:::::; ;";3;9;@;J;Y;h;{;;;;;;;<<< <*<@<<<<<<<<<<<=5=<=R=j=q======->A>N>S>Y>^>c>q>w>>>>>>>>>>>>>>>>>>>?? ???'?-????????PL0 000&020>0K0Q0X0a0g0v0001Z1`1i1n1s1111111 2-2:2E222`111111 22pxD2H2L2P2T2X2\2 33333 3$333P44444@5D5H5L55555\7`7h7 88 8$8X8: ::::$:(:,:4:8:<:D:::::<;D;\;199999999:: ::::$:(:,:4:8:<:D:H:L:T:X:\:d:h:l:t:x:|:::::::::::::::::::::::::;; ;;;;$;(;,;4;8;<;D;H;L;T;X;\;d;h;l;t;x;|;;