python-devel-2.7.18-150000.108.1<>,ip9|{R7 ]q,tB?8_j,Ãjl_"GN1c^ "ۣ>>V?Vd # e ,DJP + 9 U Z 7|Z6|}p(89:?FGH/IKXRYR\R]n^bcVdefluv*wx#y?zUUUUUCpython-devel2.7.18150000.108.1Include Files and Libraries Mandatory for Building Python ModulesThe Python programming language's interpreter can be extended with dynamically loaded extensions and can be embedded in other programs. This package contains header files, a static library, and development tools for building Python modules, extending the Python interpreter or embedding Python in applications.is390zp35`}=SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Development/Languages/Pythonhttps://www.python.org/linuxs390x RyK  r7)= y Rw-N ~ {} j C  a7# *-E!\ !h..  U^a{  p) V@/||7, 434:NNhngpgdm&++Ary!w. . R4 ZxFJg`DYSFd3ZFx$2>+esY F!+G`iHwsblqt{ 9!J^'.0-,DvpO-`(=sJngs5C13].COWpiCg~qqxu|;@uKx>L.0-,\|!M rviVwPE\=JM.lx<oi`(b}>dB4=J:u`<s`%zq$gia-y?J%, "-U>z__F?  q qTu b)   .D$$BDItItAMMZDuu>--9<<;1 yy>>]]NSS]D|zHH~   )R7vLL fz" 6!p!p))b/T# 2A!M!MN44 % %.7,,N4A4A   9EEii 9 9mʦ 1 1e6^^&0J0J[vv MNN55($$&h!!1,,)339> > 7{88.44  ATATˆˆN7PP NNpmo7o7EFtFt3 x xLQVQVMBMM .W/c/cpHpHMM _ _ww>rrZZ# L L,,>6 + +,>>"  P `ieie +22qp SS Q$:Q:Q'((,Y <*{*{ X X,ttPTT>AA L@!@!&y88f?ssF E/4^4^`  99'%%,4*4*s g 7'Zff( S//Q:!5%y%y40 55hh4&\..p:_:_gEEpYee!F##`+,?+l~("\!.J00BNN99ff ?44 w w_iChW,,wP1;;]33AAOO@&XRR ''Ƃf+x+O+O=\ddJ!! !2!2??fd 43300JM/L9{TnTnC<<<< L Ln,yy22l||5KW(( ** = aFYbX V V '''NCC1N-P|P|#l t9GG&N1E1Eu1c1I1I&n]]G of8RR k S e eLmYY*#B0707> mm |jj/R)QQ>E,E, o)rHrH1[77+.. b!!dVU < < +D11Tkk|!5FF}}@@t ;<CC %IIUmm//4u@a@a\c>dLdL-33"&& H#W## B__cQ%$$ A +,_0h0h$$A+@m@-ib4b4UGGfhh_!T!T..-% K\\ FF_hhfww.( ( <df%f%a\ v M Mroo1=<=<JJ$&&,??^'?'?D,@@88<cWcWu ! !s JQQmdd=pH;H;zzH%%j}}LDDES@H@H/rrMSjSj2=%F%F2 8w8wLL$11 0 GIIoϊϊ9@]]]bbHTMTM vv"q"qrbiiN=HJJ@/FFdUU#'' YY %% 4++. ::BBi||n#mm4R88.(66%((`[[ 1!@M@M ^vvte0dJ((C  HQ?? 1L00UU - -'m8$}cggj0''&((JJ0.X.Xf SSG[hh&y  =(LQLQQ`=G=GMxxg1S`` / ss; U!!d::BNCQCQ*bCur4r4LE ( ee zlkvA큤큤A큤A큤큤A큤A큤큤A큤A큤A큤큤큤큤A큤A큤A큤A큤i%i%i&i%i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$ii%i%i%i&i&i%i%i$i$i%i%i%i$i&iii@i i i@i i i@i i iiiiiiiiiiiiiiiii@i i i@i i iiiiiiiiiiiiii@i i i&iiiiiiiii&iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii@i i iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii@i i i@i i#iiiii@i i ii@i i iiiiiiiiiiiiiii@i i i@i i i@i i iiiiii@i i i@i i i@i i i@i i ii@i i i@i i iiii@i i i@i i#i@i i ii@i i i@i i i@i i i@i i i@i i iiii@i i ii@i i#i@i i i@i i ii@i i i@i i i@i i i@i i ii@i i ii@i i#iiii@i i i@i i i@i i i%i@i i i#i@i i#i@i i#i@i i ii@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i#i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i#i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i i i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i#i@i!i!i@i!i#i@i!i#i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!ii@i!i!i@i!i#i@i!i!i@i!i!i@i!i#ii@i!i!iiii@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i#i@i!i#i@i!i#i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i#i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i!i@i!i#i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i$i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i!i@i!i$i@i!i$i@i!i!i@i!i!i@i!i!iiiii@i!i!i@i!i!i@i!i!ii&i@i!i!i@i!i!i@i!i!i@i!i!iiiiiii@i!i!i9164f631e6197e0b1ca25412ff41ba9d3afc4f44666f629390f0aabf3bdb5bd8079a16d5352e49c31cf6bb7a84b5a9204ff4b4028b6d359728d20bc4118d85e4832bc95ff40f396e7eacad29214ba29b6ae16052d998d26ad93a310efd08b11dd9d4d5516cf2afc0cc662d81dfc86a1000f57965e7283f53c9aed526471f269caa0552827e26ef59252085411b8c651e70cf6262ecb0501eb6561fc7fd00d04bf75dba02c80c2d26b3f10fee55df921de8f5ca0c62257b834c325fa840136150afbbf716c0d6d777ae4c4e30121b1cdb00c5f09f478bd815d45d87654ed232e8efdceb3795bbce2c3ececf01a8346146979b9d5fa19179bbe789bb7c2c85bed4c6acae380c0dd9ec59b149e5fb70bb6d83c133de3f3c33054d81196fc2bb618c46e6fb15817a52fc88555fda2de52df3b6d8a9f80da5d06e90d25fba8f5d8397d058fcf2994c3953589e112ba79524721ffe877b5e25bebee5367b04d071e64e7c53b55d0de55d67b42c5da4e12d6acf25196d8f480ff02c218c0764a3bdbb224f7c321a8603dcfcc36d68f2eb2d55b41d4ccec1097af5cf7c8a9bbe44f2c489c61c2545764d5aedbe18fe7dd84433ed0a3d9fa175a0cd7ebbe50b8a3026a9f8f66d6ff51633d8c3f9856cdb89c19419e61c5af975bd266748f0f90ffb6d66198accbe40cc6fba72954e610e9d328e2130ff9a312557f02bd02f58cfe89e9f19a7970e9a70902fb114af72e3da488a20ba4706ab0c03def86b41e4cba98023fb096750b39f403fe4db8822e002ccfd334b73bc33e3e9fb605b8642465c963543d8778994fc4d386a8e5a816e8edea8408356fa2aac52e57eb6b8bc3833a2cd27e77f11ef143b3ed720f5f88ab8689ba48798dc245207177b8b395ab4531e57a060a356ba5cbdaa119602f2169ec515275b28c7ac458478d9909dbec81e08a2cecacc47dda4576a2638072d6d8ef013bb82436570c81044eca7a45e16fef71e625c4575c44abcf6eb4ed592960b658d4e300c91c1c3113122ef4e9dd7e35b913e76e498087a200036f3558fb6360a1b0b69de9829a2289d80d6f4fa4261048b51293f598a54f0a475486de47ce7c313265a340fec53ef21de6aed96e77134a7a32244fe250db9995068fe74dce0e23fd70c12b03fd94751d98b773be8f64896b6ace0878969b499bcd9e3d243fd927cac1f3b88d18e37c28c1ac2e3fab0b96748c99ba6d1374f1e6ab20e461b26bf312a432a723941a6efd284f29713bd9bc353ce5e977daec97dfda37807b5a99f9016851a0c9f9360745e155f3b0a01447ed2965006db15ba8f238fce86f36ced022402f8c64f3db919549b29e0eb68993a8eb3a72b1d670f723d1292de3ed8ae06d3f424263fc9c86c44cc6dc72914fe42fd9939c8a4f50d12f0e6d7c544b83c25a5be14681e2479d13e2de9ff15c79280d45ff424362a48bd0f384adb9d6ac4f691422a0b42395c80a8a65f90ffb2e67f50e70f1e459596b02bb508feee4a880f4529a335e8d531051fe632a906cd548325116e6e35bb0575d58ae6392ee9f48c56ee48f90b0ea6be4f69ef4803d137e9a46b0e64f1c41a95e83bade0823678e9caeacd7c25f6f0681760f8adeaf6ddaa94f5f80822bbfd373ba6b5206780818c69037387dd2c3ea20dfb6689a7d3624e6124b1387307edb48ac3268a5c5d62fcdbd46e602034e8bfc15f5f4e26bc9891a18557cbbd13244987d352eefb59ccf5538573850b86b43767c4b21b5702dc62704fc440dc60158190855b27ab9a39cb3dc6238191045c86dd9cfa6d6509b34a98ec1301f9ac2d2c596352ac4cd533cb9893b62bb45f0757747050229c75eb03953283421f45fc335d3f9714fb5493d633e5d5360faecaec8a00a46580523cafe4316ce8d2706be2e15d07a6effca444ae52992dd07a8f2f4fdb82dbb4a49ec5a1095d441554746f55cefa572baae235f7329521526a71210c2b382c3b2fd536d232ecdf966c2744d6ce8ac2b891662b88339a99324e8dd105f7b3076830dfe7c8b43b0829933145595bf5b72d6db4f7a9de7f2ff5c7c86bc8fad901e16282b7b9d9ccd744d09e6f87eb08e00074094623685fcd5c77a0285a09874cd52b8d5bf58a4fe818280a686bc33f0f966a9df022f2d6133438ea020f5a59fa84a50d16e0eae870890522792b32e6631ba88049b83c93f881460155b59696714f183d4a89df26c18419b66c9ff14f230feccedfddcfcc1688c741bed1f3469989ec6784b74a1ad9b68e3bac2f928366a10f724237359e13dd97f7fe13f54e7ce184ffd3f92ba3d20bac6bf09bcefdbfd5fcc5bb175b599c634e0ac46c468d6d9a0b7279f39e72df40058774707f516bc712d2a2f436300e48a3154436fc67e472d0118a9f15816d2f8ab36bc2eaa9238da03bc0b217b5b921e9a59a321de9db393b4ce6a3af6d436e9fbe0f47b565da2a566f7be0888030440ee6af13fc539ac6dcc1b0478f555eb83d0419232cbcb738a3f856433040833a798174007cf5e3a81b46901a3c9281d3654043f84937eb974a5c9c520c7af403cb2147e663ce1ae5455683214bd2dc2a3d941502521f9bb3344682bbf8ad96b6a23cef405ce993e0863af605b8034c1c4f351ea44a47ae0197624a436f2d388d4b4f7b9f601b7140f8e17a3d643821931c41f74390b46a38f7ef37ee96b860cebe7ec943f6c5fcb87a18ed4080f147e3436a246f27507f4fe7d2ef94107227bec20ba67cfd893766e3efce537d2b11a5f87d76d19c4c70fa0d98945cfa8208a32ac267f80cdf296a3a573794feaaa83f012c48ba55783e5b0eee00eadfcc744aec046a363c054fe076aa2d53e662220bd7801ae74cbf306f971ebaeaa1b650dd6e05db575ad37f77dfddb8da9b52ad06966c916e8d2a777e3da039dc88c7af462106f3b4645fd848c93c4b57a3c70c7dc20d56250e8b73d7eafcb0d330099586f670b047e6bacc519dac61f706a284cd2ccccbac21c5aa2ce5ea1d05d04a4b5e5038e5d55c7fab260ab30e2c805275511e17eb590515dcaf02b38d38517b876101e4856f19263029cdfffa9e6a9773914c32e8319ccef143add699897e341aa5a57e52aff07bb07ce14fb817acc3b4e15a8f50286dac56c09392cc79f6d8a61178a90e5d40dbd378cf59bfb08350750d00d957b8ece608e6f7e268ff1796adcc87cc8cac058c014e20bb965634d0a30acd73617034f43c9327c59c58b9e7cb15d7652184ae7c5d08351bfefc3e750424d684b35a8b6e8bfecefee5030625a3dde2199ec8b94df6ec8812fbe69fa07ce7173e3ede8fc85a696ab871c55be78edfe69d4af6cfaac649352e14779d0828ab86d785ef90d3b633528c835ee1b3575ab3e55f5eb135c21697ce24e6160776c2e4f0a2e73ba749c2312d841cb7fbaeea7028671f79871d2efa3a0f052aca097b8389789451e82f944b365f6003c632e4fbf36b43800e315df6ace4ff5385fe6bdc799c025e911423cf1575628ef3fe60a51e624075e285a304afe3874afe019ad765f4310a503ff1789d244b4329572cf4dc3b6e68ff99cd5fa9d1a6ff7f4fe2ba17c080f32057148950372f50493abfc44c833cf14d885ff896d1c9024da3927cc64dc55fd7d1e2bc9bd2197777d61a9dbc99877c7859793e7298e2a7e418b0285c945bca29dbfbd30a4de6316f6a914a53318ab3a8d79697e396b51d2b9a3b87fafdb540298792a70676b340572ee217a6342c290f866ad094e1675627f5fe3db5d16bc3bbb0a9c0207bc039f104ec253c2e617999558f1f6376a723e5f4ed99a7360fa3491cd34498243a3c2c8c3c5ae8926303d2964d613da828b70119f8a13c1086902af921176e53c13e6ae972342fcae5cb832f09e0879619149a6bf816b1d896aaccb428fa8c3c6f41c9a43cc016f6b213d55888724295e14287a18f17675487a236a6ad31c63f9f68d67621acdf620491901dfe75581335b7eab6cb86589bd5cafdd5305928029be2f5944205e146d677e536aa546a2f1df8eb01e07e5710990dd563115cac98a5fc226fb9e785057c0cb174480da404c6748dc55a5dce8066504e8f4da01c16710f613d745a30aee769ecf2b8b6a9f066afed2a2b7aa7013987f6c19c5aa9d2cdc9a8e7fa24a36ee598eacee3bc6644e72061e777a1a2625198f9cf3d8607562353d0f9e0eb51119865df720ac14da9da7ba1c71e25f259dc77d83789247064792ee3a93fe47102ba61b2531e5be245e267581a07b63bc214e02c15d54e53641c0fa83e4566b034b552f3e4a4850700a8a1e005ca0559f656c18042dc9f55f25d1da12c0547b1eeb672d500c5d52af83dd29e734b34f3f8cb4a8c2b9305b6e7f378214ecd13928f2671db2c7ee0f7b3786effca799678793f130051934877b77f4e61ca84ff13772f6de1960c4140fbe3c6f61acc5a4d22aed2083accd2cecd8cbe42184dcb4553b5a460ceb79a210f3f92adf3cf516747616fbe142306be804c8a7a6da49b85e0e1763d0aa4465f9fb686c8f71df59b0a9380bcd71d827b23494a0f676ef416255b3060a25ecd4454d73c975081cdfc6f43fd711f8e0bed82ef1b686308caf1d3ef9722548b8e3b235b8109a7a5dac3f7d92e8570f835b1c4c9352782916ab472caf6542362411471661933965d3f03aa674c8ada3b5d73a2287d71e35bd8e4fa6d732724ba951dd27a836cdb388117cf81e78d9fa2a141cca1b14b0179733322e710067749a1b16fe9526d39cd152686992b7bd4788bb0196d1704b32dd21c93a414338534bb1489ea526d39cd152686992b7bd4788bb0196d1704b32dd21c93a414338534bb1489ea10f248762518a3b1c63c43978fbfc1f51c336e67aa329f78771efc76db5179d34362759d06f3eabd8d422c79986c6f16448370d0efd88bb68a521363e390865d4362759d06f3eabd8d422c79986c6f16448370d0efd88bb68a521363e390865d40f66249a4468201ebda3631ecd5b442b7902ee4c3b67e003b892111e6e1370133164c7ce3f4c967e0be55de3ac718cae07b87d405a99e31543f4a658696a93d33164c7ce3f4c967e0be55de3ac718cae07b87d405a99e31543f4a658696a93df997d2f35944c0a54d14a0e5fad66623bc695163e4f157433cde66cf0f5b68514559920a8cb9ea62be33023d6dd183bea88bc20bad1b4caeb196decb9e5fb6e6cc925dc8ed7705c2bd444542091169073445d907f5cade9579da83e8d2568ad80c7b9ee51db4a46087da7530ade979f38e5de7a2e068b5a58cc9cc543aa8e394663c223c95e77edf64bf88b2fb3f9ab385866187630a4914c7c17ed7221c9f82802304af89c305a0d5feb8bf6ba9c7b3abfb6d5e620ba6d4f4d69277ef315e226b03ea1d93a88bf105909313e5661b5f35c281bece7485a9b997a621cd59f9ac2a4dc7a2a75969654a60ae333bdda0b53be979e0db035daa9780f202d9faea3dac87068283e5d1d92cfe4dfb2cc50d5ea5341d5ac0efadfa47db48595daafcfc93e79b29fca6d56488393712285db29e7e5a75c693f9be4008cde600b2b81700b5e6b23aea484f7a4312bf613b75417b78419056d4c9918b3a2cf6b5a616f6e75b7af05fa928568dc9dbf39845da83a48720e019214a0f250aa5e8de0ebec4bb64b1c3671c38f4657ff67b9508572bfc5aed3d0537d4428fa5607a5fda208e87975103191246d69aac4eb605cf6d84969b2054bee95dcccbe7824a99ae26e6fabb24009573f88b990c922fdc65adddec1312e30373dc635c6099912d4f836a4148c5caaada3258af45ae5e4220a749446170c0070dc4afe1ab2f1591be3b0accb2769d33aa0133c769d17597a04414896d5695b559d992c6f7121281b72f15e6b2769d33aa0133c769d17597a04414896d5695b559d992c6f7121281b72f15e6d911b8fc82512a3c2d12b02283c0ae43f860dbcb140f3fe2ddfc7dfb7ce879854113b0adfdea4373f2f8b375ac6311507e964b6e9cdb33a20217ce3cb928ebd84113b0adfdea4373f2f8b375ac6311507e964b6e9cdb33a20217ce3cb928ebd8ffd93515dbe0bc61779aafb3cdf11e4c32d229e120139bfc38d3ea54b95a76e3cde5d3d019815d34906857c0c3aedc4ac4b0f1db18550078ce23b0e3517d8d520971b2d6f31c34618463d87b78f534264da0ed412f97d93523e328e2a0183213262a107916641c7f211ac5898c0177535cd0bdc5aa872cc6e883842694d8f52181a04af69c7f806ec39ab2cac5f0fa7fa8beb6802601105355fb3e606151405d516bb5b3c534faf4aa1d74eca204ede64060e98ac77adcb79d02c0ad50007c23db1c6b7c24ecb33eab8cdf14ce4ad5c0dd0ea56caef49af1399c7508897a4ec7a1d7eaeefd2e2a7b3f0814d36dac96b5208a278703ef1e1af4cbd41013dd5ead1dd371ec51b0bf2da49c5796c219238b6aa1ddef5631608c61518647cfc7b6fe56409312c0fdefb1f77dc7ee86bd131c5eb7a2b4a9885812b52828f7ecc485adc5494f05c6c6abe14547114bbccaf7c310c619101a6941b0c98db62e792ff780ad70f2947bc37792b02224b7658a62325b7e2517a01caf6085b95a6a760e0a28f12fbf6a8f91d2288f9fb0114b773bdd8cdcc93d1f50bc77c07e0f4158dd9f9bd495a1ef4858937cf0a4c46425ea0130ddb0d2ca7aa9988c048a98e11b6a1c1f3ab8b0b90e6db22f1cca40e0ad1b2a61a69282b7f93232ff8986a5687203b2ec3ab8b0b90e6db22f1cca40e0ad1b2a61a69282b7f93232ff8986a5687203b2ec8e147db754b00881a5ea8ea82eb944ce096ed6fc7345f5967a223490133c99a82d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25602d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25608e147db754b00881a5ea8ea82eb944ce096ed6fc7345f5967a223490133c99a83879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535ddeb8941fead731519744d145d83ecdf82480f1bb9af49144f7d8fdd0ef807bcb4f0b58a20fd68347ccb827e7a62c688e3710572b97ff19ad48a07b186af2ec743c21b213b1fc167b642af992768ac2249680e57247ff539999d9060094342d7d00f4861f1eb15bace0e9f19d9975f52b2b2153e6dc7111717965332f337187220f803a24c94538a7f05049a0e848cc3d6c5617253f7e9b3d5381cba4c898bbd175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837c9aef9d40b86c56d54db8d1c6b229322d74b3f761c31809dd8a76cb9d1a9800821cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c7c27282fd2ae5688be2831fd6c76aaffb7a7577026de0fd2bb8d41326dacb2e7aa6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9bba0998b7a6a1b2fc45f847dbea1d2f9dc889104832b0042b5ebe335e677efd30094a6a62abf390c3376e5ed6515082bbcd70c2a6cb335a9f0378a1222d08f7d25bc47b4bc6d60577ca938da25b3ae68271de889b383b4cfbac55d8e41d47639097d18ce1d42da357521f5af5803816d3c4bade38950f69cff512a236f763585be4de892443028c3f230ab37e0c658f5bd0246b07147005580c2904b733ecf4fc3624859618c952810487e41736753cf32f4570dc6248fda1091771f56019a3f96e4ceb607215ff447544cb0d785493e1e855852f874af7c67d8e8afe859f539547112543abe89682d8ccd47e7fedb25447a4c5133f8db313772ab6ed87729371b91e1c1c38b7150cbc174a2f0c06bd1d60a411222d09e21927254b7a861039481fe0a36192ef7643adb06b14979e006c17834874e7df605d915e549e3025e8ae832d96c16368e74f1615d025cc296472cff2507b0f0824959ef98f86fd677637a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b4fd472cf3011f3f9d3b072eac5592b4c58c7895ed2c41763590258ee8551ef7a78099b6154509ce59732b68a909ef7dc465724f68b184383ce2400642e6501d508255f32eea017d306e286d9e6db090a05d26f0088719b122209819b6f73396d175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837972de213c408d10c381f44fec786787844141c7590506e001452e8e25f262be8a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b73cdabebfb92b4eaf6b8af8442953da1041fa8141a0513279b8df215879d424621cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c70bee94ba2d980eac331c16af1f6ea7583260dad3e592e5a263209aab26c821a9f2d72976b66ff817e2ba8e287ec3d8b7b906f8ce86999e1d4b5a39e0360e08d0bf1921bd52ff4b26903332b54a08d54ceb53985ba8861b47d683bd0e08bb43be01df3940c096bb5e68f1a523923dc19afce7450135ee1753c8b8804f97fc1bb501df3940c096bb5e68f1a523923dc19afce7450135ee1753c8b8804f97fc1bb5069731c30b8e35c0e62e28fc43463f19f514afe86fa65bb1fad29574a3a3cb3b4d3e640fe915e6f5a91614823aa7ca22cd309bb267ad8221810f165aa2db4580c807ff5789d9236766419d5da5e6e2b07229a255f3bb5746169d3e1b00ddfc6addcc08bb707cbe715b44e5441d45e71758bb4d161e43cbcfd3959bd5396fd3df7ea4e03bc24630d2ce308498959d856506503097b8ff85294b741d38069b33097b0907453745ef5721d89c77fc1c48503474260b458f24127e1b3f0bfe11dbc30fbd0c5e6d4af56a44aeefe961bcf9b88f63deca8eedd20b9bd42c844cb6d78d72b4a13b865a333dcf9b94a3c88d25800227d5b0afecef97980b685f9d8504951c7fc4d444b9ec1a185e40af52cdc97e977fc49ae333b0edeb5701cf95137abac692bc9edd95ddb95eb276f7ac29d377c800604b42e8355bd0038ada34e2dbaea2c83c99f55ac75f9fbfe093b7a773b92b97afcedc1848b746eeb88b002f25563d89e98417c31c7f4324ecfa73869ad2bea9a1b054ef3b2141d72d211c30660e6f15c384c0cec9ae35bbe506a311ecaf9585d968aa9c8c0cfeaea0ee98ec0a02e5e0686c447f72bb899cd3029ae3c58dd9fc345b081dcb1c1d92f49ac56a4831cee50496acdf8ad1b3f391e0a4a1c67cd1c5094f2ffb557df36ded59e7bdf6bf661bcf31002feaf9f50f7b0af7055003a6c6af6ec63f15b6634050a8a5bef7c3a1a1b9814f201e36205b28d193be410d1e1d060c10eae4230d0e8fbcbbf9aa1dcc4a72257cf021435830acd2a8e13e486747eb89ee3a476d042f69a2624efd60c6072a99e1a24826a7735a87472a0870a32fb10b533eacf6b909d42466fa42b06d53a581e9ba0c68e451f754bb86356a54b9a254a05ed0ecb19311cf06ae14b9e2f8028ae57360453f4420aa9929309b5eb560385f9f1eedcb394acaa5ed456c88e00b2e5a3fe07c929e44dbacfe4ce4d307fc123a440236eeafa8a29e0f3b6eb432d733fea36a1ca38b050c0aed3fc8cf780206a198f2d6741951b70c419c4b6b66ed05e615f823a6cbd4633a5dce48aaa524448050785fdaf557d31bd376ea238cfefc431bebb1f99c17223a69420cf24f88ddf232a1a1f6648c5f3f1c51a42e0ac4f5126d44a09a1b1093ce50c1b353881ddd58ea77bdd0dd6e1b1ff86331cb97d361fe7ab33d459812b6c4ae6b8b73dfbf7d0e19ce924782df8bf7ce13d6977093e56073b06a482bc64ce9a1ae3764725af4dab446c785cf94eb726f8ec5292ac472f66d066fad9c92aff83f951b51fa9b732fb8b613004f4b69c703d1de7281e1de38c8ed0b130a0016f1a828a6362cbdb36f812463ca0fc73e052bfef9f8d822fa9ec724e24d662db842e9befa4742a3b6154f2620b16fea07ac63a044dfebbeef14582b843c4be9262f945b26a648f9ee05c760aedbb326540769cb421c84dbb36539ba8513d09712b1565d8cec5e3c256ea2ed82392cbcc585b05e8a9b3e3eaa38c0f38d6c228acffffaf4f9de94a3468a02ebda276ac8ead41e775382302887ece06584cbca85d26c544c702f526074dcbbecf370259c3410977c7973a73e836fead62939588d0f9f444221313744d6f8d6216bb985f380a907909b22bfc0922981385733f8b0d03f014bf4fe00c2f9245bede5f410f1ecde8028f13239aeeffe769931da3a5cf7836547671852fd882247caca75fa03f03fed70d93899331bae30756f0f4c6e1d3bafb4aff7926de35318985cb6baaed927137cdff0cfdae98b9c02bf166d5df5a402423d36e4f3c0f7b0bdcc2f5c22eaa4042a75e0a22a4966334afd394a7d21ded5956d79854f7739def6e0f7cdded4c4414cd477382c2f2ce4ed06219ecdc86064bcd75cfc348b7ce3bca88c68fc200e9f7e8cb3d94dc602a21c770294e592c1f475a861381808a1ef5da93f8c621a3dff792c2de8b9e2838c3b395d792593627bea153cc1cad6b312e26b7e3e3e903466c1967b5b0411ec142bd97c91173bafd1204f88197ac0e7a9a9b51548512ccf9e5f22faa54eaa4b6f7708c03edd8cd7aa1907258b85b7a5af40b632697562afbf4e78e74b4dd950002f5c00d57054ee442283801ecaa5358e379d2dad9e6dd99249b3d352fd1a1b5ecd92dab56a87164bcfb4021526c1774c4de1973704e73ca8c1152d7ba13b724d14e202bf862678ed77e8cb42d2a3174519275f386047ea2c4be6f076d3a2f7935563db48a25173c16f08ed51e4a06cf23778b1e76c815b0c74a147a32dbf085adcb2c98f8d0495374a644ec5963b5c9b014106bef3430cc242f6bac5fefbd51564b69dea624bbec1c898cd884f8c35282994970e51faab1ca26b21188f73bd2c8dd014962bd42dfde58ef043e29eb3661891697906f260e6c7829a6c1e3b60c23c0d8cb2a1402f1e764ce9964317325479fdd37e2633c8a6879a636b4c2fcff464cb73ead432b0c87b8a1a4657e242f6d8bb2398e9854cb8377b5b5d9b008e4cf93fff6fac16216025b67cec7bdc58a6d379fad8c1443d10da02840282ced7520a9c5fdbdc4a98164690e3fcd1acc6dfcb049d9a669ad4a70c6ad3254e8174e0d90c33b6f22cd3462e0691eae840d2a2b85d2e7446708b92f485e8d2b6170049da06c710b873ad6f79072f94b96800c71ad8a079695c72217b40d6d406efcf713faf7fb4d2faeaffd9eba44972d064efa0f9951c3fd2dc77f2c4a1d3de269327678d81f59ea754b48fac3f1e634d6df20db84e1bb844577868a457e2a6ae219d198b5ccfabfcb91761cda4e59d5656a8eff86f6fc1e466ece43055153bb303d3b9afbf682fd1f02023fbcde883442077b70877f1c4be22f2a4beff41d9a72d431cf3a03a4d7c8a31f38acd5cff3b88d510a18b16de234fe5f849d65b6955fd509de05d595b8e7b480db7b3f2207f0311743d656b85666518389a4274b3779a415b9248d1c95cbbe1741545301b2df8d6a91a81ae5026eee2a83b6e3deb022604a0b30f322da65619be2537ca2e314b652aa08dafd5cb79e04d5d6b8317016f5496179c181d3df1632d1fa8ea09ac68d3050502dc93dd17558ae1dcd938fa21de5be875c7246f8f83afcb0c1436d3b8f7633b7dcfe8bc7ef493cc69e4ea84685f78847047e6d5b2691ed4eb1b4f5ab7fbb714d82da6da542f2dbddce9f884aba2bcb07eb48d0145c07356976a193ce3033de7b5764264ec04c10f1aa0a9ef1ea3eb85f492bafab181f2030f0c9f699ab08f4f1d188d2d58317f463eabd81185a04297d8b00049972edd48ff3b58c4f55b786508c0c0e2fe3b70757b82c89cc1c972039f652991855a2a7418777c8764d98aa6e4ae6acd335f1440e38db9eca2a6dc67562abe68b2904e6872373858a1a112de99697d73bc5bf68f1b58545613263d354229c78ba1e112b5d363a9dd48f7f7937af770c9f3cacdc7757b71ff76e417eff3090f6982fe6f84ccd7231ab48393e17325fcfc818c43bc88779aca172a03563c67fd51040755080470270f3799045cf215b4818bab1ab24abeb5c400bbde16c77340aee4f4aadc04b14656129cbc18b3550737cfb595793f8b3ca1abb7c1486cf185596f26d29041ff27d58b3e8eb083ca8d97ddd16c9b0a6c90d2a5601e669e0da2e53b1b607db7b77bbcac959259eb5b08485fa0ae687caa7483986171b4e125df3e6cff12ab3a13e7c35c084df9ee9f8707fc71d2f09eaccd622b48ede9b2469f791a27f625fc885ab503d3081bf3ef7d2fb8b8dc78999dec76a18fa644e13e0caca97ac024afce7e9619d655d56e80fceb89cfac7ac6a0d2a7c7d2040ce97677c42003a2a238eaf430bf4bc7fd7d3ba98edb471aa80ff4f5be02b4bff14f86838f586f54ca1fca11897dd067307c4262764265a18ef70a007a49c97843ebfee20c34fd65afb6e034a356542fe62fc36749b38165bd0f771a96d5c89647a4321cf9d5e55abc78a17f6df903f4d3eb9e9ffb367a6226829a7d499c616f9eeca22b30dbbdec2eb4bad81af9892d72e647c3efd0590b338ba1fbab5b7c7003187863afd26eecc6299bddef78102ea8f79b93d4806f567e6b7c0ca9e18c91935e54685ff91951cdb880c72015267c3d27138e5ad7dff50c72591b21299498aa074621d9fe6b73c7989f15b65950ccde95746f41ade77fc75c3e896f295695552cb88af9c3c835b8c3deeec065fdc7e58559e062e8d8e549044b66ec1c4a3f9f131046549afa575f058b22e6b2c66127d6fe0b1017a2c09b07062377704094c3121b2501705fed04e0f62cb6a0a699c91c282ee8b93ff67b0840efbbf93be8baf1473ad4aba16a20f2aa7f3ee8158063f5c3ed18192426ea7d710d35d82b19e706aab294e41be8bff1519dde3e25ac32f692472fd262cbf66a0a09c0fa5a198ef6da04eb49763667beb25dc689d7c6071a7decf3f5f94656e44ddd46262651316ea763ae3199a9ea8c1d0453cc68f6e600247aa735ebe60dc4f1da7bebf2a92a2b70c325b6ee00f15dc64851420d6066698792566a46b64bc307d7c12dba35d0576c5dec446cc373bd425aa5674c16c82b6edd147a55d5ac3ebabd5989edce9023e18fdd378d1c001c2cc5d5907331680106ecec7d4912e00128362a9e65957a295a41cabc2e328c610cfa7937050e3e51f95e583708c5cafb8153ed204b5804dfdad1b3d7b08e8443ff92bb1816dc4f10a80404f2fd08b349a23357f3f44a972ba62a0df6835fb29b64b4b1f957c84a99c3fcc8d8fb04c605e688c4f3e5162192f27462c6833fc3a094bd33c79de5a2cf28ba3c36b33785f53a53d35bb9bb0eff3cb2b03720cc2f8eb1380aa42f58e67b78091d8549e6c582ca5aab38b6b11a5d32ff8edf0a5ea9eb2089064900c765feeb3465f4130c1d5eda1549257d26d90d2d205f72baf9ef3c2aeedad7f1b08bafffed4646e1785ff674736761ca487d630c202485d210717adb2dac2f3dcb33d69abf5b34ca46b282af5a68193d9f72737f1e74e013b48b5831e8ef87d0545b1ebb06693516af31c4202a1bcb0b89bf5b17b06e0dcc74ed3ed9210dcece625dcd6c2cabeb4f258667554c283e583b55f807615d496dab711aa48a7554e2238e18911923fc57b102cc06a72bc90b0b6bb3dfdada363da0931a766676c77d42ddb83ff21b3f8b762905ea0b1bd1cd2a8aefe7a02a73d445b6a0c004464d40a264c466df1836e993160809e7011c2864d118271342ec48275bf9106474e0b276f2bd36cda005de19c3bb28dc3eb4a62b652bf4e14048cd29ca5c368a6059a18c21ff1173553a3da9767bdecc7e4967dee4e1a2acfdeea55bc8515496b947a98309ba418ad8ea33ac1573f0ea00a51498ebe6de15186bb71e346fbf28f4777e9a72e7640bb5306173b2e9cbe14f38a52aa41578100674a24641faae82c136363a8e3a702af405806afa8ea9708a50d9176e39e17d21c7ed228e4ec4f0ae2411a2868c436ff3be024745f61f761bedb1ec6c389ec9529875fc136763baabf32f0f74e902097e0315178af2d3565ef80b85b0ed5a491cc96ccfff050b64c26b92f2da238f5045b47d13988a672885b2041461f85b5cf2988c9fc09dc6868ab9df865484f9c873e4b4675944f6e6199b4e493281bea8747ed979d5ec2637b5d2cb9d418441cd9495dbb0d2c841368e096af9ebe6a10049634ee14ff9a1dd06199dff0ccc73e8fb8fb82cb5ea5946871cb24c521b7947e587a3dceef06f1a26c773a3b442dff87d99d291dc391c740d75e61d2c6c195962d449a1add3d0f360895d70436610518cf6952628eeebc168c6645187e1915a64998d7b79fdd66371c161efc01c4d02f916a0050edfc4ab627a3a005dcf2c9eaffd996ac0982ce18ad5e135ef39dc65c0d69495984d5d8ed95b9cf6750cd3b0ee046dc018d0fa41b391521d23b854a10884abd6967b20f99cb0c19b75b6c84c78f9e75c381dea9b8a2b5264019b2fd0f6d737872f0bce2decb119d7440a408127c46ef60368a18b342c583f176612f58bbff4cc50c64dad8ff4002191acab817647e4361742254bc3295670df96cfbba29a5c35a53dd55b5e9c7428026370098b9afd67c64921ce78b7c6f193fe8612da3120de00a2d4cfdb9b174b45f1b619a8cd19e5e4b97508f5218ebed3bd7aec420cce393d5506efece94beda9001660b23f20c1b28217d0e4816da15ea5126aa475e01147f07a006c8deb5efdd03bc2626128503498d35238791c32b42542834568665a0003d25202b5127a3c53347d2bcce28ee47ad72e542d45629b5e23c4beaf46064d2515e665e0c81f2555f9b19e72cff8e9344e7f2ba25a77d9b87a5c9f58bf051089bef257c721ce64ae236c28ec6725c35e3b819c96ea206a9ce65c956769ceeb88c2ddf2d13e5b644cc0bebb4592fc1b2190bcf30b0e7560aee514e770e371ff9a496ad517d6af023b87a4330bbff11c25a5a7063e0df98ceb53631b5a9df92568273a478b5cb5906ac326f2e521c818272017e0222cffaa1f7da87c063f79a7b0ef307887609447eef3df0c1100691d577fd53bf010e3ab16287a90f104df994ea8bf08bd472b99c94e68cb4c0b0944e31bba902e0c763e08a43003712e503e4ea8bf08bd472b99c94e68cb4c0b0944e31bba902e0c763e08a43003712e503ec307773769274412d0d16951c2f6ee4ca1cf82eb9ae6b9d670ccb2ec93325a4c62d937487ad031e1791a1f4f387c974fe725c386184a7db28d75bd24966671df2b13111c733e0fe8478709a51d12bb2ed31d6277b24b8e54f11b9e331e84cdd60d5216ca5f84c64bd63fae69edc59341ff18d8b4b84e81107efaa29b19877dfa4b93740cfc089c62d4a05001ba13d99209c9d6dda6b919f331a830046b91021b1ce7e4f76ea1ca631f8c7f6f111a79da0459abbdb3b7ffb75889016aa063f49b9f6ff59deff9a407d6d7f7f41759eef338bb6ebb5d3abae9180efe6c9589b34f1d8f94f8dc155cbe1133825c3a771ed8d7bb434d2164d8b91f56843a21a7e2a7dce0b843e26e88c0e8280b1efd2f245c7534f755beebd84d83d9353138bbe8f4dce0b843e26e88c0e8280b1efd2f245c7534f755beebd84d83d9353138bbe8f4bf3d4121e5b50321cae64b2db42c66bc857e6b1d493a32550088f133210c2eed0e962b6512ff151ff28b980c6ac4f068384f1d1b097660babdad35af386beab35da5a8db281f8a259f8ea0d80ad9b68c16b753124583fd8665f5f95e9ae3f93f5da5a8db281f8a259f8ea0d80ad9b68c16b753124583fd8665f5f95e9ae3f93f4379d16b242e6dba8cb8edc8fc4c3c75220cbca5c66e87eb0a0bbac47d0f176c79fb464618bfc96071929c4fee798f065106b1cd2d3692fcb6b8d1ef46b83b9e410c26b109ce9d32d35c0e4bc6dc92a7579910ce706939a056323de5801a7a87edb421b4ee6cc8e9ffc0b719b31279ae4bb8821f52a19e8f32ad77d4aca3e51e0171178ae901e108f56305aff7e36268a690bc49933a24b1aaa587fda00f4d3b7151dc8ebdca81804c959266b14122bf74e62cab773dd8e2f37b379aac1052663c27b4cdc7089ddb410ddb81a5ccf42662972e07dfc44fc429d3056af6dd128e480ac039362a15a7738ba76dffe807fd03fa29f7edaa8eb21ca0057c44a1ee8ca7f21a2c5226b7d35ccac23780ae535921353b54bf7d7e61f1ad9b021167ba6c10e37c432b4b93a7d257fbb890636fa7f6f376321cca47d5919ea5b6adc75d3858ba5f2c20d320c3f5390ff9778e03d341957bd37c5d3cf0c3327976979f2e01f19a80d1c7d5d758dcea82276e73150454212a5136b19c5fc2727786132ddafdfd3864c058e3cddf5ce304faa4f47e6aa8b70fe1672836fd8ed7d1681821800fb8b271cc24a9aabc80e01b63cca18e01f912520a3a2acfc5ab7e5a71f97737b03cff6c3bdf8cfe9e3def62dd16b32e71817c323d5dd4fc670dbe02b8bc2910ed3cff6c3bdf8cfe9e3def62dd16b32e71817c323d5dd4fc670dbe02b8bc2910ed623495d81e704b171c71b2ed37bb1acea14707c6f0c14bed506d8d720485c38524636b0b2f9f014f3552291af2167c2985dc3b16554c6fea716a82a100d40b1e24636b0b2f9f014f3552291af2167c2985dc3b16554c6fea716a82a100d40b1e7e550ad30f6ff556df93f030be176e61e7bff9c36102e78b3ac998cb5aa6cebfea92c4b69a7bd80099b879e7fa26370ba0802b90b89d1baa95591bdacc0318aaea92c4b69a7bd80099b879e7fa26370ba0802b90b89d1baa95591bdacc0318aafb43c7e0b816103e7864c8bdc2740ca3d824f02d6c1b1715b0543adb4af31639cfd723672e8205a30f93aa14e24ef5b0264c41db367b50cfa0b6fcb83d881947064e0d469fac0350789cd5140ac8fe708638d72449a9b4013c047f19c783075c0ca5b36d5f70d242543a7456536a6c8bfd7c6f8bb643cc12039b9aa8141e913f6daff99c01b3c41a02db21fa5a5eae0ef5fb0cfcb6bd2e86b982174ac207445e1354d31d17166060e0b46e2d30856af4abb796b271b421b62df54a9cc42065677927fb59a2962661865bb978e141ccf003e553cadeb69c691206d739c99df3627927fb59a2962661865bb978e141ccf003e553cadeb69c691206d739c99df36239f465621751abddc0150408eb6eac1d589243075b3703e4ed995c57a89d1e88ae97e0b5c453cdb2ad6f7e0253d4979c32071501fe67058afdb37fe5a509e6d5ae97e0b5c453cdb2ad6f7e0253d4979c32071501fe67058afdb37fe5a509e6d53d08892d3beb18243767b7e1b01d8f69465d6cfbb73c00ea76343d5a7e763f5a6456bdd14cfc86aa9c7f508ac8e3625cf97cdaf7ddf8f59b7825bf43d9b85ce76456bdd14cfc86aa9c7f508ac8e3625cf97cdaf7ddf8f59b7825bf43d9b85ce7d549944d99bc29220b4dd2d40cf83aca2043bbb219781acd24cf4ef692a1de7b1bd836f7678aaf7f84bf9494f8c20c8ada8b37ca5feb3d7dbb0a11654a1325ed1bd836f7678aaf7f84bf9494f8c20c8ada8b37ca5feb3d7dbb0a11654a1325ed36608f194c023f23a3e5213403e2acae5f7427d25f0be7ab0b0b9851f9439fd6794fe8aa65014be73ab2d861c98ed82042fcd47c8a55ebd8eb09aabcd18c63a797b38aac855a7aba439ae88c73c7eb4e7babeff1c2b11e732201560458d10b9b97b38aac855a7aba439ae88c73c7eb4e7babeff1c2b11e732201560458d10b9b2efa072a6ef536492c77c6fa4a5fd40a2efbfee65a12caa9d841db8d723b5749f368484fd3ce41a5abb31cd1f115259a2398a12870b6cf00febfb44d2bf192ccf368484fd3ce41a5abb31cd1f115259a2398a12870b6cf00febfb44d2bf192ccb34d31d2e3c349a6b90c727f0b0ce5561837395749e3b7f8ce0a9075dd1201f43454585a198ffea4f78c67d58d1ebe89a0be1107612058e25ed4cb37964f2a71e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554c3a7e33c31b3e39b426fd6f2d44c2e554567a442ae377e249447bb064403328d29115516e91ca339527d88e3d6296a9017380af55981badb9315e0adb7401d9d29115516e91ca339527d88e3d6296a9017380af55981badb9315e0adb7401d94a84711a85b496a367f0d9b1655f64a7d9edea4a3dacca2934d50e87349a12e0ceea0f5e351f7ab701110d926962b767c2d650043523056f65f1d5978acdf76ed0529ea229368de4e44dc56a66f10d68f9777daff602cf97a5f69b7bf31ef3d4dbca9a068dcc8c2b6767877b5332d585130f31841d4e0aac3f58c447b79eecd10afe313b2b80e77eb2ee42c44b1d9eddbeb95408c386467597e597e09ef13fa50afe313b2b80e77eb2ee42c44b1d9eddbeb95408c386467597e597e09ef13fa5f28ce51867751a25568fb3d061897a8d64a72599cafc1a44466af6598e433bf16804502943a25ce6098851f6e4413e95c9eac5c3c0a548a6e3b1a2b47b489e99e214f3c1cf8ffa3735e64ca9f0140a10de1551fb25e9b3cb8da92af7b5b93a61e214f3c1cf8ffa3735e64ca9f0140a10de1551fb25e9b3cb8da92af7b5b93a613a3ba9d8e9f51623b17af2e994ceca95741923e0ad1552c33850253a9ff8ee897842a38994b45c68ffed68f564611f6c8f0ccb37b9643c5dc9892b10559c149c7842a38994b45c68ffed68f564611f6c8f0ccb37b9643c5dc9892b10559c149c3b53a72afee24ced415fdd9ddaf38f2815869c9fccac15812697da3f0e1aefe57d2a7d0e95c0b7dd50bd3923fbb855be502ec239563547d8ceda54c043d091a47d2a7d0e95c0b7dd50bd3923fbb855be502ec239563547d8ceda54c043d091a49bdb5957fcfca442fc8ccffca04ee9548bc7021bdc35890afe0f4ebdf21b1e2f8fb4ebfda93f94c449cf353bbf8e7293ab0060ec237cb007f0beed9b2a1da2098fb4ebfda93f94c449cf353bbf8e7293ab0060ec237cb007f0beed9b2a1da2093b8bde048c0afb455b5fa5dddb8b3270b21241134ebef6f67b66a8d291d917320c101e8c4326471744c60123c9a89981a233e437b7b725c5de403321dd14b44e0c101e8c4326471744c60123c9a89981a233e437b7b725c5de403321dd14b44eb756b0cf0cbbb3dca7219c7e9ba139f7dd8aae546ac13909a2c08c55d8656638ce2909421055dfd251fb73e3aa43ccb8dedcd9aa0ff40a9ef8a3835271b13944990d0f909270c2fc2c6838806231156f6c84bf6abb7c30b123802d9146b508f90465a1637415c7fdbfa45bd430c53eccbb2fdd9b983a2e2808afb20247f45ab91f1136b978d164971d399329e03393310c1d1fa278e81705be6b9f9276a454d21f1136b978d164971d399329e03393310c1d1fa278e81705be6b9f9276a454d2d80f55ac66a2570c8a19d2b1dad7c057cf4c944d9c2f8adaf5bf6c8539881e137029ec1cc4084b1075d751c10a4912d23b00709d2aa84151ff66c7e5578493edd183b350f0f3f783ece213315331a931aa65ecfd090b74e5645eaeed00f5abc601a001c0b80a36f774c23df700b8828d29666e6c79bfb5e522639e5ef567386eb61ce17b00a1338fca815852eae64f7c819b9ed34a6f5c40ee189ff32312d8fca160819bd9d6402485f2015b9c2b06c339478d7f72621658f3932d966a7a0360a160819bd9d6402485f2015b9c2b06c339478d7f72621658f3932d966a7a03602ee84550143db9ea9934707615afb5523c3c6bc3063d5d85631d6ec0e4493a54640470a9586c49c3814b047ab6aa30360f0e1a49dc64cf73aa4ff4f5232266b7640470a9586c49c3814b047ab6aa30360f0e1a49dc64cf73aa4ff4f5232266b785cc025dd0bbc6ec9955defaee2e30f87ed20fab115475bdbe6db2fefd5e0cf1e3ca4b9db924a24676731a0dff423f0322b432b5f177a27683f414f8447a8cabef3ef08a97cd3c403a2618bdc140b9d5f9feab13ef2feb9a92e8cd7e1a2173aaef3ef08a97cd3c403a2618bdc140b9d5f9feab13ef2feb9a92e8cd7e1a2173aac86fb360619e4114fd71ac6000909d6da367e11bdb9fd77ee83769f17079066d89cb7dcc0452008028bd7d1a6d89b6d3bcbc8bf075e7564ac14d0d6a666b057a89cb7dcc0452008028bd7d1a6d89b6d3bcbc8bf075e7564ac14d0d6a666b057ab220bb27e2a4395dc131ccd7bf9fbad0f3de0bde4138f724042b339fcb05ec51cbe683a01eacc4386579630dd73c93c7a0615c9f52b5f700f93eaa4636f9a69ecbe683a01eacc4386579630dd73c93c7a0615c9f52b5f700f93eaa4636f9a69e1288e081801668f1b010c9c86dd316968a3cc9794fb2a7e7fd0e5d14ac17f32c5507094f82632e72e12472a3bbca8a1bedb49ccc5a72c3fec823aed6a308f5fa5507094f82632e72e12472a3bbca8a1bedb49ccc5a72c3fec823aed6a308f5fa3879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535db59dbb676f2df3bbab652c0091a09a82906f4cb7b29892af659c2ef00d14ea6f34f480e6eb5d7374032eaec381c2107467c66482d426a2c8d46ffc416848853f34f480e6eb5d7374032eaec381c2107467c66482d426a2c8d46ffc41684885372c499ffaeaa980692e80f376f9c3e001527792d6011815201d5cfcf6a1c4cd282fda661e4d220b7a0eef7d1167a86c5358a094ac8ae2c45fdbea01fb9b63db5c6d6fa733662b621724be5f021f3147480c62add0c9fe1c93d6ee71a9cacb199b6b8581b63d2efdd86604f58536566485aff8a023b0f1fc04ed7004cbb38f45fee4c90b3e38f21c46787d33a153c6be9b2315e8d6713932f5f8c32e52250b6e64eb588a331dcb41cac7994a39a8c147d3d46b276c71a33b74f4305dd44164f7b7c371f54360f268521754635e89e0181dc07da4954f1d451a1a6784ff8dc05e207d4803ec8ff1ae3eb2267210d5369915f19a6a014d1b59f42fd67b8cf4f8bb174d6f00d3ab68396c0642fdef2053c7e3f242f53dfdbe26769cafc393fe77efc74d6f00d3ab68396c0642fdef2053c7e3f242f53dfdbe26769cafc393fe77efc1b037a5a15f22118da8a0b236a69f14d8f40a7323a28e6e5f2f10cb381da2d6411727a69b5216410ad085a3c871c8b85c0b0e920e5aae3a5123ab14596e597bb11727a69b5216410ad085a3c871c8b85c0b0e920e5aae3a5123ab14596e597bbed20b29303210540bd92b974c48db4541ce7c91321c9eb1849cc091b0b13a7f0b771f71fc35e3e7a280a1d800dde42f1b33c65859e08fe4f316da8f662424127b771f71fc35e3e7a280a1d800dde42f1b33c65859e08fe4f316da8f6624241278fe5ce586d82cf92c2bde6b054af00049dbda726a549f709d1ad0a2364d600bf6b5de343433933a8e2e7ab6387b5e197536fd44d332c13a81393cc4513e8e1456b5de343433933a8e2e7ab6387b5e197536fd44d332c13a81393cc4513e8e145ef544feb1129418a478ca9fb39b218c9dea03e668aaadca1f1ff56991a766d61f71fc960b3ecce3f4f1167367aa0986dc0bdecc90420a87c67c7a3f340f57c6c2d2034096886b560017a0217683ca499ad6203375a5bf6b76ed9f04db59eed1267d6c7514dde8156e657ba0f5cef14b1ee6a5fb6624c71ace879b511f45b3b5e8f57b38639982b9659eff8ab09e467353d8c47c76cb990b26b1ca796a46edc58f63f4956b686471b18ade767fcef599919753d0529a029523394f433b1844c4298fa5a63e6469381b5b5056c41e90fcb922ade3b7639e8a13261e217f4f29d4d93d0e728a0765f2225720db5ca2dad5dc84abed7383a58af96961ea781692c2393d0e728a0765f2225720db5ca2dad5dc84abed7383a58af96961ea781692c231e187c9a9e0da993bd129eb8c3d188966814075ff19fe949a56e0e253245f34550c6761ab93f57590cc2234d0f603f9d885b672e2ddbb12e6f17ce6bcd63afec6667e80b7890df89ffa04d687a5c810736b9202ce6687f84aea1402adcb0a1d76667e80b7890df89ffa04d687a5c810736b9202ce6687f84aea1402adcb0a1d7a3ece655a530d3e4a20b527835b59edd0526296a348d2fea3b6bc576bcdda1d46e9c279a2d25f665f8f41d26c33a18d641785312c18f4ec72c5fd8379125220a6e9c279a2d25f665f8f41d26c33a18d641785312c18f4ec72c5fd8379125220aaa787af1b2df12a75c855c20271e96b29a5c972128b9fca1d1c2e01ad44b31fb5a3c30f1a9523ac2f36e82a9f0edcad2a7e08c50ae821256993f2a264f561a0b5a3c30f1a9523ac2f36e82a9f0edcad2a7e08c50ae821256993f2a264f561a0b82ab2571a2d34bf79a27177fafaf27173b03638606e1dab3a1b011ee70946d4f25bfdf5bfddb3db4f866fbd326b5d8aea43fd5e17a3e0b1c86f64f85776584e425bfdf5bfddb3db4f866fbd326b5d8aea43fd5e17a3e0b1c86f64f85776584e453f35247c1ea879aef352b3372887c5fe71cb86d4a513c8d0a379c48baaf27ec5a3cd060ff6663033463740a0c85358093f6005aeda7a819ae566135d6b784655a3cd060ff6663033463740a0c85358093f6005aeda7a819ae566135d6b78465e3686028c3337cfb9b244df2da1abdfaa28f7bdce4ea5ee2d3b52271523594e283810b16ae656a740a149d6d7b7afde87333cafcbac2b0074f5e09d7b6accc7183810b16ae656a740a149d6d7b7afde87333cafcbac2b0074f5e09d7b6accc71e61b11f6f3dc9946b0e386182419871bb471cb5b5db58fc0129da3090430ca6def24f68e8c483859524aa8608cf5e7042c086a3f00809ea5635529c6c8ff7282ef24f68e8c483859524aa8608cf5e7042c086a3f00809ea5635529c6c8ff72820b78c30c68d61705ec51bf9c016c7d253a79e8ad198507be7f6a1c7f66f371163fe61a9f1681eb602afc618f14d9076f4eaaa5ea973892535463b1428f5ed91a3fe61a9f1681eb602afc618f14d9076f4eaaa5ea973892535463b1428f5ed91a7671639b66de4792ae8a6bd00e231a5788f5e79bb0d9309687dc58841afcf6a217c71fa03203a086d1461c5598e68cfaf6aa0f24714994def591bb0373caf7fb17c71fa03203a086d1461c5598e68cfaf6aa0f24714994def591bb0373caf7fbc97c958f1e4f15e0bc7b3fa72053af27ba485c8f06cdfb85df03d02e70044c43264b0b11eec8daff9184df86f5b2822cde0731b48f8080bc119b4b6a006846e7264b0b11eec8daff9184df86f5b2822cde0731b48f8080bc119b4b6a006846e71603419b97ed60e2e9766ecc3df7ceade5fe364c4f04d77bde2afe9d0ccd94f6c3dfaace97a57eb758844d65dea437437f63240b134b41c3a8066e459ed0e4bac3dfaace97a57eb758844d65dea437437f63240b134b41c3a8066e459ed0e4ba9d3fd18c7f48865fa829de9a3ed8c02d5a73e1c5561a3b2b5b2dd1b1432d9ecfe93c3b8a1e46692a316b5828d22436b01d91a55038990aec5f0af1888298514fe93c3b8a1e46692a316b5828d22436b01d91a55038990aec5f0af1888298514ff39afbe62575eebf10548d87c498a353f770546cb938008a6d95c5a318e0830ca1f63883a14df4c2cde032dfa6102ab252f975e3c6586fd3c147c09d20610bdda1f63883a14df4c2cde032dfa6102ab252f975e3c6586fd3c147c09d20610bdd372f6cb72601b280e95e0fb6b31f4dc558a44119a76f31ba757e494aefed6683a2eab55eb451f91b3356c0b304867caa51b2a870d29e275e05cf28eeca4f73faa2eab55eb451f91b3356c0b304867caa51b2a870d29e275e05cf28eeca4f73faeb429f839a674a1363d5e75f543256cc0c16a9fe898e5f4e31cdf9391fedcacb27a62a3f88b377864616922ae163c66dbab2c47ade422e8e2749fd1e1c223839485c3c4714d4e194b468bc7b86a776624310a2c8ce6985c716b6c9334c14852e390b1c7938fa9349cbe4470801483d0caec7aac28643b24bde0cca50ecec72bba805261104d7d6fa5db015ba74391383b0c660f796af19848667ed5fa193b615a805261104d7d6fa5db015ba74391383b0c660f796af19848667ed5fa193b615c915260c38d4fb070cd145653c0b882edf5d2e26612f7425778caa810ceeb9027a44da156ebfd3f95340a40f77bcf01213f38584899cdec511667ac3adaf3ebd7a44da156ebfd3f95340a40f77bcf01213f38584899cdec511667ac3adaf3ebdb14fb4edb165320e1bcf9929a6fa67d48f28c8548caf410de1f29f479a725cf8f3f8af7191e7dc8ce99001fe191d56d13f6c813c2140bfd6f0c73ff0ae9d2221f3f8af7191e7dc8ce99001fe191d56d13f6c813c2140bfd6f0c73ff0ae9d2221c27a183dd9a191b7f314d6e18a72e44e6784a44382d9fd08d84a8021e3b1afcf217cdb601d75b9bab2aaefc79d03bfb3e94e0f31ed634db25c03ce31ac482f51217cdb601d75b9bab2aaefc79d03bfb3e94e0f31ed634db25c03ce31ac482f51a1a0a09cf11f11a2d8e78e4e952b2b38588f7cfb675bcb2d8548f810d046e3a114174ce6645a6f9b77e78180d9f7203f03339412591eac636209e22cae2e0db514174ce6645a6f9b77e78180d9f7203f03339412591eac636209e22cae2e0db530c7140cde98d6f32f0f9365a07045dcc19fdb28411e955870e3920af6cbe8f2ade276321d701f553d5760ebd8e5ae3f78db090c454448fb9fd1d456f0c75bf7ade276321d701f553d5760ebd8e5ae3f78db090c454448fb9fd1d456f0c75bf75c7e3cc40fe0276eb63876d41bb02f772c13b97f9591d5866fad152ed9c645c4265120a7f608966e601bc7121f640692a430a22b14f552e2d6b147afbebc63f7265120a7f608966e601bc7121f640692a430a22b14f552e2d6b147afbebc63f7fd390fc38dad6c57404f690cc69c7e28dffee8bfb3e6adfec68e72652de2f085b56d32a663d84d9445c4bf1bfb843ab4e29cbd5a684555ca01fcac26a496318cb56d32a663d84d9445c4bf1bfb843ab4e29cbd5a684555ca01fcac26a496318c21815a9f86fe25d64c6b0f9e67c664bdaab171f4900229f5c3d81bdd69761730dfd69bcdbd961c77df674f1dc92cef366bb9ffa9d882c455bc9eac51bfc0884ddfd69bcdbd961c77df674f1dc92cef366bb9ffa9d882c455bc9eac51bfc0884dfab303836a54c1cbe797bc984b8c58c6579c23a73df1ccc1dcfd506df7a1c16183d3a9b6008cecc65be787bc08d0f291c56e37e305f5242201ad6663d62a75d483d3a9b6008cecc65be787bc08d0f291c56e37e305f5242201ad6663d62a75d48d18dd407f4f409f70b39dc7c9806c4c3dc71c9237c54bd916bc3de641bed1a59a362fa96c3de972e8d5c45a0a577bb7e7a915e421b8bffc9071965d378bb304809ae05decc0250e01ecf3d564253c7cbc9d898cf8d9bda6fc9e81d3634c49a2edad629688dd40f6a870172831c8c192a004846242c2510bf080c1fd544843bd37a993a908f08c636264f2e4aa7f1072ac56182bdc1df2a2915b79befe12069537a993a908f08c636264f2e4aa7f1072ac56182bdc1df2a2915b79befe120695ca8ffc1677dc229658982085d69909747d501a67813c1673e08bb556c5e357623fcbdc88659191ee5f0dde6324300cd4357bf000e4041ff214f6cab66036fae13fcbdc88659191ee5f0dde6324300cd4357bf000e4041ff214f6cab66036fae14038f603609b7f336ac0c5f8f8ee5c7b9bd4882f6cc3c70e02770b92a37b89dff74724f509da4e3f7f87996988c426b8aa14cac862308cd58ccf9dab3b4137e4f74724f509da4e3f7f87996988c426b8aa14cac862308cd58ccf9dab3b4137e43c833f13dcead86aa3dad2b640e2e57c336c3dafb27b3017a12e459da9b4b5fcfb9519d5095a5396c096b6f67f27e9d53a04ca87a8b15d1f46c7014b18b1d047fb9519d5095a5396c096b6f67f27e9d53a04ca87a8b15d1f46c7014b18b1d047d0a722d6f0bf73c27d18245c9e5464fd91062a96c1264aa14ab403593aafc2aadeb38938a8446df7425a8e76f3d82b773fe0c4d9ea14afd1208eeecee4f90094deb38938a8446df7425a8e76f3d82b773fe0c4d9ea14afd1208eeecee4f90094824b6599ce4729b884d91ecdd07e06a13fe6dceea10432d885ad3027cf7800494d472860f7162d0c2ce7ac9e28aed58085373f03ac610433baf29896dce508204d472860f7162d0c2ce7ac9e28aed58085373f03ac610433baf29896dce50820a91c6c43a0fdfa6f527409f37b0ed6db6dfa4d1db74646508cb3c2c3afceee4974e7171eb7480974e85f81628a967c994cce9046ce5562aed42efde81609426874e7171eb7480974e85f81628a967c994cce9046ce5562aed42efde8160942685bd1ef77f0acd1608725982a584a2435f176d5a35b992e307095a8e4112581e8eb6e144afae3d8ae3a9e17650a2f0730dc32b8dabfba54ff186c3a976e41859feb6e144afae3d8ae3a9e17650a2f0730dc32b8dabfba54ff186c3a976e41859f2fdba7011f83388eeddae3ad07c5e209bc8bc2edd9170c63e15faad8b167b339c2185f6e0af5f19e16167b8cce35477d1f36aebfadd929d36db0356d13c69871c2185f6e0af5f19e16167b8cce35477d1f36aebfadd929d36db0356d13c69871d19cb9183192641f8fc43784442f9fba2ea80acb0f7d0696f8dd191f8f61c1e8f9ba981c81f140d56bcf13023bdf006842bd4cbe713ca7e332f79adf99f31e9ef9ba981c81f140d56bcf13023bdf006842bd4cbe713ca7e332f79adf99f31e9e40845f0919bc83ca7972bd9d08b7b84ce2bbab50105810154b759cf942771ff869860f156f2836b8cdbeb6dcbef9dc942fa387f04a33f4372ee7c552da0b182b69860f156f2836b8cdbeb6dcbef9dc942fa387f04a33f4372ee7c552da0b182b0bcdd4c06e4f0d0e92e4413a036ac8344d7f7713fa256d3f88f0211a6af0d0d9ec11baa39f8edca1f50dace3ab8039fbfc6811ce727df226d68f8d8c28265476ec11baa39f8edca1f50dace3ab8039fbfc6811ce727df226d68f8d8c282654761bf68d35f12952cdd4d71d2c532267ed0503073df2f472a64c747d9efc1095373407bade05f5f448e868135801027d641d946e9aa5476f933a451e93ee74e2d03407bade05f5f448e868135801027d641d946e9aa5476f933a451e93ee74e2d0941855a43d47c61e22b4d05f6b505b653595707e7d65bc2968a90ef8d6b180ebb0a02ba3ca133c2e986d6401e0436c5e2373f6e5a1be245074c03f625df2817ab0a02ba3ca133c2e986d6401e0436c5e2373f6e5a1be245074c03f625df2817acfa8341e6de9c6b9ed6e5464723ba269785553447c9d6b004f32bf38c0a2ef8eaa4eee82b5b9bdc38c0e43cd1ac06bfea5a9d6da82b89ec066b89f89236f2e3aaa4eee82b5b9bdc38c0e43cd1ac06bfea5a9d6da82b89ec066b89f89236f2e3a4d11de2025244eaa9cb600ac3de0e733d47f34fe3124baeb6a5d6d0f8a961365046f48a42d2057112844b1b79587765db721684f8821f52edfe5c1617b0e6ab5046f48a42d2057112844b1b79587765db721684f8821f52edfe5c1617b0e6ab58339b4f03c3829704f1ecb5f22a9ce1df894d0aa60d52c20432efa4edd951c0b6d12696da222d363cae399dc73914f84927cbc8252f3fae02090d7995ba2bff26d12696da222d363cae399dc73914f84927cbc8252f3fae02090d7995ba2bff21ceba6939f46233d276a608c9fc3840f38f23a4b689ffaa9075b5f59d5cc6e778c2aa53d358ed88ebf6ee203825f2cf9866d27e7332ce9cdecf56bea81637b3a8c2aa53d358ed88ebf6ee203825f2cf9866d27e7332ce9cdecf56bea81637b3a84c3c250f51f97bd44cc14c87a5646fe9b3c31620173e18f31758b5a141dde433692b140f0ea78834dd4aaac50d1dd214e76705543f433de7d540a3e8cac380f3692b140f0ea78834dd4aaac50d1dd214e76705543f433de7d540a3e8cac380f08f0a530a80085ca11af94728ba892492b9833e48a1ecd66a78d680beeab6323103e3ef2ce688a601536bda03aea74b6f114a55b58f194936655b6414c270bb1103e3ef2ce688a601536bda03aea74b6f114a55b58f194936655b6414c270bb1a7da4206dc12ec8f567303230acee8f532d256fa1839d9f51d89e11d1bb80d06946dbd2d510a0690f24d3fef194baba58d31e31e07e4798ec24292afba84d2bb946dbd2d510a0690f24d3fef194baba58d31e31e07e4798ec24292afba84d2bbbfb4c1af5f71e3b05922f18d1e4d13472328ee5afc90c3ad859648804715ac3519ec492b3458bf259aba5c3cbeb2d2692f84d3a3f14ee12d0f059ec788b253f719ec492b3458bf259aba5c3cbeb2d2692f84d3a3f14ee12d0f059ec788b253f723cf9f7618b6f92be2dd950a64ec6903c525b6eb2e688a5287d90bb886dada0ede50941957ba87b14dd3f39b4814b6f4295997f49fe726a667b3171d1629d044de50941957ba87b14dd3f39b4814b6f4295997f49fe726a667b3171d1629d044e5759bcc4001fa9ae49edf85c0003b4967e21caad24c466888a33d88f63ed8b10def90886910c6db05dbec89d1b226c89c694f2e60c21d44cc874d57e1a9ecf20def90886910c6db05dbec89d1b226c89c694f2e60c21d44cc874d57e1a9ecf20aa8b5d826339fb55afc4b76126476a0a387d75a678da49ae63fb6cdbea138b037e85b4fe94c66f7e1c95aa04d488c3215757a396f6849e3e92574c3d1f8bde537e85b4fe94c66f7e1c95aa04d488c3215757a396f6849e3e92574c3d1f8bde51cb6f7e1cd145edea66c4def6f57f19b1f214e116459b263a5110115bf2ad29cdf8cac025b18e1dbbb88a3c2bd6e9443da042d47a7a96ad1a4dae302a273d740df8cac025b18e1dbbb88a3c2bd6e9443da042d47a7a96ad1a4dae302a273d740a748272eec430c4460a3d605e064ec847a5c04ed08b0114b0acfa64d7b6a05013900a8bdc12aa489e776834fbb2157cce128ba2c84ce470db812563a8200fa2a3900a8bdc12aa489e776834fbb2157cce128ba2c84ce470db812563a8200fa2a6d425a5828d403c014e5a7295f19ded3f2040ca97d722d10fd33f4b7b4e07e48558676cc79c2d88792236d621797aac3b8e27ad1a25d952da3da13e763a97c56558676cc79c2d88792236d621797aac3b8e27ad1a25d952da3da13e763a97c564d4e36d4c8d76c7e0f762ad4b4add7bd25b2133333412a1e939d1034ce51954362ae7ea417018ab4278f358c55f712c0071a4d39abcd29d7fccbbe2cf7a36d0662ae7ea417018ab4278f358c55f712c0071a4d39abcd29d7fccbbe2cf7a36d065562f5b0752b99be278f6b5211d5831d9a91c275e6a197dab10217f4ca70474444b21b24fa9b26cd29590d222a1563a5ca6750a8dfeab2011b0437049619f9e344b21b24fa9b26cd29590d222a1563a5ca6750a8dfeab2011b0437049619f9e3c95e7d47fe0ad5604a9d884df5e04f5dc4184e7f1452677beb2492865fefc0d8cbfbc914fbf9952d132e3ab7f4b7d685a9526ecb0f41af1e10a27dd002e6dc68cbfbc914fbf9952d132e3ab7f4b7d685a9526ecb0f41af1e10a27dd002e6dc68516fb88555c8aab3423c6e6b8a3ca5b097bae30ddb47873565a99803f7a74e8e749f5acbfde98a51ac1f13f78c7271d0b7a0ee717eeda21130a38326182e0ac9749f5acbfde98a51ac1f13f78c7271d0b7a0ee717eeda21130a38326182e0ac9c8057e31c398532402956e0b84dd9d63114ce3376be91a0a1f5e28d12a330f5c5645d2938e1215aafdaa4a163d7415b77374724e4593b557529c02e444a020c95645d2938e1215aafdaa4a163d7415b77374724e4593b557529c02e444a020c94a89c4cc9e9baddb4febec3f409dc531ae7fd176f3279338b7a1bf599bf83a66e744ea4c8d1c9c3ba57069de9e76438322b643c1d438a58c7d49e0541ae6d68fe744ea4c8d1c9c3ba57069de9e76438322b643c1d438a58c7d49e0541ae6d68f40005f7f0b4905ee36b7f13c8b634c01674cf4d5f185273c24423eacaeb9c5cd83783ef778ac511abcc48a5e602492ede58cbb209af55b695e538db910ba36c683783ef778ac511abcc48a5e602492ede58cbb209af55b695e538db910ba36c67035643b7e84180fefc56eb2c20417c8ff91d5fa04531641542e36544afba630a4049d6a71c502c2bb5f02b45fa0dc4b687b502b3177a93d494b5812f37ad38fa4049d6a71c502c2bb5f02b45fa0dc4b687b502b3177a93d494b5812f37ad38f75297235f5e61ebbd87d1f2904eb31f0dd9b2ec89bac08015dcf3e5195aa09438689ac673237610dc8a14e8ed90977baeee5d0e3d452576f26b66cf5368bd9eb8689ac673237610dc8a14e8ed90977baeee5d0e3d452576f26b66cf5368bd9eb61aea6e916de57a887b2b15685e9e9b4e6e154f1b9dc4c6fdc78dbc5f8aca46a06807e4ac03b3d1d5dc645cbfcf2bb23c1ddd8f1aa99386f688f14612bb157fd06807e4ac03b3d1d5dc645cbfcf2bb23c1ddd8f1aa99386f688f14612bb157fddf152260f5c27b474a5e9ba284421980b919db4e7ffbfa9887e2daa1a5c3c9537394b51171b7de0a4a5ea24010889a0d516d12b463ec0c20c28d230b9b844c837394b51171b7de0a4a5ea24010889a0d516d12b463ec0c20c28d230b9b844c838f3b7efe5445797ec575edb8d324648e841d8456ff866646d9cccbd911edddee27dedfc6f5b2a945c2e2e0bb2b7acb645d923389e540f75c1711ef584e2ce0ae27dedfc6f5b2a945c2e2e0bb2b7acb645d923389e540f75c1711ef584e2ce0aefe91fcf7d6a5580366e16fc99b04b9630218d1f1733469c8828cd8ddb7540496dde26bb9e5015c023e018ed50bec68806c50be63696e35f74d78b97f59167296dde26bb9e5015c023e018ed50bec68806c50be63696e35f74d78b97f59167296fcbdb881e359508f77fd88d91bd8bfcc690a47b56d7db0ed8b487820d9fdbac18e018785dd50a1433cdd9cba94f7a54181d79847c52dd9059bc3544be8658a2c8e018785dd50a1433cdd9cba94f7a54181d79847c52dd9059bc3544be8658a2c8de7c067bf3126f9e07d689536d5227d25993742cb8d553ea155768273580a1681465b4606ed4e07549ba9588336808d5bff331bdd4ba034825858af843d64a381465b4606ed4e07549ba9588336808d5bff331bdd4ba034825858af843d64a3c180d390a74638bc09f98cbb5b9ab643383f6aa7a9da73ead575bd49e6f053bbdd500c4853af2f0f597429c4ac6114b529e584bc5345ce8ba90d5368518c9a29dd500c4853af2f0f597429c4ac6114b529e584bc5345ce8ba90d5368518c9a29c139c26abd5525aa56b40a2a384a9ca3337917156d1f19528aea65cc40e67042f987753c96d94232548a1e7e6a58584bf8b96f0abc6227872a674bf5c1fcf524f987753c96d94232548a1e7e6a58584bf8b96f0abc6227872a674bf5c1fcf524de100b9150fe21ae4d9c2d84c3331cba8a385d718b5cef7d69dfb258b0a9b26ebae30f62e3d4063d76046b053726845743bd5cdbabb9196405c2085cf0237d8bbae30f62e3d4063d76046b053726845743bd5cdbabb9196405c2085cf0237d8bc1709e7172ecf72628108247dd7f8d8e7046c712d504c2241b4eaed5d410d114bbb80989980e62a4146c363fcd5e3c08847c8e4372dadd35c53c1c314813199cbbb80989980e62a4146c363fcd5e3c08847c8e4372dadd35c53c1c314813199cdbd4a2a7b285601a0c775b381cf7599e15f6e1639c5692a7af63405bb8ff05e5a540c3824597aaabcbab3d6accfb7ba4a0e98af4b30604700406a1dcd3a5042da540c3824597aaabcbab3d6accfb7ba4a0e98af4b30604700406a1dcd3a5042db2871c7ed2030751b16f4d8d7d88eec1c4bc86757cdb84fa62cad61ad53d736018cadb666478783c6ea68fa2e44a3d54694fff8a16df6ce4c0736558e58dfbd318cadb666478783c6ea68fa2e44a3d54694fff8a16df6ce4c0736558e58dfbd316a0c8a6e087ccecfdf3a98c69c9a8fe4115ef3176b6768f7e2211994efb3bd9b23668beabd9043bc4db6b54be61241190382ec25c8787f5d60c5dcaa9332865b23668beabd9043bc4db6b54be61241190382ec25c8787f5d60c5dcaa933286572f7547459460573516f50340e94b552de1fec459b61075c7bb65c8e0fcd7f0ccf98e63d87687650fd9e9647b925e355ffcd6dc87de5596d624c3a2b203155b5cf98e63d87687650fd9e9647b925e355ffcd6dc87de5596d624c3a2b203155b5e36182febefbe22dfa7b62e120f80c0200d54e888e9945765ba36162631f4bf413af7654e8f98a33b8375e4fecdff29eaad10e55091aa322cae4fdb6cbaf79e013af7654e8f98a33b8375e4fecdff29eaad10e55091aa322cae4fdb6cbaf79e008d4e7613c64156e7c384e9ad9b47bad5b9f9888da464fabc3503e1bfa9afb471c7f5af5ed078b8976aec7588f69e21b41b75bf9df0948e29a1dd1ab7c2c2e5d1c7f5af5ed078b8976aec7588f69e21b41b75bf9df0948e29a1dd1ab7c2c2e5dc06fc8d5f464020c466aaa623173913890c09a510494c9fdc03d1d2ec9ba104c18c31614a56046548adeff784a4058f454f043dbc11f8116b842ad1cf5667b1b18c31614a56046548adeff784a4058f454f043dbc11f8116b842ad1cf5667b1baf6772bd0e44c2465743e54a1c5fb15f26d91dbb84bfd325475480ba0499d86aa2f3333fd50838cc6d0b54a68a4a7813b837d19e33e61fe2f84bed692c08cef7a2f3333fd50838cc6d0b54a68a4a7813b837d19e33e61fe2f84bed692c08cef7ce21f0a25e6a0a1e355019220af6db55657acb60c57cb37498d70e5de2ceec1e7ea3b59b0a6a8928550c756ce0bfaeb56d1596a970aa62012ae61532d83471297ea3b59b0a6a8928550c756ce0bfaeb56d1596a970aa62012ae61532d8347129983ddb828a9d418c2f09a0de2d541884e70b479a6e600a0b2a31e086d2408a7ac12e8936552c73f5d7888ca8e36a284c655c118fc13159b2f149c8ea04b42757c12e8936552c73f5d7888ca8e36a284c655c118fc13159b2f149c8ea04b4275703fbf70a239bf8844b9c5216e927b8eccdb33d72b14cd0ef2aaad278702b4fba8eb0b690b4d8597d71629ecf2027c5e2e9f32886424de38c246e7ded927abbd58eb0b690b4d8597d71629ecf2027c5e2e9f32886424de38c246e7ded927abbd5bc495b780497f2a0071a73c7dc18530c22d4edba33393359f497f7bcf35ecd9838c3a7e8013c64f59b628d4305a62f68ead9cdec4a121b72efd9be8d2abf618938c3a7e8013c64f59b628d4305a62f68ead9cdec4a121b72efd9be8d2abf61895a7cf910d572733cd731ab0fe7536daad11943b2580ef12d752267d754fd31cab4b74ffc2de49adab8e30819a3c4cad0ef0bd9a0307e7b98824c9ac9dfb90c86b4b74ffc2de49adab8e30819a3c4cad0ef0bd9a0307e7b98824c9ac9dfb90c868c234c1d7910188ecb7ec3561d5de94758033884b304441acedf4a3bec6c74fd8e39db70bf4cdfb3b7a5f9a8a286e25387fd8fd4a486acaae6fad0471ec146158e39db70bf4cdfb3b7a5f9a8a286e25387fd8fd4a486acaae6fad0471ec14615b5872615e65f4890c3a701ca3834890e6ddfe536ed44cbbcea7d6d7a163e3505b32071a603ec272467fc013ced3c0cd70ea5481e420090e981af4fbf088209deb32071a603ec272467fc013ced3c0cd70ea5481e420090e981af4fbf088209de71680d0d610c8ce9cd1d52576853532b89fd3df6ec3e60c4c214985dc19b74808e12444fdaf4e51c779325e94b3a5dacc5c059cc4d47639b29facf2337d809038e12444fdaf4e51c779325e94b3a5dacc5c059cc4d47639b29facf2337d80903361d96cf6d84c3a162bd436d302d8f3b49bd3fc29ed52ae8b8c05fe3daf114e61bcf5448d24d04e5e325441ce21ce342f97939550822c11a5668ae5ecff503291bcf5448d24d04e5e325441ce21ce342f97939550822c11a5668ae5ecff50329e4de02f64f69701cb1b730fe98a5c3777deb0026b4007c94edce5cf4d323bc4cfb042013a31a1462c489be7097b3deaac7dba0cb1860822a8dd27a7eb851a833fb042013a31a1462c489be7097b3deaac7dba0cb1860822a8dd27a7eb851a833b32ef3b4ccf6de3679a94b3cf36de50106b941322c4242fd7df43a9f81a7b165ba1bf966dbe8f9d7721882ac2aee3de4a3621ed9ca49a9ee86002c12aadd6d324907615f884235395c10de7af2b07d2a9552e132f9def01dcd86b68211728c3c78140672c975b25c45e18875fd25db5685d603e02a8b231324e4f56cdb599d5688dfc9835e0fa4e82f4fc86ed30b0adcbf70727987297ba858cf7005598b26b188dfc9835e0fa4e82f4fc86ed30b0adcbf70727987297ba858cf7005598b26b18b7aaa84b0634cb20dbbe39d7cb74d57eddf6afd8f6f1b0f61a8ff2b5f2045f8fe9fd855872da049cecb2665c679de312010ae9767548fc95eb8e11878099278fe9fd855872da049cecb2665c679de312010ae9767548fc95eb8e11878099278f238411cac69c5d082f8f48a0b658f57f4c0ef4064c6cce399f39e192b1e159063c9821cb9812cccb838a0e9b019d2a42f773615c68bdf63f2c63be220b3e50377db66cb45b0e52fee399b2988bf6f8abe396dd9280e472d0d7a815e72fa9bb0ade38e0d1d9c6efc6a75180966030ed6de1d25c6231d967bff9a59ac7c547a82ba30dfbf20d4c51a7f9cf96475281d23f50fdbe4c8d594ad169c05f9f7127a9aba30dfbf20d4c51a7f9cf96475281d23f50fdbe4c8d594ad169c05f9f7127a9a6acc4bc94879f81d79b92e07c15e02555bd3469050deeeeb652baa175322cf509afce73317858e9ee192285a7da9443414476fcaf2e99d13b3900dea966cdab9e1b631355965f857c15d1440b8d57f18d6ef21eb89b2a30eb1d62eebc67190b818e9b6800cb6c4b7386ef2c1107fa7f28b1e1fb048226a3b2c33ee632d01742a771924256c6b63c0f873e47ce4b01ebfca1721edc4cef522e60f026b1720c897b6589f58e5b64bdc102667bf43d9aa60493392fc0ca899c4926fb4526fee51aad18689aa960841c52343f5dee578588cce235cbeb252608ddf5e66ddc070307414403fef8446f2a7fc0dee7d166ad3e9d9b0e6ad5698cf8edddb9e0695faf19e14403fef8446f2a7fc0dee7d166ad3e9d9b0e6ad5698cf8edddb9e0695faf19e39cb932f8f5b4918befcd22b62d32033feac7ff6ad3f538c1a7ab10f8004900c191aee9f72187fa01ab16826103759629631878cff8b94f2668e6b4a48aaeee0191aee9f72187fa01ab16826103759629631878cff8b94f2668e6b4a48aaeee0a4c8d47d6cfe960b192cbd910dd125f9544f95e3d12b282067a6c7bd80fbd2891d0cde9a2335d8e20331ea4b03b87540741397775d9122c213fef63663ce02dc1d0cde9a2335d8e20331ea4b03b87540741397775d9122c213fef63663ce02dcbf65d8a68028ad4f468b0fe0913345f8c7698b4e094660fa570f82b2cf178ae39850f3df1722e486c03ea3a49ebf5cdeef096c84bbc9e0a71d914e9b9bd230e99850f3df1722e486c03ea3a49ebf5cdeef096c84bbc9e0a71d914e9b9bd230e911224893850d5318135dae6f0b7d62121f72d1bd03224b6a881daf25ba34c3fbfcf8051f28a011851a350aa67b280d48b8b4d1505ba9d2be913853deeac71e32fcf8051f28a011851a350aa67b280d48b8b4d1505ba9d2be913853deeac71e3227e9a18579a6462199b6b12600965c7fd49ce5a78ba584ed35851830f31aa1d2b4aaf526fe83f58e9c951d4f7eaacec695bb5f979f0ff7f6343510207cd3d3e2909e839e1dbd4d77a5f1d9f55fbafb5a974c0ade82dae28bb2d6b11f0d8b9f54909e839e1dbd4d77a5f1d9f55fbafb5a974c0ade82dae28bb2d6b11f0d8b9f54aa8e019765437e8b27d31f8a38ac6c3ef4f641a95ece5d5fbb94b0633362c5eca42cd8bf2d3723d4f8aee8c72c6146987149b6a59545ceb204dba404332713d51c14eab379e4dd973a7d0b7c25928b6e896aaa5f9af3f148d65222788971252f5cb4da5be8b67c110e02b7e2726c6188e24d48a6410c9ba9b30c7169d89df32e8060ef432efbf01236b04328eca9e8a377e72a28c67418f0de382c955d7330e88060ef432efbf01236b04328eca9e8a377e72a28c67418f0de382c955d7330e8daa60c76bc7b99f9b2a703a6ca66a8bbb58e51290e74bf2abbcb9ac5fc9c987d26e709b3aafd48ea587acecd8af69f34610eff48ff3f523ec53c6b578280b68d26e709b3aafd48ea587acecd8af69f34610eff48ff3f523ec53c6b578280b68d4a219f40d0ec1e309ccb8ef6b55419cd3c7d5eaae23fbd8c93aef90fbeb73e6f0e4ae0d36bc6fdfac0b29faaec16e98557ac657826323c6ea4f8504dc38ceffc25f1347af7a89d2d3fe2a531b6cbc62d4e696c8437fe88d2747f60d110251d13b96a13c4c6872b411677b028af6a3f771b5bfa0c0562715e6c27657667c2d9b09860c6acfdd0dce9a468c7753562322185899def341668dac24e179b5dd20d531ab00b405b43d773623b91b4d31087a64ee0a1a631bc60711daa4610711b93b11ab00b405b43d773623b91b4d31087a64ee0a1a631bc60711daa4610711b93b12ac91b93be67539e4926f4fc0675217d4fd583829670980303b59b14200819164b36e1c0be47e895b4c0b0ccdd17dafb4b9ab2230fe72286b87b259469a7971f47a1b434cbba0b6b1bde5b98ca90b73bcd9a9755124e3997af345aae675706009fc5e29de0688cba4623a4d1e1b9397299343580a110dfd1b979543745a70bea649d48f31547a99c92311af295cc093f819696587a9376858dd694f508baeac3649d48f31547a99c92311af295cc093f819696587a9376858dd694f508baeac3cfb96d46a9e90c6c981cd73891357291173247c2c078ccb2d8a55fc957b5842a1406a4ddfaeae3856ad787c1ffe718691c42826b79cf89c66649d485445ffc4b1406a4ddfaeae3856ad787c1ffe718691c42826b79cf89c66649d485445ffc4b4a02bdb3964a6f1e61e3d46885e5c75cd15e02e94be43cc29bab053625a84675df0039ba359d77859689f278c2e54ca32949c6052ff8daf90294242bc5bf4ed6df0039ba359d77859689f278c2e54ca32949c6052ff8daf90294242bc5bf4ed6e47a3f2324b579cc980f007542c6ae316f010a2bba26c084b33d7f30b9c940f966eb8c21f48af1241feeb1453bdad8eaf02117ba83ba40a70cf43452220b5fb766eb8c21f48af1241feeb1453bdad8eaf02117ba83ba40a70cf43452220b5fb7ed75dc720f528ae8a6c05e6b71f6a6ca5575d3dc2113dda2b9cc26e20773df85e5f30e76910b1e1175be4c61559e5c2d97ea9775a0ca85a0399a3a66db0ce43ee5f30e76910b1e1175be4c61559e5c2d97ea9775a0ca85a0399a3a66db0ce43e5814dd869ee87574a0a415777435e1c84814647a9c0bca53030944c8557cff04f2f6ebaeb03bab2d8f27885ce3deacf1a72a0db565cfd485b0973e36145252e1f2f6ebaeb03bab2d8f27885ce3deacf1a72a0db565cfd485b0973e36145252e12d232284e04741c2405caf56b6f6a0fdb5b29a5c43bb9851dd6d5613763d29340444c7fee671aa1d490d503953af7cc5c752fbd19e26176fd8bdffa0643386200444c7fee671aa1d490d503953af7cc5c752fbd19e26176fd8bdffa064338620bd9a6d305c0b38cf451a1ad5af9d2716067a4cedaddfc65cf55c2281e4af757562db90797985bd09f84b9c8c8ade1ce592ff8f25789b8620e5de5f1ab71410cc62db90797985bd09f84b9c8c8ade1ce592ff8f25789b8620e5de5f1ab71410ccd6523e8d14d4186ebc9ceff2908f6c222cbe476e9828996e4ea7ef9eeb18157e28fa279dfcb52d03e0cbd1efe716efb4c5a29adf6b1a4a179c00ea6445c4ab2e28fa279dfcb52d03e0cbd1efe716efb4c5a29adf6b1a4a179c00ea6445c4ab2e159054029a5429155e586a05ae939b312c0dfca29e308ac6088565485de793b03c5b5e8c02d8cd27f2efb0d5d8790fc697b5340ce009a0448c07628229f661c13c5b5e8c02d8cd27f2efb0d5d8790fc697b5340ce009a0448c07628229f661c1405f9b021a98ca2ad282474fa1a89e9549dd23140d3d92ab5b70be17000fe06d9221e4e865adcc4b9c9bb8c48a4a1821c53cf1aba026f28d850a542389d910349221e4e865adcc4b9c9bb8c48a4a1821c53cf1aba026f28d850a542389d91034fbf91fd151b6929ce6062d9835bd3f881288e6c05d3a8037d632869bf80fadf336c7a46194ce651e88cceb500eddc1ceea523be9cb132b554ce85a4acd0e0cb236c7a46194ce651e88cceb500eddc1ceea523be9cb132b554ce85a4acd0e0cb24f854a2104fd72d6a475b1ac6b8ea603d74d260bae8400f7e23269938f4525edf8603034bbf5c2c6ae8029900238203dd829d8cb0a7cc1c7025bf67269b38241f8603034bbf5c2c6ae8029900238203dd829d8cb0a7cc1c7025bf67269b3824157a9d13a499c47dffd07d8a6c6cb5977cc65983469459ae0799631144bb172269590efb59b4c607e77a1c1c63a1d8f0d907712c7ff92d82fc87e64e901b0174b9533f615befe076d6d0376d3b306cd006092a30ac71373c235fbc6bcd11a1ba9da366a4ceef5f4ce9817c5139512fd496904f974be3fe0f24ae3909dc5b85b6401d3d0a3cb697b32c6265368ab8d19983a0eb0b468ae86945964f388dd8759f201d3d0a3cb697b32c6265368ab8d19983a0eb0b468ae86945964f388dd8759f2eb69276053f6d37389e2acc2d611edb007bfb25c08755ec2e4529e1f41737cb8517b54cba3bd149bf900c176a1598d428336a1e59d19b351949477ae0959d277517b54cba3bd149bf900c176a1598d428336a1e59d19b351949477ae0959d2774589ee6ef97bf6239cdd6d1220b3a1b5f50c7af0c54ea76f3cbd92b4d6e79663843dd953fc021d3fbdff665d2e02ac39afee8cc40949f7dd996c5c07626f06878b2a9aa901a422fc149b5d6620b4857288e8e10488f70d23db6552251cafe874956b5172e9b3aa604214e8e1539f74530b76029c07c0bbcf0666f700561463c1f7d787ee4fa55e546546db73ef03ce9beaabbb37b2792018d6e3c7b8520ada8b20c211e2d408a0cf269ded19d97c592d8499d7e28538967ad3c2c7f7d7af830e15448830d62e59edc049b0734108b28db3ede5b8f9657a1de82eea75e3838e1a2cff1f59546b6144dfc05518d4e03c17b90ef35360d5e0dd19cb6606118b78459d61a11e2a872e55c579fc8c542f0de03352ff30e20a6d368da181f11eeb0f7182fe46dd4274c8f78878cc464a5ae3d0f1f7a7d719c90febd101973ca8c48be20c14b450b10e4cbbbb4c8dc6277cc1f67ce999b8fd9c520c43abec8a4dd7129c0c14b450b10e4cbbbb4c8dc6277cc1f67ce999b8fd9c520c43abec8a4dd7129c1c76ca012ce9a2b2b9151c128d3d2ecc826ece7b5427bf7c0eb38365138dbf42fd6cd4a5f9d0102ca4b755601292875aaa074f1a96fb20b64be7ea8e1e2bc1e1fd6cd4a5f9d0102ca4b755601292875aaa074f1a96fb20b64be7ea8e1e2bc1e1db83858801c5aeee2a0b76c6b0ea6a3eb38d22f308287fdb93cbf0f1498c4d5539ae56a7e05027ba9ef27d2083874219aade0243590cb3365c9acc2e1373661639ae56a7e05027ba9ef27d2083874219aade0243590cb3365c9acc2e13736616c148cc81627106b8060985effa8b727814d169392440fee59f5e4ee0f6a4b575af29a5d65a5c385cf7bd4d657521236581af1683aeb0360567494edf0cb72778af29a5d65a5c385cf7bd4d657521236581af1683aeb0360567494edf0cb72778d68baf40a37fedbd9fae952de0c90305b0b44fca3cb6bb4fa31de5792ccc4c2f3f59faa2a21c5bcf08c2af198721a92e8dc03ed7699292292aacf795191b426f3f59faa2a21c5bcf08c2af198721a92e8dc03ed7699292292aacf795191b426fb34f050d5a123e057b11a3494b433975977262167c43973608ea2fcd8ce90adf3010068f5e3066476b135779e8dc94d4eed9b47c44c28d2544fab78e59ab426a3010068f5e3066476b135779e8dc94d4eed9b47c44c28d2544fab78e59ab426a903e6ef254edba2c28f563c29769bf95489ed17902e3cd1e6f13b2ec075b7c5b293d0d0cf50984918d06244a8fa7f19288c039c00811d16838400aae6616afd2293d0d0cf50984918d06244a8fa7f19288c039c00811d16838400aae6616afd2d1eb91abf747df193b9b89120149c0a9f1dce43bc07b660ba4f287e68e6699a73423390c533d5cd090270e91b9486fc1fd828d4a44bf95119e530c357bfa4b8b3423390c533d5cd090270e91b9486fc1fd828d4a44bf95119e530c357bfa4b8b987954d72270acb506395d540e9de6f044aa903b71bd6a94bcceebe36b6f02f810c6cd1b3385e6745a612c4028163683b7f5e1984c520693a6d518412ec043a02b13fc7ea026edade9e7ca56a5850fbce8953d2571d2c1676bb1af0587687ba9344b2474f2c256216ad563649a17c6a9b11ec239e036fa471940dd0c80baea33f81aa19d37688a86e955e3d464be98ed29b8fa1d22e86601d9126cd33dd2df57f81aa19d37688a86e955e3d464be98ed29b8fa1d22e86601d9126cd33dd2df574590d04bee3fbfcc02899922313615333d4655045b345dee822fb7c1dd083f76c6950acab769dd7006deaf34d26a86c38661e73ff82e31578aaf1eb9257ae39ec1ffd79be6e16c4f95d6354376d53f6b237a6e44bcc5700ad789991d5f115ceb23fb453a3f91117ccfc26d9c83d90398b88942838e74674bfdbbc6c4044b5882e86f29fc998ae23032f1a433f342e9c5dd2f9baf32869a0105ea1cc305868b1fe86f29fc998ae23032f1a433f342e9c5dd2f9baf32869a0105ea1cc305868b1f512cea435d9d5ace892b3c9ac2d4156ca15b590ca221e709806fa98b470560639e20faeee024befd6c23ac970960cbebe7642e4b0fe033000a0297da0c490f0a9e20faeee024befd6c23ac970960cbebe7642e4b0fe033000a0297da0c490f0a691799861b96c765e7e5f5e581773204e7e773eb024a0fda0cb149598eac2b35050147b774c64553d6edf59f81b83c290d38ce7f3938cec89db49ccb96334161050147b774c64553d6edf59f81b83c290d38ce7f3938cec89db49ccb963341617441da993ceb5cc9e9813855b42071025f5fde39f5d37b7b466b9bd85eb06ec21662608a5b25f37b914f6334576ce7c0a7c07f5487002a25db4dd50519d90a471662608a5b25f37b914f6334576ce7c0a7c07f5487002a25db4dd50519d90a4772ac0c3644075c05c676e8e75b62d303f689e0cd48aecb41d71f38a6d9c5b13a49b1b719a242218101097943e54cc599a742598c374b430b790fe3e56c5ae6e549b1b719a242218101097943e54cc599a742598c374b430b790fe3e56c5ae6e50e9a34e3cb861d68c4eb2d1f204ee6eda6956846e5ab0fc737d88a95f0b2f8c429c3e64b288ed8deec9631361c2c1ee091805408e90f30f6f2af0340fedca5a829c3e64b288ed8deec9631361c2c1ee091805408e90f30f6f2af0340fedca5a86a5dff1e03e0cf5ef1500cf5cf3a4b314b9512e98f3bbd9f49697d4cf1159f5f43df36c5958e2f63d9407aa13b79806a5006da33485fe8c11905899694aba6fe43df36c5958e2f63d9407aa13b79806a5006da33485fe8c11905899694aba6fef18acfd00a58e9c6c9bb33c78c99f3365090e7159418a838f2dc75a3f64118616cb307aab554638696bfa05f19a7afd3ca14fadcc31ad9e81fffee214a04965e6cb307aab554638696bfa05f19a7afd3ca14fadcc31ad9e81fffee214a04965e3b4e7618851384ca594fbd19645f903bad824d91c983e634fb1d52cb6c6e83aceda64bf655f9ccb7722f56ced13f6062e954af7779661c13f2881081389b275deda64bf655f9ccb7722f56ced13f6062e954af7779661c13f2881081389b275d3babb5da98b9deefea2905e7053989c877e7f96d55a079de4e5e6a0ee7f80b7f0f2f82ccce894c15ca538249bc4a81d816c90ef897e1f0ac8b881e4c9f25da40da1291844395b39399c194d0b2aa19f5bb329d0a648c7232d81672fcbc01188b6070f91b9bd9c71e360571cf15bb52944a9976b5c88d72b6cf74c9924cfea6a5ea17477a161e49b76340d6e6dbe61b1ea86844e53c63392abe19ac224d286338ea17477a161e49b76340d6e6dbe61b1ea86844e53c63392abe19ac224d286338c3ed3389cc936f1124ea464188f7ccc516918b0c6fc041d853c0ef0d958f4afc8921981cf5dcc145c64c65ed05bfbbd0fffd150b646fc704ea480256c0e9eb258921981cf5dcc145c64c65ed05bfbbd0fffd150b646fc704ea480256c0e9eb258112de0e27b29629dda0336ee497b07df3c8c8b9a57d5a756237e478d64f5e39a2ec8d37576a94ac6256e5c13d0607b0036d2a0325004245f10933e4cc4140c53409e2300cbfeba343663ab0cf90316dcc6af94210bd4211dace4905a30fa093a9ef27ba9d48c27fc90eab86f79621742a54a85d9255d4d3e87951eba9f2c018e4e42cd831ba1af39ff3f446e4c1d141217e66d4666fd63a69b72295d2cb7f92e4e42cd831ba1af39ff3f446e4c1d141217e66d4666fd63a69b72295d2cb7f9272e522dc753316de0aaa447d1160c0cfe698fad75cd47bf1fbe03c81db669fa3598531ae43ebadb727f3dec71fa5bdec14cbe990f1668a5f83d4be74b2a3fb31598531ae43ebadb727f3dec71fa5bdec14cbe990f1668a5f83d4be74b2a3fb313ab78b6f2b9c45d03c356c02254340140a7ed5e2d1bbc5c0ab9d3cda949a7bff415bfffe2bb11015f37dd56b701f5f252d959872e41c80655910aecd9a30a2b6415bfffe2bb11015f37dd56b701f5f252d959872e41c80655910aecd9a30a2b66fbc7bf41b1e14a25b3df33877193555b0a0a70ca70a4b6a9632b12ef130c9f5c7228b1837be87fd69e0f8fb30c576973a896cea2965a787ebb4659c737c549dc7228b1837be87fd69e0f8fb30c576973a896cea2965a787ebb4659c737c549d2c2a04cc7e0673d46ac01b6492949b962f746fdfc51a4248a4a4be689b6888294342581c292497f97dbddc68159759881f7448efe57659cd7ee3aa618aff5b904342581c292497f97dbddc68159759881f7448efe57659cd7ee3aa618aff5b902f53d1512bf1c2de5454dd7a56b933eacbe8394de626b335869fcc243188bdceb82a22f7a75244125a616b9dcceccca0ef431cd1301e44e806ca75b68c699584b82a22f7a75244125a616b9dcceccca0ef431cd1301e44e806ca75b68c6995842656b171f59a625a381560ba8718aa14caa2386a968d156c0645a876738c467287d5089213e2a1426690d38ed20036e07dca83c38d11010a10df70b842ae7cf387d5089213e2a1426690d38ed20036e07dca83c38d11010a10df70b842ae7cf38b0465d29d530670ede16d72b1f7a9e32b12f9ed804fed8395d0e172394fca1dd81ec67365b2fa5e470a40884cf66cf28ec304952bb44950f59bfd179e8073b8d81ec67365b2fa5e470a40884cf66cf28ec304952bb44950f59bfd179e8073b81d8a2b6f33539126d7e133323eb3d970f5fe77d2ed62c34e63e4113dd7de84bfd80f6d997dd18eb8d57f781065f8ae7a402ca4341c68f974200084b67f29adf4d80f6d997dd18eb8d57f781065f8ae7a402ca4341c68f974200084b67f29adf43799c399122574caeb34634035501e9dddf8bd0980d849f911c6c33971dc7f5a9118e3174ca98e537c747e12f2af0bd2a7052b281e6a7efe63c350879816e1fd86f12e7c5f1491fa6c816654cfdf46c1de3706f4ec88d85b4ffa801149805c3ef3d65566d9fa330b808db45f8323f13f626c492b9c939147cd68b4c274e26151431dc912a35820c8f42d8e19f1939f9fc17a335c5af6e55171e26dfc8dae56a5431dc912a35820c8f42d8e19f1939f9fc17a335c5af6e55171e26dfc8dae56a5bb2ddd0169e0fbb52e924b00811bededaac35c95b77f4b08563d91f5190b730543beed80e3876e4f0e4d7941363477eb176b1ffa9b968f5abc3bb993e06e32bf43beed80e3876e4f0e4d7941363477eb176b1ffa9b968f5abc3bb993e06e32bfcba0ab8d0867c5c14d7abb6e17fe366d112d23cabf3d32cb0b4af09037e495a60cb7678216d71c4d709c04dde9f7eac1cd70b8f44d64f5fd0d6b5169250113810cb7678216d71c4d709c04dde9f7eac1cd70b8f44d64f5fd0d6b516925011381f2618de8bd9ed4b722bb501aaa738fe87242944ac04efa7e74a23d05343dd8c578212532bac51a8c8309d1436421ea2af0efd35a0053413744d492a9f312de157592e8a556fda4c7f984e2b654338c591fdff547a1babe3577f36c1d1e15c327f142b99b8ebcccdebaa589f1d88447ebf487f626bd1d853e8faa0d0e36a6e5d76f8b30e58192aa417678628fbb40a9d82b4239e75cab8d487c91d8da007816956f8b30e58192aa417678628fbb40a9d82b4239e75cab8d487c91d8da00781695aafb8e2315d625467c616af1ad3da3b0a635e788bc1d9728b0c3d4e9ea30fa4ef1098703c7f21db8e203567e18cb5990f0a0306c430681825da5ba936c50461af1098703c7f21db8e203567e18cb5990f0a0306c430681825da5ba936c50461a61a13b9f59ab76d6566e680b70b4333ff354bcf73127a2720bf03e6bdc9dd0fac5289cb823185226f2c2b5feb604ca9bd5bac2cc5daaf540284be8ced80fc567c5289cb823185226f2c2b5feb604ca9bd5bac2cc5daaf540284be8ced80fc56777231ee12e324157fe3ae2ec9d36904cc5e00ef3dd280c26184b499d573f2a9a45a674d3d6d1c401c0c4361905ce3a91d206104d8628e8105814345b6baebcda45a674d3d6d1c401c0c4361905ce3a91d206104d8628e8105814345b6baebcda6d85a1419a85497bf4c6b931b638fb8bade628b8af05d27670f829cd53bdce810afed84afe39f62ad72b4bd9ab700958824fa72f1e7e84ff72c48ee293e374f20afed84afe39f62ad72b4bd9ab700958824fa72f1e7e84ff72c48ee293e374f2379ed1f22eadd5c681d0edd0d45a4619d4ee334da57d4573257f0738507866030343b6609454f87c9c10bdb64550d162340dea76468262da5ecdcab68717b16d0343b6609454f87c9c10bdb64550d162340dea76468262da5ecdcab68717b16d4d05f78a395092ed1f0e27e52e2ad0328f91682c91efbcdf61e9857fe5defa0186864a4eb51359edaaf605c740c0b7bfc4106e3c6dd852a374a4d07accd88cb986864a4eb51359edaaf605c740c0b7bfc4106e3c6dd852a374a4d07accd88cb9bf7814ec091dc8d1c531ff5b46a7d3bc5758efdc44e398a14745e238469846c19af7c46739dee03bcdf3996388f1e1257d21631a277153b7cd92c27b7618943d9af7c46739dee03bcdf3996388f1e1257d21631a277153b7cd92c27b7618943dd938709ef68727ab3758932b102f5ac1ac76f59207a60936bfd5e885c94f6f896a6959baf7b77e43cc3a2205fbae8779bb2b082a7bc77212aad9e6915ee208396a6959baf7b77e43cc3a2205fbae8779bb2b082a7bc77212aad9e6915ee208396f3510fdb43cd572e2095b28457b791fc964d6abf1f8dec1fccf9bbcfd760b65f24b534193a22114027cd15b4a2e1ed3191d96a1eff59efc275aa5804715c66af24b534193a22114027cd15b4a2e1ed3191d96a1eff59efc275aa5804715c66a9620e08d69055a99a9bf592113ed0fe3558946be5218379e9e5d3392ee3d1da4f0841f395f1a68dfe236b9bcd40152541c3c931ea953ea1bfffa5262a179adb4f0841f395f1a68dfe236b9bcd40152541c3c931ea953ea1bfffa5262a179adb40c187c556c5c8d3f7291a5222c04cea3491fc19a05e507b9f62f99dc2c9b6ece0ef44a149dfb2de3b9d8b6a3138b776992f943d42053e5438f595d1628dc4c720ef44a149dfb2de3b9d8b6a3138b776992f943d42053e5438f595d1628dc4c72207bb73042211b479b1897a599460b022dcb6b47ea68c997dbeb69863aa041765a1ef4b7bc0c010e95392f455b62e74d313a50dfadddea8926f49c6553a5e9cf5a1ef4b7bc0c010e95392f455b62e74d313a50dfadddea8926f49c6553a5e9cf6f3d6161a1fe6934eb5b0667079b608cc5c11e772e2977a16e52f33d6519c9eb5c3b19ca2a5c2eef8edcedbbb673384727e819c5919546f9a89f9a04ec2d8c6ec61a73a890c06f9507dcca1084e689f7f2ee7607ee0b85ba19cfe749b6876d3a5c328ebf1c04b29359f084e98a3e5c99e7d4938c680243c9fac58d74c3180d3c1ed9044321b0faa7a73462d8c65e1fc18024f5760930d024acb3c42cce6a0cf51ed9044321b0faa7a73462d8c65e1fc18024f5760930d024acb3c42cce6a0cf59b632738f8ffc536272d08149bf2b33b63cc55dd1652bf75e2a9b05d02b6ac5672b41a7ea006fd27c581c7b10d07814f85320458389a92564b04e96bce42934c72b41a7ea006fd27c581c7b10d07814f85320458389a92564b04e96bce42934c801ece6468756f8ab62451cf1fabe60df37d9b29fc14201b683f2d33cd0ddd70ee9e0e73bf3b52cb8100b6af8e33ff289d7b9afd4f45a09a2fce929108b967deee9e0e73bf3b52cb8100b6af8e33ff289d7b9afd4f45a09a2fce929108b967de262fb6b09f6ba0d1fe9d13e5e8b832e27a4671406f6543b8ab8e6790eb6c18e793acd45730484b83c8f53f74bf4681dc1da515d299224e6c0c8c2cbce419739d93acd45730484b83c8f53f74bf4681dc1da515d299224e6c0c8c2cbce419739db4817dcdc68131f537cd836f01d55fb88f5ddd8b8be8658261031381dea81907d9ca673036d302663f0085e7d9a4b6c361e69e410794ad53a0645825cba5ed2b84cca3b1f16e32c1cbbbfb431cf5046210c86eae6f19802d1838f76ff6f36703f21cb7e5e29b5309fc0a232230d972c4c71a2b46c4e00a606d79cca47f30c737ad0febd5b5ca7fbc98cfb6be33a685da9caa3ec9b3911b01beea2b2f3288780ead0febd5b5ca7fbc98cfb6be33a685da9caa3ec9b3911b01beea2b2f3288780ed46891c0694b3c97c599d3727cd9957f13e29362d372e95c1e4aa5e283365276a3a61d80ad554ec0469993716f5bd900ea5407ff9a5c49681e9727872451072fa3a61d80ad554ec0469993716f5bd900ea5407ff9a5c49681e9727872451072f215eea7c5ffdec783d8cd83a50b92d24bd0fa3367c2f8c658ec64e401fb2ff27c38ec7f3bbc69f818fe357bdff62f8e7bf5a3f67fc28f11faf91c8bc91fc4af8dd9eea7f64dda7044f775ba04e55ea3ded75a75133dfc9e2558b1df598e985e40347c9b9c3bc9db8c250c122a92138b942a3dc46ca35f43491d4222a84d97522522fc4bc4a475cb55578ee9e22d2559e9c4fa6057ee61d4c42e975632b91785b522fc4bc4a475cb55578ee9e22d2559e9c4fa6057ee61d4c42e975632b91785b1061102555162af5846784d2e998acbef0699b80d003f3ba71bec2d881361b3f6dcab16d9cdbac0217dca006b410adab02eeca1777d818e54c8116954679134a6dcab16d9cdbac0217dca006b410adab02eeca1777d818e54c8116954679134aa6da408e6d4806c6979439a547cb44928ad0d7e064aacb2e819ecf7a9021e3f4e8df1f295358dd1b0a5b9ccf70fb65648c090c95da850e2f24bcdc5d09dc9611e8df1f295358dd1b0a5b9ccf70fb65648c090c95da850e2f24bcdc5d09dc96117c6003770937ffe433470c600c41568fcc898d7fb31bc47d9122dd92ae58eebb17696c0a5da1175293ac89e30ba819b216c5216d415e937c8300079be9c4d3a09b776d886134d11c900c8981cfe506aaa4aa37fde7a4babfae6d731ebdafe3fab78e13723970a47880a572b5990908efe9ba208842f76145989d43a7d811501061f1623b734e94c89e624de1a57c89943c9d0da296bf846a9fb71f848627c50661f1623b734e94c89e624de1a57c89943c9d0da296bf846a9fb71f848627c506c00fe049bfa01c85fe53cfb726256c0f811f5fcb419c65a9a9a7e405946b997d8135bf891338f01f61db05fd63edec153dedd1b6b80384ba5b4a241e8a6870ff8135bf891338f01f61db05fd63edec153dedd1b6b80384ba5b4a241e8a6870ffc1fb62f7fdfc2b1a7b3883d771bb938a405ba7ae7326a19ec0930e44a2453e65253b151ace81722f6a6e19b981e1075910f0a3765c5f76c97ae1211667921b8e253b151ace81722f6a6e19b981e1075910f0a3765c5f76c97ae1211667921b8e3a9f40f0de3f8cf383067d60b81ef9f089822b8e7b53b579b6bb14fe444acc89d790e6f575670d2630038b05ec9da9634e7fb42a644d7b93f1189236fde47429d790e6f575670d2630038b05ec9da9634e7fb42a644d7b93f1189236fde47429fcd250498fcd5fba8b4c0c291ede8a038e63626578b5c51f3e47fa5751939bfa0b4b4ff7a945717f6477f097d89e958c3082f272f55f8c9c0ec93a0a59d5db8b0b4b4ff7a945717f6477f097d89e958c3082f272f55f8c9c0ec93a0a59d5db8bca15c296f5c4147946598f0358cb6a3dad14febecbc20a89ecbbcd20987941ac67b3b16350b0500e2629b878daba669352e73dd113a9c85368f6fb994a8f73e167b3b16350b0500e2629b878daba669352e73dd113a9c85368f6fb994a8f73e13c645ad68a5cc72ea722778376466388b5e1ca9efb83ce00f6dce2bd0eaecb6565dc919c0fbe80b670710e556aa572b3ba85ab3b0abf8bcf67de241a2e0071a565dc919c0fbe80b670710e556aa572b3ba85ab3b0abf8bcf67de241a2e0071a57db4eb01ce36c6fee3cdab5c35ed85e52b8835f7e07fe4dfeacb14f4b5c5525fddc341c5224de7c2de3b66571a5f7a2561cbb109e1ebb27cb83353260e00d92bddc341c5224de7c2de3b66571a5f7a2561cbb109e1ebb27cb83353260e00d92b9f223de6983fea713cd3e9c851d38736e3ae0ca3aebcabc328456b90f7b9bdf36fda68c5a5ba6e1051a00507ae5f3b08046c5856d712a0a8676ecb7f5383838d6fda68c5a5ba6e1051a00507ae5f3b08046c5856d712a0a8676ecb7f5383838d7b7e102e734f322de3c7eec6513b3c2d2d2663dce9845c2470768718eaba63a0955910453199fe1090a2ed402a7c8c66385e2058633afef08c918ddae5849eb5955910453199fe1090a2ed402a7c8c66385e2058633afef08c918ddae5849eb585d23bf7b337d0dd6903e36b791f165c42fe3451107ea3f0a1ae1eb09aff1a72dfac4fdd74a77af9253c5ff618de5685182953cd27d50cf27d620e3529a3216adfac4fdd74a77af9253c5ff618de5685182953cd27d50cf27d620e3529a3216ae74979808bdf00aed7c12fae8c878f49bc2735ca28b4a805b85a38e002b5453ea3d5ca4e3f000235a00fbaf11f58dbdda00b2a1d2f849835e040fb03664c89a4fb7713fd9811ee56749f00a61a7c0348b9fee4b102fffdc7e24dc22d28cdea7ad640ba6c0109872688695a1c55194abf31f23096154e0dcf45b9578fc937a403faa8c7e8c5bb0231b09a158f0a99d66a99c0384c6b68b48a4b0f95414d07effafaa8c7e8c5bb0231b09a158f0a99d66a99c0384c6b68b48a4b0f95414d07effadef4788a8dde5bb7b2ee241341c7d5b49bec0d43c136aff945e46dcf12f103d0932cf244de1cc27ebde3ea77d19f03d056e41794bfa35cd7f7b25103f1893c36932cf244de1cc27ebde3ea77d19f03d056e41794bfa35cd7f7b25103f1893c3626224a3742d7e3a18ea97317a796127642224060beee001d361ad22eb7ca4a1fb999818248f6dd45c29f755f0ad5916c90b4ac799af733dc8fe9dbb1c2017abbb999818248f6dd45c29f755f0ad5916c90b4ac799af733dc8fe9dbb1c2017abbfe8ef8801879ce0732586faa4f92e0cad6e74e5a01e5d3442f77e7713b98073123a4d534ae7fc8d655941d2f4debbe4e0c54c51171266115855810ef84e6f0c523a4d534ae7fc8d655941d2f4debbe4e0c54c51171266115855810ef84e6f0c5943070a8f245ca909f8128d94aff82559b5f9c10ca399eb774aa51b1a5dfb7ae0b6fdf8742a609f1c0076f5e4fe079084df1f898ff908d3c6d31ce0400ef49610b6fdf8742a609f1c0076f5e4fe079084df1f898ff908d3c6d31ce0400ef49615305a94e43fdd664d4b010a49ef6725b0f9e501c60824f976ce487685f007a1ce5871d51b9cf1abe405e5430120fb493e8d0ea4fa7ad21d6033709b4aaec640ee5871d51b9cf1abe405e5430120fb493e8d0ea4fa7ad21d6033709b4aaec640e6c792e1d760c882abce1d588fd041d52050083122a3ee42a13f819f817f4345325a6e204d814a9d8bcddaff532377873b6f9e73f9821f9baac79a4ee9042b3f125a6e204d814a9d8bcddaff532377873b6f9e73f9821f9baac79a4ee9042b3f14ca0f60c7f815f523b7974f613641a569f5a5cde0ddb6c8dc48338eead29dc496a4658206ea3d3ae894331545376bbe0ffbeabcbe8c4077a1b1a5bc8dfd5d96f6a4658206ea3d3ae894331545376bbe0ffbeabcbe8c4077a1b1a5bc8dfd5d96f393a675aa5679bd726afd6f37dff1d57060653117d2c919aca8f5f2e424359e456e4ac4d088edb2e607bc306586807389df44c6f0875fa5d7451ff7f56d1c4e556e4ac4d088edb2e607bc306586807389df44c6f0875fa5d7451ff7f56d1c4e5a079304cfb4eb97990a912907cd12a26f14417ff5d39cb0e9b08e6fdec6a8f91ac91f3e9ec794ba6226dbc3a9467ead6660ae99189ac8edb308f3a5f3fa5f013ac91f3e9ec794ba6226dbc3a9467ead6660ae99189ac8edb308f3a5f3fa5f013e2a8477a7f49da9a81d40d93b6df5ae736452a32d5d8283e6baa7e8a2d416fc9474c872ff66e2ee75cf69a39a9a2b639ee928e990b52362e9847de634dbd51e7474c872ff66e2ee75cf69a39a9a2b639ee928e990b52362e9847de634dbd51e700db7970659a080505d9cf9814b13a25e77700826fe7cacae0391a826c2f3318753fd9aa6b8ce46d8367d8b310bc7dc45bc5740b239fdad911e155e13d9a3c11753fd9aa6b8ce46d8367d8b310bc7dc45bc5740b239fdad911e155e13d9a3c11be8bc190d4ba569dad81867df3bec72691bbfd0b8d196d1eae5a9343f0a743373e99156849358c6e986e4b535146a7d4ea548a026d12988e5ad4d81af26ecc3a3e99156849358c6e986e4b535146a7d4ea548a026d12988e5ad4d81af26ecc3a1ee1bcffb899a41b68f0289c5d86fb9187e05d878ad48591f64da40c092ad6cf5466d70ac45f895022398ad525ddbad0093b45f0d8dcae06567d5b2a2b7d0f0d5466d70ac45f895022398ad525ddbad0093b45f0d8dcae06567d5b2a2b7d0f0de9e9ce0be1f1d59bf210e15d0fdd606a5c746d35208226d6c3ab0e53684154d6e800840fff1c336b70092e80f365ce062ff2bdd2ba623b4b19e837cc7dd0944ce800840fff1c336b70092e80f365ce062ff2bdd2ba623b4b19e837cc7dd0944c4c2ee149341401b36fd45a0856795feff3e1c318d748271dd8ed1684672d0e374e21ac53d062cbde004dc0958f70a050a1ce77817b163f34ff47990269f9a2cd4e21ac53d062cbde004dc0958f70a050a1ce77817b163f34ff47990269f9a2cdd60e78acfcf1b699dd4621f7fe6801bee14d0647d1bd015e4e23286d0a05b3d3834b43b016dbe3cf88197fb47aa51aaeb9a6796d315339c7e28649cdb070fe670dbe1ebdbe74221db40cd966d80b08c82cfbbd211ce3aad4a2699e22c88473e1c471f62f6d7cd18a7ece19e9bfcdecb7e189e2b96c3f7ac5a27a83c66b7ca6ef5f603d488ad03d374e974605d6b2a49318df335c89e1cde53e3a7eb467b03abe5f603d488ad03d374e974605d6b2a49318df335c89e1cde53e3a7eb467b03abecfe1f0fbade23f2f34199fde78a47b87bc086d2242d8fa73ade3062256931efca027b9f68c8020c3a9af82d912736f9d5d9ba5ce1c06520de92ea42855f0f754a027b9f68c8020c3a9af82d912736f9d5d9ba5ce1c06520de92ea42855f0f754506df1a2e4e7afc1412e071ad21bd6299157e35c9b14d17e44c53e3b963afe2aa5fcae0180d23f6e79b88ef3fe97337dd31bffce97e9750813cd77670b09d72da5fcae0180d23f6e79b88ef3fe97337dd31bffce97e9750813cd77670b09d72ddb7406b4bcb8d3e64594d2c770ebad117adb1122324805130055847b10bc752ea507909294ee25e0bf1ad963d643757051fa41626c9d3a242b4ed15d9894f1c0a507909294ee25e0bf1ad963d643757051fa41626c9d3a242b4ed15d9894f1c078d100e196977a9d966a1527894e2d688cc49aff88fae4d025d1d882094eca8f3d4a8f37143d1f19d1d10109c419b830d002ddd15548cfe8784881cdb6b0783b2a487f29c4f63215580fb991742453b861226f0f283bf87d14f97934abac5ea613f9a6b96f172cbc234cf2a16d5792f829a2642c6c546bcdbeaac6e0e9c4c274151073d1b2067020b36572ece024e8193b4534e20e80e55c4c9013b49af97f208a8a30e400c72f9ed36742c212e231d39e49833aa1f01a2e64d3e3527825ee0fd2b7e355c3ee9d26b8bd7533475144f6427afe61477658d8c7be342266f963f3c21067d697729a0b8d83db6a94c10843783472c8be4d853247e26e7ca935b55bc21067d697729a0b8d83db6a94c10843783472c8be4d853247e26e7ca935b55b596c7714d5b08bb2a0274afd37ce7b4c369f608fed10d19dde2460210b582b73cc8270b76fc03f081256cf1cd44e6131e18dda4dfb24212a1a92d055b08ba7cccc8270b76fc03f081256cf1cd44e6131e18dda4dfb24212a1a92d055b08ba7cc60cc12ddecb7ae7b40ec8f491171ea3cdecdc1f1ece0121db2841f4c3c0fe7b1d546e0ad3893340b2ba307d47c977f830e619073ad3cc2697b43320be2ead79ad546e0ad3893340b2ba307d47c977f830e619073ad3cc2697b43320be2ead79a1e5d55ece402895534f80b2aafeb3b17755d3033c9fb70c40fb0cce6eeabe9d0d3707d34853cadff41a996c87187882717656fefcdc548143d612a066fa0e840d3707d34853cadff41a996c87187882717656fefcdc548143d612a066fa0e84020ef43ce97aa940a4c26d2e8b9c28fcdb67460f5c5be89d4b19994242541b42e39cbe6b3be1312a4920d2d09005c117fe9ef14be59cc5d772fd076a48bd4351939cbe6b3be1312a4920d2d09005c117fe9ef14be59cc5d772fd076a48bd43519d189facb11f8a0cbda120cdba62328da589e6e4385e52f9b4032fa262446bba8c3c4842d0e0224c2a3187bc48a6e10583c3647e9cd887f633b47cea084800623c3c4842d0e0224c2a3187bc48a6e10583c3647e9cd887f633b47cea08480062312b936259f098f2675b1a2a757f5e97597669bfd3aec7d70905e3414564294e948aeaa9a6be2e9c7365410576f9345d82e08f0e499c8ce3224447bc21c7acbb748aeaa9a6be2e9c7365410576f9345d82e08f0e499c8ce3224447bc21c7acbb70522af4a91288e965709038970cb141468d70aaec25e2a1b6b59f7b25212d5282fb33caa94a99749316db5518a236169e486f1b6ae3d9b4449050715a9168d7f2fb33caa94a99749316db5518a236169e486f1b6ae3d9b4449050715a9168d7fa37825ca347d0eb62fcfda8582992cf3a5acc314b816400882a545db172c85a524186a9ad5ee49ff105aa486548409bf5a45b33058912091faaa993aa6fb5c0424186a9ad5ee49ff105aa486548409bf5a45b33058912091faaa993aa6fb5c04fcec1c983d31e831efaf7e6ed4209a0e21f1a6a5a1145229ac2251d1d7e086efe569bd4c8b46c782aa7cbc356c00c4f278f051f20ae17088ce846fa310dc4d77e569bd4c8b46c782aa7cbc356c00c4f278f051f20ae17088ce846fa310dc4d77f568c6ae1fcbf97f7437cb48ed3cd5ed4182eb5e6c485d3f965293e1258f9c5dfc768fde1aed9a6c0883ea77123d287528f7c26b78540aaa02c9083d067a3546fc768fde1aed9a6c0883ea77123d287528f7c26b78540aaa02c9083d067a35460d9dd767d4e6b78d6cc97cc9e82e4f7a34146ee2511ae1bcd006a4928568b16eee520dcd83b931f9629a992e361f40de170f64ef9aff191b3f6b166df001a3a2ee520dcd83b931f9629a992e361f40de170f64ef9aff191b3f6b166df001a3a2acc274cc10bdc8fdc0ec7a132dd5ebe27fb4c6b5c9b0a258f2172914b152a44cc9c4b65a3edf2ff1901447918da9a2458c4af8ec68f65ed1e22adc1ea1589996c9c4b65a3edf2ff1901447918da9a2458c4af8ec68f65ed1e22adc1ea1589996993c019f188e2ab6336a0c4ae078f78a2a7522b1cba4d1b36bc8b88194140b964cdcdba4cb447dc4ef90482b36bd908e34008e5d0ca97641c9d6f3649e6b7dbd4cdcdba4cb447dc4ef90482b36bd908e34008e5d0ca97641c9d6f3649e6b7dbd143288bbe6bb35d70f47a5f8e7edfd993c2e5b90274ec033c4c75f9b3bc78e32bf9d16273e697a86593e2a880eac500644e66922ef716d21c62dc90dd4d50da0bf9d16273e697a86593e2a880eac500644e66922ef716d21c62dc90dd4d50da0c4d7c203668581f511f04514711a1c620e2f6bfaadb706f66125ecb99b724d6cb7bbe4d6f79dc9c9cacc7207dfa9b59f3616bb6829bf4895a8f2258d956e00f2b7bbe4d6f79dc9c9cacc7207dfa9b59f3616bb6829bf4895a8f2258d956e00f2f4e794184f8a11842f410cabd14b364899c0765efb7c6bfe1f620c4bfd24e7ce545b8f9adb982769e48b603e70103712341c8f667b4c2a1a7c6a0579a09f1223545b8f9adb982769e48b603e70103712341c8f667b4c2a1a7c6a0579a09f1223daa455d5fb3a96602f0904568d5f942b397464f2d7aeca8b3cd0b1c5a8f98d0450f5feb63af99488466970b7f8cb979d9db12bd9af91ee120b7746712e13565a50f5feb63af99488466970b7f8cb979d9db12bd9af91ee120b7746712e13565a99f7e0363242c2656b3f19c2be8bfbbeb705ce9d8c75b453fb4d3d7305cf60046a7e661e96ee81e5c05d49561b5168084d98cfc5e7e6b7e7ecd22e92600a71526a7e661e96ee81e5c05d49561b5168084d98cfc5e7e6b7e7ecd22e92600a71521a29508426812937d26ce8efd4e6a2c57b616098f9966a27f9af6af4d11d20a7e2f0ae10f649724c9208dfc5bbd63e35372ce232fdd1c4390f0a1a242d18af08e2f0ae10f649724c9208dfc5bbd63e35372ce232fdd1c4390f0a1a242d18af08982c9c44f4bf0ef94c81f2b53315af7ce0993d3bb50e9bb3fe711e0f26a3900fbc2c8860ae6f61d653b3c038f04bca9d8dc436d0d544f1d0e58d6c96fe0a4855bc2c8860ae6f61d653b3c038f04bca9d8dc436d0d544f1d0e58d6c96fe0a4855a9f40d04e475bb452d445f5634523f8aabd91573718ae8187b056472063be35706bc5bfca67094db21afa41c6b5106f1e46c7509aa971c24504c877816989b4706bc5bfca67094db21afa41c6b5106f1e46c7509aa971c24504c877816989b47804f3a031c1783679719935cbfd9063f9a0393847055b8aeee2337378fb798358cccd97be49e20fc89ade9bd84885592bb9c0b6b258565eb13141babcfe3f8748cccd97be49e20fc89ade9bd84885592bb9c0b6b258565eb13141babcfe3f874aecf6ce0c0366f7306a94544f12d1759a84c208ff103406b9e82ce277ebf683f5a61301b4942ead44f90d227d84a7d9826b331bb6d0d24f69548bd7731b84b015a61301b4942ead44f90d227d84a7d9826b331bb6d0d24f69548bd7731b84b013fdc856cdd6883429f2f25d0d0c276b334154b4f855ddba3c1b9a51868e158c18e2e92db97ab044a9a83036613d78927d4d7f78befec8623e9e9795dc4a8bc048e2e92db97ab044a9a83036613d78927d4d7f78befec8623e9e9795dc4a8bc04d0629f8ffbc7b16c150de28a2ef9f57e3def51ee642844b24826340c21936de127d60029c9fe9549164dba66ad882041b870a6fbc10cdb4fbf09277a8ee1c72127d60029c9fe9549164dba66ad882041b870a6fbc10cdb4fbf09277a8ee1c7218af7391305a2da76fba388cd3145ea1b3cf1d01ced3835743e07abaf9c789bfc5559f55a074011f6851d347e93be412e030a3388a11ae2b7f942c1514fd62d1f5559f55a074011f6851d347e93be412e030a3388a11ae2b7f942c1514fd62d1f701248590b0ef2151702cc926a5643b3e360c2ac9323aabdf3e81556d62df14fc4e1d41a42516c829723ca274d5297c66fbc092191df2463f86f1c7dca3cefadc4e1d41a42516c829723ca274d5297c66fbc092191df2463f86f1c7dca3cefad36544ab337df310ff8cead337a002a8331500bbc3901f2b007561de5cc9a273e57caba15171b137851915b25c77ec279d3427a575554a90a208f16cb6b71e24f57caba15171b137851915b25c77ec279d3427a575554a90a208f16cb6b71e24fc5a63d447f21c833ae0da70f8f719a3c3a1b3abdf2428bd8083e24271ae2ff6caef05d53cfb6609e00b4a3de959aeba4c4d94924ea35a02f0a3f14eee60dd9cfaef05d53cfb6609e00b4a3de959aeba4c4d94924ea35a02f0a3f14eee60dd9cfdd3943eb360ed222fb8f7bdef31bc033e0cd79a3d927084eef9c697c9ae23c6daae27a117f2e284acdc026be7ac39e9d1af590f2cc398904a02b21f6eb16c540aae27a117f2e284acdc026be7ac39e9d1af590f2cc398904a02b21f6eb16c540b2825ea72f2a03499b073412114d8b13331548b52cd50c51c470a2c49a75f9db0c562c7376acfb24c3d85acf2a07fda20840ff70a78b44fd59e49a887edc80df0c562c7376acfb24c3d85acf2a07fda20840ff70a78b44fd59e49a887edc80df15326d40cb8b596266c1844b34d4e38dbd745d6ef5b13eafd998712b82f2c61c64c1e69191678b8faca06df0ea198dd9b24466b5ccc13d3e8082da2c94caed3764c1e69191678b8faca06df0ea198dd9b24466b5ccc13d3e8082da2c94caed377cc2e93b366471849049be8efbb48f3ded3449554b7d47ae317bca8f9469e6ec14751a3f9bc5e6abe2d3675a5c1b438348b0711c0a2ede8b75ee987fba3e7f8bd496a4eef08df54626c870651ad32f948033dacbf74423b32ac112413ad77eb1e4adadedc4e88d8d267d3925521ee3c198f62a3e3045e4ed623e5c87da36b31eba6da9c34b2619d0aa6b88e0d4b6263b64a5fed9a231d8d7535a3af75c26535aba6da9c34b2619d0aa6b88e0d4b6263b64a5fed9a231d8d7535a3af75c26535a5a353b7d19ae329dc39d3da6bb069a1da1a8308046e427bd7a549bc5b76219ea6de18521a9ee61353136f46e24f5bbe5406ee0d36c95ebbe52f9dd763c5c81b46de18521a9ee61353136f46e24f5bbe5406ee0d36c95ebbe52f9dd763c5c81b4dd80e87c9efe674fcfaffb1b618df39c65203eb9c797be197836004273fa45559ff4ae5645cb666c3c195bf1688ca3a013a44671c8534c929943cf9e3725a3319ff4ae5645cb666c3c195bf1688ca3a013a44671c8534c929943cf9e3725a33165e49d441ddfbe86d1fff3b1a282922f4e07f5e6b2a1b7de267f569918760867dc790abd6b0a883a0b1a0e022715bca52700409c70af9698d457ad4a7ee3d583dc790abd6b0a883a0b1a0e022715bca52700409c70af9698d457ad4a7ee3d583180150ab3978a5bbcbf2865ad89a0c1321311476265639e80cddf62869c4b8d8ac3c31abf42869105c72ab09ce11c25064b8df0ec7bb8ae8da7f16851dc584a8ac3c31abf42869105c72ab09ce11c25064b8df0ec7bb8ae8da7f16851dc584a8b973042479c329c201cc87836a24e5568ee1dcbe741d6b45ada1cd11aec8aaf37b51c76748eb58126eecd2c6856828b8f4799c79fcf1f263defb8c19e466cf747b51c76748eb58126eecd2c6856828b8f4799c79fcf1f263defb8c19e466cf74a4c758b519ca93c0fb91d9a1814f840a23dd4e5e627c1c2e30ad982293a4d8fc61a7a8b8c3889537ef443852659bd149aca889ef512f5ec89c65dc4a4493265461a7a8b8c3889537ef443852659bd149aca889ef512f5ec89c65dc4a44932654e4006446a570f3f42ab816522bc72669f84c95d61fbdffa1317b53678e1ccf22c2ad66a3c706342fe6d262e2de28f86bab6c2ed81213e1351a81f467b02ea4c3c2ad66a3c706342fe6d262e2de28f86bab6c2ed81213e1351a81f467b02ea4c39072ee06661189504acb6bf295480177c1dd1a7d44ff20cb713629988a4295f74911b6cff3149fb1a9f92294057a941c931c292a7bb8ea805abc464d83a431084911b6cff3149fb1a9f92294057a941c931c292a7bb8ea805abc464d83a4310866c84926284d2d1f4f37a8bb3b43a66b8b6009d36980e8b6f8f2d652d40a4cca3613cea48f515c2cfc75c972b213ab1b705dfea1950745efa41039e1ec3cdac43613cea48f515c2cfc75c972b213ab1b705dfea1950745efa41039e1ec3cdac46560e341ed77f740579a35f80bcf2bbdc511faa59a8bfec235821d05b815531f6bcc63c440e5500f4d022f376cb80521ecdb396837e21b49b008e8690e1782c56bcc63c440e5500f4d022f376cb80521ecdb396837e21b49b008e8690e1782c515c398426ddb0c2d85b234b24a588f9e96fd9f1ea4c139e4bfdb66ea852b618203c0dfd05c01de08fa3d1d01a35a30cca2257218ed2fd226d111e8b4a7783fa703c0dfd05c01de08fa3d1d01a35a30cca2257218ed2fd226d111e8b4a7783fa7a85cd43e69df6735f7fd9634939de891b9c87fead51730bb413ef97b9c9c952e3484af1a04d23016416c9f69314fe84a013052531ed2038222d92a4cdf6eda9a3484af1a04d23016416c9f69314fe84a013052531ed2038222d92a4cdf6eda9af5ab2d240273ec7018f29b76744f53f1a4a5705d30202a9039c8646629680aeec1a0a6a56251cddfe8f133b0a99231bb57b6e101e7f82166edee13fbb4fd2b79c1a0a6a56251cddfe8f133b0a99231bb57b6e101e7f82166edee13fbb4fd2b79ef7c9321f199320e086079c9f764a65c7190ebd0597fc3b36a2fad682046d4760ae6a33061b207f8c2ab6dd71fffba07db229176c18d16a12765f5e0ea8c5a5b0ae6a33061b207f8c2ab6dd71fffba07db229176c18d16a12765f5e0ea8c5a5b10650bc71415cc963528505a4eff2c98095aa8c57ed661a0bee1bdb7a01b140239c6b38b7f2dc021ed7983aa0d20d6cfb21a9c351f28cb59cf96bfc2363ae14939c6b38b7f2dc021ed7983aa0d20d6cfb21a9c351f28cb59cf96bfc2363ae1494513bd466e148b8a133e28cf5074d557f9840fcf475108d710d58bc3eb9e4c500357a5189e6755afb1899452fc07fb3386f85f6dab10393b4f2fb8281ddf18b00357a5189e6755afb1899452fc07fb3386f85f6dab10393b4f2fb8281ddf18b09dd6a1cdba476f92309e836b0ec4f375bdbed4fddf67e6f4c0ebc7e0a87abb5dca6ee33846a2f91c7599603e2999ed7ffd517d1b4cfaea9687bcbf00081c54e7ca6ee33846a2f91c7599603e2999ed7ffd517d1b4cfaea9687bcbf00081c54e7a0e172458723d3ef67433a86a336dd34555f0c0460525dfcec90427ddfd08e1947b4b89146a7ec98488e8a4d0d3dbe0094dd321087f722b21ffd2ade8196303d117cb386593a2e2902ca9a37a5a25c6515c9e1e316ffbaf15af2432fb07061b50cac790cac0fe262c36d94be3a10946384576f5ab534b135f0a3084e5f3e662c60bf37406dbace32b40ce0d63a32f5ff4bf2b8e6f7a121f9fb7c6f5244b8800c60bf37406dbace32b40ce0d63a32f5ff4bf2b8e6f7a121f9fb7c6f5244b8800c48c96b9ee40f1479a028ed9670b66bc3cfa7ffc10f0bc348bb964975d5a917f2bf58f157971873e2acb71e448f719dd24b42609941a53cb88a415b755e57490bbf58f157971873e2acb71e448f719dd24b42609941a53cb88a415b755e57490b376db4cf8539ad3256a0ff2cb9c7dbb25a3ddc0014814136cf6b0c3b13fdd4e17b36f67df63ac20fad3b13308831e3c02b92af23bdfab75331d86fa5edee41db7b36f67df63ac20fad3b13308831e3c02b92af23bdfab75331d86fa5edee41db5c3df0b0957edcedb30947fe7275ab161e7a206b41fc32d4d5ebcfa9e7a73fe539322fdb49575508bcc11b5fe44980516d386393bd78464a2dc4d7df9c2650e439322fdb49575508bcc11b5fe44980516d386393bd78464a2dc4d7df9c2650e43fdf844288f27f7b18c8ceda75714207aed20fabf532127bf300fc290a49127f5a2096bbb4d43370adaa10c4bc2aed1ce404666f3dd7d71f9ddc651bdd1962715a2096bbb4d43370adaa10c4bc2aed1ce404666f3dd7d71f9ddc651bdd19627108309481dbf409dc5a218e6eabf2cb2d6b37d680494130a04bd2a84b50b52ab1d6f925c0ccbd957179fff69ceeab9c6470e7fd13bc865e5a41a074a18cd992f2d6f925c0ccbd957179fff69ceeab9c6470e7fd13bc865e5a41a074a18cd992f2a961d4de1fc1021c97a00e3ecf159239440b746f00c95ae1b6d1b497590b929642e16596d63ab5ea945a70de60de10cd35c04248b1d32406dfd70b1126314bf942e16596d63ab5ea945a70de60de10cd35c04248b1d32406dfd70b1126314bf9276d8efcd1fa00da8cb0f41a78b5fd4976c77a776b0615f7753a3719cfd394af6bf4e73472d5c82355583e891df8423ef4cc8cd462e485dc89b2a0774667039a6bf4e73472d5c82355583e891df8423ef4cc8cd462e485dc89b2a0774667039ad4a1c09687d31042a05d0b0003d50841bad0cd1068d3f85ee42fe3849583bd5749c3ac587f086114a042b6cce5cadfad4c8e6058c3a58aabd25c3fb05dd2ffc949c3ac587f086114a042b6cce5cadfad4c8e6058c3a58aabd25c3fb05dd2ffc979c1715909603177d7799356d21557add7117884fa6e47a06c84884894a73549dc61e18ae23fd4ec361127a6c5c076ac79a6ddc83f5e2554e5057a69dc848564dc61e18ae23fd4ec361127a6c5c076ac79a6ddc83f5e2554e5057a69dc84856479b408b2b831b0c1a76809d9f919bde5fc366cc65889cf64710e5518eea7acbd3f92cff1b4036e5ff4bb711a9753bd827cded8af3ad5dc0d58f396dfd70d557c3f92cff1b4036e5ff4bb711a9753bd827cded8af3ad5dc0d58f396dfd70d557cfccdd10de78b4223cbeb71d288d8ad530c75b99cb590d4ea068204f328217a681b768704a98c6a5209f20ccb20dbbcde721afe13b8fdf772ffd108c3013e1abe1b768704a98c6a5209f20ccb20dbbcde721afe13b8fdf772ffd108c3013e1abed91f3f8da496cce3a3ec42a3a722ceee3e9e37f0315ee6e9311a5e7c8d9f8f7a4c89ee9777804b7ce2351ed10fbc47057aa785209dfd4c8a1c5b8dd0abe608b94c89ee9777804b7ce2351ed10fbc47057aa785209dfd4c8a1c5b8dd0abe608b99957bdbe760ce2b232c65961c2a042a5a8c5e20632bc60a247ca2dfb3b5b599929344109b84d4cd51bafa8e8628df5d9eabab72df7c4e1dfb8f9ab637e1ab12229344109b84d4cd51bafa8e8628df5d9eabab72df7c4e1dfb8f9ab637e1ab1221fc4497b515de787b0610133cf99512239af3cf44c4e968ac19f1aafb11964c4844cc3fee983d17606d7472d79dab287231a6736965e701f126176e2e64f6afd844cc3fee983d17606d7472d79dab287231a6736965e701f126176e2e64f6afdf39eb732acf50f0e0b0d653731f0231d214f9ef353d7315392922e4cfacdfa6b8f4c52c66b6ac78b541d3eaeaf5090a76821776dfaec2eccd8698e86fe5bc3a58f4c52c66b6ac78b541d3eaeaf5090a76821776dfaec2eccd8698e86fe5bc3a55d29bb140d8dfa95f274883c593bb68d1ec875d4bc3f656a0be899076446a95f842ba4cfbe151dc5ca456f48b095d12084cfd621c2786f6487e040539488f7f1842ba4cfbe151dc5ca456f48b095d12084cfd621c2786f6487e040539488f7f13b075b93eaba5de200aa68fe37a3e8eec0967d2e4c27a77b837ad30aa887067c5b77e35a7013002922542a37f7d287699202296c7c5235689e2798bf03c718bf5b77e35a7013002922542a37f7d287699202296c7c5235689e2798bf03c718bf7d683325d35a31ca326e430c0476563393804bef92475b6cbf0fc8ab4fd730d6605e048efc1f9c10c604c5227e75d4880597f14021978ca28b16e7efc90e6ae0605e048efc1f9c10c604c5227e75d4880597f14021978ca28b16e7efc90e6ae0e3807fc51214d35c0089dacf3a69b7e0d4d978df162f635639e5f813e5263f8b2f110fca3eb1c053c82f5b42f13c2baa837af6f48c65eeb1b358e6e7d5a4b97d2f110fca3eb1c053c82f5b42f13c2baa837af6f48c65eeb1b358e6e7d5a4b97dbee46b807e6809566874e09b00609ecfb913318735365526c653e7c9e78a78766e26d3c24dda40e9212116664824da07dcc5986c004786712aa17e2034e7f240f3baab4c57c40d899f0dc6784e33a70d2551bbd2ad4562a543cda143a3f37fa151c1b52b832a4a91d27ec5330ee00e865d6a01cbb2b59def9e403a64acf42a740b683581a0b22dffea0fe0630eed95a3fcd776b5ed47fd4e3833d09158a203ef0b683581a0b22dffea0fe0630eed95a3fcd776b5ed47fd4e3833d09158a203eff2fffb7f8ccc0ca9350499765158d67d74fd674bc0eb6c2f0953ded0194c058b8af25a5c9372bab5822d2b786b4d33777ec4b378d5a21fe923f47ad845d483048af25a5c9372bab5822d2b786b4d33777ec4b378d5a21fe923f47ad845d4830425fdc57c2ed724278753bfd25d361f2f2f8727dede1784ff512a72f382656343c08f3d47fbb55757b0a84ac920f5e3c2991e356b5be4cb40f684d0e61e582069c08f3d47fbb55757b0a84ac920f5e3c2991e356b5be4cb40f684d0e61e582069d7bbd3978f889074d620bb849e021bf06e4bc8a7cd10e054ffd726c79ab8ac499b0fe18b06671e4ec2e59ccea79756a9f1e5693fe2f3f76f14d2a62171798c819b0fe18b06671e4ec2e59ccea79756a9f1e5693fe2f3f76f14d2a62171798c81d22c7884424f3c5a2cd2c074ed2d43a55c6cc5a90fee76785e443d7cadeaf0e3b90a9d7c9329f1ec67f13fb00ca56af9b1b25d36585ad19d54536ed4833a4efbb90a9d7c9329f1ec67f13fb00ca56af9b1b25d36585ad19d54536ed4833a4efb32daa41ffaec698b966924a4cb2fdeab3f5874a73538b769481dfd31d396f2a7068dcb1f2109b824edeedccbde6137b940b0f35b816232c764098d1022e93f13068dcb1f2109b824edeedccbde6137b940b0f35b816232c764098d1022e93f1396d5b30876b20c41125837e13f8725d2d7efedde3e655673edcc1fc98b8bdaa6c0efe3ea875b7e2ffe61345280a0381272fc64432630995781f35d624b87df5ac0efe3ea875b7e2ffe61345280a0381272fc64432630995781f35d624b87df5a6e901bd4e493590b96317bdd8555294f790ab3565b7d0f3b37d2fa69ebc2e96e2e2b36368689fe5669ac68a8837a8a771c25c317ec757e0be5c73206a328609e2e2b36368689fe5669ac68a8837a8a771c25c317ec757e0be5c73206a328609eaf82a1099884370e24bf55b9cb91de797ff753000ee59138b66199291cf32d91c31e5307c63de50e38d3863f178cb1b49151e2f05b3a8a98ab340358a45d11bbc31e5307c63de50e38d3863f178cb1b49151e2f05b3a8a98ab340358a45d11bb57ae9272acf3ee3b62332f456bbc3e6e6857d2abef41cd95c48440e4466f53ca5236200bc6813608c12889c848129de04a8242e0c77a6c0cb0624146af0dbd715236200bc6813608c12889c848129de04a8242e0c77a6c0cb0624146af0dbd71388499f6288e71a9a0b3691491c35e67caa3a497e8ff48d59b4a1b43748ed23ce0d0c15115da3bd7f4e27bd55a2be08c36dcf57930dd9720127d9d957cc442f9e0d0c15115da3bd7f4e27bd55a2be08c36dcf57930dd9720127d9d957cc442f93395dfb1cc9b32e1abe34227572cc4a8bee00484182a4178d1f6a04391a8a617e363a7a216552205590c1e231ca58619122f1d8458b380e1817925ee721be954e363a7a216552205590c1e231ca58619122f1d8458b380e1817925ee721be9542ef3de063dd1ab8d73dd8fd8f2608a26f8328c67e95c5469ef9f4c8b47fa60cf5ec8b125c1ee20d1d0ff590e517b4b72c3f27c76d31331722bbc36d4617f1b475ec8b125c1ee20d1d0ff590e517b4b72c3f27c76d31331722bbc36d4617f1b470d8a81a2269b3b54b459d758187a0f7125284b482a680820379ee3c510cf9f938b4393da49717b8b4f856250109c326568e61edacbaeed4625f7e120ad5a82118b4393da49717b8b4f856250109c326568e61edacbaeed4625f7e120ad5a8211db529fbce3f56b6a90f1dc533707f6f6da7844d1f7b0a80702042617d60610900190a812695d0d16cdbd026144083ff7a8d2b90ff3fde8422da8e72ee7bcee1d0190a812695d0d16cdbd026144083ff7a8d2b90ff3fde8422da8e72ee7bcee1d5b7ec58e8c6d933b1c0f09abf0ce806e8e6611352347b719b42f020bddd4cae3ec02aaae6225aa416c1e827bf1f9407dc32c32ed1feafc5a75e7fa9ba476fa41ec02aaae6225aa416c1e827bf1f9407dc32c32ed1feafc5a75e7fa9ba476fa41f027ab95caf3f2fe6e00c467ec518705f09fe75df8e2d134978a7433455dfb4e84eb9e33d700ed2251f98650913899697a5c9ae7aceaf9e1bf057f8448a009c484eb9e33d700ed2251f98650913899697a5c9ae7aceaf9e1bf057f8448a009c45f0fd027d7ed2d6458c3d5273646df6a283ceb282f3c7a10cdbf74d64a267152e4c5b21fcea0073cb4e753c49e038a81479ce53d88f0ba52e2b13263d8172f1fe4c5b21fcea0073cb4e753c49e038a81479ce53d88f0ba52e2b13263d8172f1f04acc1aecf350f9d1ee89760c4102aad0c3d913e87928d985295271f6b7fd046d90ec3d0105094e3a42f358bf05ee999189cb61dcec521ecf5f9e7e91bdb6bf8d90ec3d0105094e3a42f358bf05ee999189cb61dcec521ecf5f9e7e91bdb6bf80a78234ad042d2798edc46f852692eaa72da802269028b89b7b2a45b2361339be46eb4ae7cee8aea6b061a7c631203ee601c4425b4bf60c5f2931e1fe1519347e46eb4ae7cee8aea6b061a7c631203ee601c4425b4bf60c5f2931e1fe151934799b9895bcd7e42e2895222560c8c22b4ca1d6d7ee7f56e88ff183c4f984c026985329e2e049527d2d441ec5bf1b988313e7f26d00a00342191cff3f73762b45d85329e2e049527d2d441ec5bf1b988313e7f26d00a00342191cff3f73762b45ddd147d53e605adb49b67911a5f40c703dd21fa3c6191017e595b50aae68eda61ee9052acc1d6ae4db6b4d9b14e9f031fdf8e7179eca89f1e7ec7afcbac44b655c0a4ac2a8f83f6cae2d73a5519c9008f963809462fdd10661a655dd8eaf96413253b848db7ffed9369fe831ec2977352f39ec6436a41ee3a18da9b73729095c413e130438345405091eae724bb71714ad782ed8792fb123d90892ceedcf8fdf513e130438345405091eae724bb71714ad782ed8792fb123d90892ceedcf8fdf501b8011e4f93b0d6b6902e81b095da389aa19dcb3e7779dbb11c55b820d5df9520cd8020261d3ae0206ee9836fe37919a47f514f6ed26ca80fee0295889313ec20cd8020261d3ae0206ee9836fe37919a47f514f6ed26ca80fee0295889313ec7129f41c65b809675ddf1fc1f01f6e0971c6c77966721ef01a153bb748d9e69544d93ad77873d1f187885e33925040ce5019bc82d4c58baa569d7333e9f6082644d93ad77873d1f187885e33925040ce5019bc82d4c58baa569d7333e9f60826e972a4c65beec0e487454f9c84291d567cdd0b523ebac01b94653f785056c9e38cc48bf14857ced689aeb336cfaf718580736dfbdd7cfae7e82d7132d8930e0b8cc48bf14857ced689aeb336cfaf718580736dfbdd7cfae7e82d7132d8930e0b4439b8c4a58a4432a0abcc52648a2c1a08d1720a6d301c5310d1a0586a59b0dfa7a893bb4632a88b05b9f3b995d22c72c32f651048b281686f61686ce5fdb46ca7a893bb4632a88b05b9f3b995d22c72c32f651048b281686f61686ce5fdb46c2d8c7f298390283528a2395751f0570ed090b0e845ebe3af1aa23daef8e026fe26ff46325e33a2f4e2a435a33ad819c5434783430038267fd17fe36af32aab8926ff46325e33a2f4e2a435a33ad819c5434783430038267fd17fe36af32aab89491172f02c08e68472027131ad17f6722dd1aa83023e8dbb0dbed864463e9757cc7af361d02c86e462aa0dccd7e04f3f10ae9063de02aa5c3c3c53feeb72ecb0cc7af361d02c86e462aa0dccd7e04f3f10ae9063de02aa5c3c3c53feeb72ecb0707ac117a078da08190c4c5e27e1a3c28763b98b280f08c07e98e3c45d89867ec016e17bccfa34420ce9f88471865faf0ad320289ae670104428a97a5f54ce5dc016e17bccfa34420ce9f88471865faf0ad320289ae670104428a97a5f54ce5d60702b9a49156c0eb20361e7d398997fdf6b7385f1394dbfc2a5e7f04d5ecb95b3e11c03f9e847fbd0489fccdc7ead3fa225a943b8af8f1ffb6d83b9eb525822b3e11c03f9e847fbd0489fccdc7ead3fa225a943b8af8f1ffb6d83b9eb5258221e351960480bd1b76e7ac33ae1b7d86fd1ec80edb3e0d3f303783f1ee1a9005198dd942dc4b35424668cacc810e221672bdf0e6b2e3709d0f8acafc266958c8a98dd942dc4b35424668cacc810e221672bdf0e6b2e3709d0f8acafc266958c8ad313a9bac527b4bdd7d0f7a6a24a85da625c6dbbaaa8c3539743237728587ba815d45ac7d4d567d98fcb2f178bb2a7768acc476641aae643b173abcf219c65f415d45ac7d4d567d98fcb2f178bb2a7768acc476641aae643b173abcf219c65f45b383c2e5e3ffb8fcb8678c6863c03ece1db5be915af84403b428f15ddbf16927584fd1c36d9e75a7374c206dcf774ebc5d435af0520d06565fac6d1043e1d047584fd1c36d9e75a7374c206dcf774ebc5d435af0520d06565fac6d1043e1d04f1fd62ac9f37efa70df8c5e141088f23773e6724ab5d6c359e61dccb911d408f973430ff7c18c3f7579b613d3a2362da1fa288634577d040ee920c84cbc66ab863f0d11990201bc4f379c4d8a4ceab544b7e670cd12c5e4abbe2c35a515c7e0961f2d3a98f9244f275da75c3dd483bd4f581424b0054a1207a79057e9dfda7d5356534c1d77556d97f235aacdd25f6b7979c0250a52a540f3e8a34e6a3914df1356534c1d77556d97f235aacdd25f6b7979c0250a52a540f3e8a34e6a3914df1a4dea675c74b948df751faaa2cdbf7fea45d1c39002c11354e0ac13bdf86d4ddf5f5f326c4f2b1cd2ff0ebbe6c401ae66d99fbc17cc43ce912fc754f1a9d657cf5f5f326c4f2b1cd2ff0ebbe6c401ae66d99fbc17cc43ce912fc754f1a9d657c3fd4ac10fcccdaf6b359f7c43d2784aa9d81860880f4471641a6581976168c679951faac36fab56166790d0d2279b5e255fcee152c3ce5e8e02d0a92d9b8457c9951faac36fab56166790d0d2279b5e255fcee152c3ce5e8e02d0a92d9b8457ccda6b19be53b7f455fd77488c41c73f9405ed7652c70a433dd42ec8f081c2532d41231686e81fdbd62d692f9e90267aaf981aa3025a6de269fd6102f3439bc35d41231686e81fdbd62d692f9e90267aaf981aa3025a6de269fd6102f3439bc357c25628bb6b1f6cd3a4356ea824cb669be7ac3e128f237d16320ca2856b20054f5cd936c747afaeb0d5059f3f1e1cdc4e68b35f9eaa51d50f574a6a8dde13c93f5cd936c747afaeb0d5059f3f1e1cdc4e68b35f9eaa51d50f574a6a8dde13c934a9f5aab5b9110932ff16c02b7b69a9013a4aa56706ed2d100a07cb4e7bdf170c0770096f2b8b3b3a3baff30096c0c92c7e9021b7efa0738de839293836d0852c0770096f2b8b3b3a3baff30096c0c92c7e9021b7efa0738de839293836d0852229dc5b6b3ef33d9b1383b4927ccab1be56586a02bc6472417ec1c07630d2d3b2aaa527c2c3fb953d925f76e2abae7b39c000dfef841514274c4c6144e6937d52aaa527c2c3fb953d925f76e2abae7b39c000dfef841514274c4c6144e6937d59a53395858ce9105d8ce48c82eb5c1b7d003f162ba2c5bfdd18536c84e4640c05967fb5d62a9589eb0e34472327685b3f81fb27a5b75d8c5a3bc9ac5ff4f8a625967fb5d62a9589eb0e34472327685b3f81fb27a5b75d8c5a3bc9ac5ff4f8a622e0603063a1b6733bc7036df47d298530334666be0eff648b584d4530a9d11632a6ad7096be6d25dce4ced4ae8e488626ae26ebed96cce1dc4ef7e90f4af03e92a6ad7096be6d25dce4ced4ae8e488626ae26ebed96cce1dc4ef7e90f4af03e93b79c5d1bb4373d0d38846b56c3353f176f5cd20b31e5ca02ebd5f5f4bfa8cf8ecf49bcc180420fec293ace9727f40106ba24e6501a81f96e15a1da85a41712aecf49bcc180420fec293ace9727f40106ba24e6501a81f96e15a1da85a41712aae2517bba728a41f2aca5dde27072f2ae9361ac082c4bcb1c62d70b3012b01c95f30e8bcde2aab5002305b97ccec22511cd3473df98b7db7eb2702bf5b14983d5f30e8bcde2aab5002305b97ccec22511cd3473df98b7db7eb2702bf5b14983d3627ebd051927d6e3fc2cd668c565074162cafb5946c26ceae3c50079bb0442bcc9dd471db7fb9ab355ce2ae0ea12fd530fa3f67cee37d38c1d3e826e2664b54cc9dd471db7fb9ab355ce2ae0ea12fd530fa3f67cee37d38c1d3e826e2664b541ccb5d8c5ac2d52f4cfc846d48bfd1e1f5906de7b42ce13104ddb221d8c84994cdeb54e79515bb0343f67141f8eb83c8b596f6229b5d18f4c1db5c57adba745fcdeb54e79515bb0343f67141f8eb83c8b596f6229b5d18f4c1db5c57adba745f39d063c1f063e652b2dc7dfc735222ef6e877d49f3355a6b20cfa57d5f633ba8fd4d0ea400537266a0bec7eeb4bc10f1552e6dd0afb5fa64c99073481342b6ddfd4d0ea400537266a0bec7eeb4bc10f1552e6dd0afb5fa64c99073481342b6dd99e879485ecf9854e48028b247cfe6ef7cb93cc1460a10759dfe42fc65ef5964fd3989afda081b991f38f771a3f5fbc853246982efff03592064ba021a4ab7b9fd3989afda081b991f38f771a3f5fbc853246982efff03592064ba021a4ab7b9f89fe6c8c1422c4ce6cca9a21f9b43270febec39959de08c1d79f814cc8a47dc01464ac42feeaaa1f51ff041230f96cbb154b4cb1a82673f1a2298db1a655d1301464ac42feeaaa1f51ff041230f96cbb154b4cb1a82673f1a2298db1a655d13ca827887c7c3cff5df916f04877f5a3a4b72816afe32feb5fb13ef599f0d7d60c91f8a1678ff1dc010bea0a771532ca1bf1bc00326a31b7756d9ccf3e1777379c91f8a1678ff1dc010bea0a771532ca1bf1bc00326a31b7756d9ccf3e1777379857242bae2d39aba93d8fea3c49b7089c0563171b632a291258bb28c152e413cbf57a10eae3b923f9ad7c7c966ece426508eb601ed49f6b658d074a882670a88bf57a10eae3b923f9ad7c7c966ece426508eb601ed49f6b658d074a882670a88f9fe2d8780782513ee395565ba5cad1d9ed02e5214e72f7c97e2102ade1513c1c392ececdea6f01df27a2cf1ee4fe6876662f0200e04e75a27de758d034ba62fc392ececdea6f01df27a2cf1ee4fe6876662f0200e04e75a27de758d034ba62fba4bb1013af882bacc31b916d13955f6562a80a95ead2da950bfd5101436db957963bfade7999bf36282050cf744ef9ee89d16377a62559b1b800f68713cfee97963bfade7999bf36282050cf744ef9ee89d16377a62559b1b800f68713cfee933b7c1222cd9308cd59b3c3153405b0736159599bd7ccbfb56a5f3ce461eb163230f17b484ad14b04ff86d7e712c87d580e31744565eb9020c03c92955d31c27230f17b484ad14b04ff86d7e712c87d580e31744565eb9020c03c92955d31c27af8222afdc2fedaf7ebe09c2a70e8c09b46ee793dd37aeb58cd959c49fb1829eeb6b1e5c283babe857f747628252b2f92137c61482236aa336fdc23f15601b228f8dc3fdfa53c04e3795873df1f445ad5493cd5cf28be892beffb518cb3d38dfe1e46806f42b93bbc3306cd2e61f2ae1b4b87a194eef03cce575025f8a017ebcc1c6ff7d16be2a4568de8ad2d7cb0a4edb188b7a78db0bdc115bcad91657e540c1c6ff7d16be2a4568de8ad2d7cb0a4edb188b7a78db0bdc115bcad91657e540f39f44a4679cd1caf07bde0c7cc764062945cc30376532b030814a8d1c0687bde5f7d11989fd841cf78ac154766e221381b4edf9badf54aa124fe0e951df411ee5f7d11989fd841cf78ac154766e221381b4edf9badf54aa124fe0e951df411ee0a5c4c2deecd7a9181e90bacc1eaccc714170b151cb1cf4ad0f91af7451e8992327a49f4819ea5c84c729472b69b534e0e683fa9fd18fd72c82de1528d892912327a49f4819ea5c84c729472b69b534e0e683fa9fd18fd72c82de1528d892919bc27afebdf8dc26c3976bee2d33e5e48cf2dae3ec873b056cee8d06a26a0bb35bb4f4ecbb410d36f37158437e5f454329fcad373e877b0406b6ba3dade4dbb45bb4f4ecbb410d36f37158437e5f454329fcad373e877b0406b6ba3dade4dbb49a0fbb55004015fadc5e7c52d1a2ed4f6dc2f5cced59f99f402a0fc2e46619f2dc20ea01dcb1129c77dc70b8e896bdeee01b00220ecb6dad007328558a61b8ecdc20ea01dcb1129c77dc70b8e896bdeee01b00220ecb6dad007328558a61b8ecc4c89797d36a3129f28e9454de441753f98aac05ffeadf6c3a39f8a3fb13d238563ed5c3a9236c280c626f095d86859e8830e1fa01d1d1e290060eea26d7ff1ec88dae1d25e8e980b761baa12ffc3992342f2dc811d2fd531cacb5fca46a249f9284745e711edf665156e6bdff491c049197ec048f07ce00385723989dc8510777bbcd61117e34355a293673f2fd6f2edbf46946eaafbf581b45008c8afafc9077bbcd61117e34355a293673f2fd6f2edbf46946eaafbf581b45008c8afafc904cba08848306d919e5ba23639f0468378f2f4992482094524aa5df9338066bea6dc9f4268dde03a008bdea8b7f208d1c9f7fb3b2da99c69be2096897e84b5dbf6dc9f4268dde03a008bdea8b7f208d1c9f7fb3b2da99c69be2096897e84b5dbf745f484d75b9d0991e62ecd8f195e63e87bcc768bb514761931df49d3967770584bc60c5b303248ad79398b38ff44845bdb946715f9e43e9e264d6154e56714884bc60c5b303248ad79398b38ff44845bdb946715f9e43e9e264d6154e56714873366016cc72764f68f3aa34b6092d547258adbb4013d105cc08309c450a06d9e7cc65b9407e5d1d679ce4aa518d2f6769ccb677670a3b46b9b1103635e4d174e7cc65b9407e5d1d679ce4aa518d2f6769ccb677670a3b46b9b1103635e4d1749b8285183531187b894388d321eb368a96879cf425cf285e9d213c6bddecd45cbe78eadaba55e0dc36d5e398f73011943367550c337c7165d28d6df092ee827cbe78eadaba55e0dc36d5e398f73011943367550c337c7165d28d6df092ee827cbd9077a729996c6ba123fc3d80b5e766124205bbc47bbe5de3dd9ba87c3fe6b85a069a999caa7add55ea6012cef5b215648b07b040c3bba32faac04d646c81625a069a999caa7add55ea6012cef5b215648b07b040c3bba32faac04d646c8162577f44c5548efedade27ed61c80b7b453b0807d94c477585497cebecd563dc9606e63457b5d195f2f0b9cdd05c3b54f980b71f03b219b208b5772764824b9b3e06e63457b5d195f2f0b9cdd05c3b54f980b71f03b219b208b5772764824b9b3e4b7ffd754b12f882c30c366b60c5ee301b80379206d4e89a19c03424298ca6b9bdd375fd2066b0c864bc9947516d528ccda6a2c365127d57368ab893d2a926c3bdd375fd2066b0c864bc9947516d528ccda6a2c365127d57368ab893d2a926c39b88243d0b985a0679aa8c6e7d620e244e9ad68efffcf0f98461e7c4c4c1e2e344096b03e4df5216baa166d34981afcd954051a247673c50c0e2110e98d32b9144096b03e4df5216baa166d34981afcd954051a247673c50c0e2110e98d32b914eb152a3e36ea71df4221ce06a04f54470604c799153375a6c159700f7298f6c733246893b954af1373e9b7bb4094dd04fcc0f679d2a0635931f646bc2becd1e733246893b954af1373e9b7bb4094dd04fcc0f679d2a0635931f646bc2becd1eb307a453da7044c3ca573bde840cb06bd29cb65e01f9d503850d07865f4f83fbe590add0cade001c6b3fc36bd43b51039a5963fa61998851a1633d8eb4835e31166cbb24197c8a35b24194ce3128e93d06ad26c4c0cc48acf39048db9626fc51a926399c1c04c0be696cb2433b8b8c5994513007fa255b135bef7cc7f3cd943e884e1ad4fd968f6bf3481eb62fe6adcd7a74399785d2e0886be3ad27702707828b0b950e67bb9c576effca689b1399bc309d7d4dc113a18b16f4633c77eace124097667ead7d69e4f774f0da1d169f6b0eebe5f978f051f217d7d874df38e8d407eb9861c2d564464e11406c6f82d3833172995d03da3f2d8418eaa8ecd5d5b84fc4b63a61cb389d496a171fbe450d26e99eb4db4c477e5fc462ceb39e41942c6c86e661ba9e3348a41470b6fd9760034bcf4125dad4a18c1c90877f999c56d69254c885554d6be2e8afd77a42bb57aa47e6f90fad15dcbabf32c38b31362fd69254c885554d6be2e8afd77a42bb57aa47e6f90fad15dcbabf32c38b31362fd624bd3ee133d8f4329460ae773f86c31761c92529de074cb647c47ae2209bda36776056703dc9ac38a8e499628228a42df4147bef0e8c66fbda10d5635271c88f776056703dc9ac38a8e499628228a42df4147bef0e8c66fbda10d5635271c88fa9541ef28b5eb96cf1ea1e70cef2f5594590d88c2d082bf6d5a64d332898c8af290127df338c8f34ede8b403d606d283edbb666362e72f86675eba8b9433e52c290127df338c8f34ede8b403d606d283edbb666362e72f86675eba8b9433e52c6d83665108631f3d98f70877e54175c654f046a8e31696166cf49dab491d7669a23fad665453fa8757009fe792ee95ac5cf5bc11937db2fb4ac39469b0940e67a23fad665453fa8757009fe792ee95ac5cf5bc11937db2fb4ac39469b0940e674f32f5e5a82e6302b3f9118421a5d677d0d67d3a2fee344bc19c6093b961e889a86c95e385426d84c263d7480d33d0caaa31ff3984ae569464c5db99a5ba493fa86c95e385426d84c263d7480d33d0caaa31ff3984ae569464c5db99a5ba493ff1b7624b689fc06e5f54e2762da9140306688cc5d75137a6596186031c59995335a5951ca0fad1ba41afc9460d868a4746943dcf6b6f994fdf531766ebd4793135a5951ca0fad1ba41afc9460d868a4746943dcf6b6f994fdf531766ebd47931037456edcb78c05f4e0e142c4d1a846d740e775b638383e227b60e06afd6c66955e2de0f2a26362d4c85bce51caeb60dd33cc4f3f04f6de022973978c85b135555e2de0f2a26362d4c85bce51caeb60dd33cc4f3f04f6de022973978c85b13558128613707c1926a9e05772a6a3af0b32d67665f04ba8e9193488fde2e2c9651effe4d829417e62f5305239cc00ff7e1ffa1981fb95e5e69e08ca7ff76305288effe4d829417e62f5305239cc00ff7e1ffa1981fb95e5e69e08ca7ff76305288536180fb621803c2606b2d96276cf777276fb421f653798fd6173ccdef659ef183622a5e9cc7f8657e65161c1d3eca8a847d1fafffbc54a374e60b0819b637b283622a5e9cc7f8657e65161c1d3eca8a847d1fafffbc54a374e60b0819b637b20c6e58e310f78802fd09f854c6f433b4decc3b07c8a28e1df2d76db718bbf553f01df4d8b22b91be0a39c60744e72259fde41ce65a5821a226cbf1aaf309098af01df4d8b22b91be0a39c60744e72259fde41ce65a5821a226cbf1aaf309098a9d1b69236bf74e002591883dd3e02e33d18747bea25b6869abda3de25031c465b11010824c42aaa3606146ed0828cdcb01923fd85f441169d1d8372a006363dd02489e03a62df14b68b5075e8692811d4b689e894724f48cd4a6ec47b587e97bb342fb5926095802e45c435cb17045c012002f077d92dccfcd747f53e46370ab87abd72804742e135a6cd48c7781dae1f08d73816b09ae0288fbe86a0a803b4387abd72804742e135a6cd48c7781dae1f08d73816b09ae0288fbe86a0a803b43bf45872bf8522d21220aa017d4aa9f75e754fba005bdd1e7bf71d9db2e462476f376edd487b478a78710ccd90a11c680b8acf58e0c6e9c846aea6d2b89d6353bf376edd487b478a78710ccd90a11c680b8acf58e0c6e9c846aea6d2b89d6353bebd8846683f70bec3bc6ce5e7238965a1ed26bc2b1f58edc4ad194b0bde9488a3af6f5de72a0693f09cfef5c32e225315d6fc9eb98d6711e241d80b195aeca3b3af6f5de72a0693f09cfef5c32e225315d6fc9eb98d6711e241d80b195aeca3bb68cff174b248dfd11a90ac38de757c6f102a42627b6242202022c7069e4270055a514544fd5644466071e68f4185dc82ecc9c3fde328a201e40fa05e983106c55a514544fd5644466071e68f4185dc82ecc9c3fde328a201e40fa05e983106c7aaa7af08b12d0df319a6aa368beb0b37fd846634fcba335b0584a6ee1e66ede9c33f3e7783401dca82719d557bfd6c4f34c2b4127b943ed076f40edfe1da2e79c33f3e7783401dca82719d557bfd6c4f34c2b4127b943ed076f40edfe1da2e78f965c3ad3a196847010cc41632bb82b2db2f0531f96bf634ad2efc2b281244bf8933cca5d6ebf74e40b3520fc5af3d5c8b1f6b9980da9f027909932ae0cb1acf8933cca5d6ebf74e40b3520fc5af3d5c8b1f6b9980da9f027909932ae0cb1ac58b4ac34a9fe736f02f539184c2040e202efef69407481c381d62698829d5c863c745f86b434c77e378e099aae1685ae32ef96e99809e82fec8b8fa12dbda4033c745f86b434c77e378e099aae1685ae32ef96e99809e82fec8b8fa12dbda403e8db25e4e2686afa3bf9bdb34a3e446167f1c46afdddcf4cddb96d699899d53efc27cde9db6523f9301c1e6ade5480210ba10991466a7e22bc3986afaf43b7a5fc27cde9db6523f9301c1e6ade5480210ba10991466a7e22bc3986afaf43b7a51aaf4d05fb5b22720924f9bc0285b08236934339a10cb12ef59d6f6f932ea5e87906398cf0903639cac1694e88966a169082a19219a40b510edb400978cc318b7906398cf0903639cac1694e88966a169082a19219a40b510edb400978cc318bc1624cb7f727adab7a6841b9ad35e82542c98d5ca7b719b06d7b350497a0c8e10dd26847f6354d99c61d4b773fb223770d090dd318cfb7508935ba1d86916d840dd26847f6354d99c61d4b773fb223770d090dd318cfb7508935ba1d86916d84306184dcc4544bd19beddcf8398081727544499c4ea0db48997887832ff743070af40ef7fbb8e421acb1d09a410d7ec1627353d593ba9fc446b94558446681be0af40ef7fbb8e421acb1d09a410d7ec1627353d593ba9fc446b94558446681be76ce669b2d482275dbc25cab23ee434291d85643f126982dab8540178f7b43ca3598bbfc64ee866114dd3fe3a42e8caf66485fe7951593102713ce92ec022d573598bbfc64ee866114dd3fe3a42e8caf66485fe7951593102713ce92ec022d57e3e7dcf5786986019821abc6d0610a4d17d777120af03219fe45b4765b6ba183ed815843d9d1e13831e94346130d56073a10c133e7dcfb5b4d5481756af93b1aed815843d9d1e13831e94346130d56073a10c133e7dcfb5b4d5481756af93b1a707465c8ddf0edbe2743e1b868cf23b797978f4b49dfa104fff7362535e8d423481602a27784db1e885befa87e0f66fe23028ca8a7cae904df420e01a7536575481602a27784db1e885befa87e0f66fe23028ca8a7cae904df420e01a753657508e6dae5b10fbb576629840325c04640bed5ebc3679efbb73420e3d321432d934a411cf4130caa7c63c28d823a9752e02e43eb4864dfc872b80816935b9578e94a411cf4130caa7c63c28d823a9752e02e43eb4864dfc872b80816935b9578e9af4aef706d0deac0f1e3f35b8cc2287cff07c066a932ce6956757fa0eb0b0b0e42f9f7dce7a3bf380dccf268f62cb14aa34a3e061424af42521445525328c9e842f9f7dce7a3bf380dccf268f62cb14aa34a3e061424af42521445525328c9e85aec8ca9410514f51c5b44d75083476e1a483a07fdaa010514d0abe517d21ac2f084ebfe1461be82a0c01944dc5682638595d0d98b928eb247d1e5b0a44d24d3f084ebfe1461be82a0c01944dc5682638595d0d98b928eb247d1e5b0a44d24d35354f81927b017153187360013d6cb414566927fd671b9a3651186f0ad4f0142865afc139e0f25b2e61e23b2bae56b14f6cfdfdcd6b19b3091161b6f310984b45c4da44e88da4884d6f76aa62b0a15ae62d444f92314b91a3ac49113da9d9cafcc75015e6749c28dad05de33dcb04635608e43c0bb2d68c38f77164ec263f18b3fac44fdd63021e98009d4c874ee38db6c7939d7dfbce2ccf9a9ea50aa8d7072c4ed6eab2114ee807ceb85923122d1a2c239fdffdd316c3db951f9ac272565e891a38192e508aa67ec512fa34cbdd0ad8a7fbc1c05bd70cfada92bf1e04c0812ebb02225760944a855fa619ec8cd3362abbbba39d436417faad6049d65a63e15ebb02225760944a855fa619ec8cd3362abbbba39d436417faad6049d65a63e15398ecd119b0a18fec465d583847fc56ed5c3bee6f1d9f3685944ea790fe2cc411371e07e04ef191799cdacdf6a3be73b73101f2a7481327a3f46263e88dbc3ac1371e07e04ef191799cdacdf6a3be73b73101f2a7481327a3f46263e88dbc3ac163598acb8a637d0d8cc928d5ae66d9a814d3916f91114b34658f7328b7fcaa9fd2575cf6a3158aa6083108ea393615ce3123ca37ea2677739136fa47e658a76fd2575cf6a3158aa6083108ea393615ce3123ca37ea2677739136fa47e658a76dee4124aa11516e7dcd9baf53c0d3bab33707975028b667238b98e4247375e23fddefc9e69867af8d935d1561584fac694db18495517f5b4c7c4ea6ce3f330b4725001dd71279f51d6b6456c408d416974e8aac9e6a98475506715db0bc80ba9ee98df7691fdab030d39a237f6c6131341459b8de8605782f3730811b8239fc9f104f5d68c3ab8309a8381982f64f7f840ff3cd28abfcafeaf12bf3afada35ab5f2aabc6b4d48531a02f48bdb231dd74897b4a7512df5e07c3656ad67c6a50dc5f2aabc6b4d48531a02f48bdb231dd74897b4a7512df5e07c3656ad67c6a50dc6678b08752b37db6f814e73eaaf15b5b2870abbceec25cfd88ee0a91df5f97617f053d54241f360439aec513785e84796e9453c5128d2522729b276a167091e47f053d54241f360439aec513785e84796e9453c5128d2522729b276a167091e4c9eb1b30a52546d96481831c9de616bf2de5b3f03334e2346f9390b354bf20631a2f900083f5110bea9bf056dc7334208b2caa28ea26b3b07d52155c1541bdec1a2f900083f5110bea9bf056dc7334208b2caa28ea26b3b07d52155c1541bdec488565b025c9798490e71b306e8807bbe104c6d8261ee6efeabcdbed76a38cac59b771ca779dd36fbad406d9f8a406c0877bc588d17742df39e5d68daa40f17e15736bc87010a276161ab01486c6aaea8295febba5afcc9406b8c7e2963a37f815736bc87010a276161ab01486c6aaea8295febba5afcc9406b8c7e2963a37f828c96e551b734847c72fc13bf627f73e698245e9eccc787aa03b7ba6215d12af094aa4ce0c7c87da31bd7a208232e2ff826a13b0f81d399f766997e7d2d7b04b094aa4ce0c7c87da31bd7a208232e2ff826a13b0f81d399f766997e7d2d7b04bd2fee24a21d474e0d41f0b2c823abba8992357862031e92b39af0d03d16123e5d31025b2a76bfed8df19108fc7394aa55119c0a0726cfee5d34e5744f44220f9d31025b2a76bfed8df19108fc7394aa55119c0a0726cfee5d34e5744f44220f94a9e6ce96f4040f71201b08f987dac853b1dab442e7599bf3951b309d81c98f3d80d88fe49c8dd80b8ce6d2efab8bbbef2aafd5bb63d2d33cbf237fa413250d9d80d88fe49c8dd80b8ce6d2efab8bbbef2aafd5bb63d2d33cbf237fa413250d99152fc90d3c84314239b59356c452c7d88b88fe8fa96f2f123d25437728bb82efd605526a1004b662620292c1d808ed696b5cc61d9c5748121fd10807123998124b3c8e971a76d61cbf6a1bc9f9806c2b8e651a3aae2978c21a5654e98a3ff339e9d7525d14bf7361d0dbf63325537bdd019c67d7dc265431266c1c13877b1f639de99c00960b9356996859dfbc79b3ebec6aa1d3e821a1b4bf1b80168e78b70f72f6cbd7dbf731c6b18b91364803144febf51d44c3cf515c500dff961dbbdfc9f8c034ed76e50560e25d2575598b49bd0605712ea3ed2b11b0f31d004be71839f8c034ed76e50560e25d2575598b49bd0605712ea3ed2b11b0f31d004be718319cb87050b0fb410da3b88df752c2e1bdaeec77ac052b04febef31a68823cfcbpython2-configpython2.7-configpython2.7libpython2.7.so.1.0python2.pcpython-2.7.pc../../libpython2.7.sorootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-base-2.7.18-150000.108.1.src.rpmpkgconfig(python)pkgconfig(python-2.7)pkgconfig(python2)python-develpython-devel(s390-64)python-testsuitepython2-develpython2-testsuite@@@@@@     /bin/sh/usr/bin/pkg-config/usr/bin/python/usr/bin/python2/usr/bin/python2.7glibc-develpythonpython(abi)python-baserpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.7.182.72.7.18-150000.108.13.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1i@i@i@i@iwW@i_@i@i h@hxgw@g@g@g4f@fH@f?]fh@e,e @eedeeeRd˖dD@dq@du@dtdm@dxdc>@cӼc0c|ck@c pcbbb@b@b@ba@a@a(@aim@aI@a'@a#aj@a`t`8`_T^J^@^@^>^>^;^8 @^.^g@^ @]f@]@]]]d@]d@]@]z@]V]y@]9]1]\t@\\7\7\\J@\J@\C@\2[[#@[6@[@[ @[Za@Z@ZxG@ZtRZp^@Z, gh#python/cpython#103848#issuecomment-2708135083).- Modify CVE-2025-0938-sq-brackets-domain-names.patch: we don't use bracketed_host variable any more (correction of the fix for bsc#1236705, discovered during analysis for bsc#1223694).- Add CVE-2025-0938-sq-brackets-domain-names.patch which disallows square brackets ([ and ]) in domain names for parsed URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704)- Add CVE-2024-11168-validation-IPv6-addrs.patch fixing bsc#1233307 (CVE-2024-11168, gh#python/cpython#103848): Improper validation of IPv6 and IPvFuture addresses. - Add ipaddress module from https://github.com/phihag/ipaddress - Remove -IVendor/ from python-config boo#1231795- Stop using %%defattr, it seems to be breaking proper executable attributes on /usr/bin/ scripts (bsc#1227378).- bsc#1221854 (CVE-2024-0450) Add CVE-2024-0450-zipfile-avoid-quoted-overlap-zipbomb.patch detecting the vulnerability of the "quoted-overlap" zipbomb (from gh#python/cpython!110016).- Switch to using the system libexpat (bsc#1219559, CVE-2023-52425) - Make sure to remove all embedded versions of other packages (including expat). - Add CVE-2023-52425-libexpat-2.6.0-remove-failing-tests.patch removing failing test fixing bpo#3151, which we just not support. - Remove patches over those embedded packages (cffi): - python-2.7-libffi-aarch64.patch - sparc_longdouble.patch- Modify CVE-2023-27043-email-parsing-errors.patch to fix the unicode string handling in email.utils.parseaddr() (bsc#1222537). - Revert CVE-2022-48560-after-free-heappushpop.patch, the fix was unneeded.- Switch off tests. ONLY FOR FACTORY!!! (bsc#1219306)- Build with -std=gnu89 to build correctly with gcc14, bsc#1220970- Add CVE-2023-27043-email-parsing-errors.patch to gh#python/cpython!111116, fixing bsc#1210638 (CVE-2023-27043).- Add CVE-2022-48560-after-free-heappushpop.patch fixing use-after-free in Python via heappushpop in heapq (bsc#1214675, CVE-2022-48560). - switch from %patchN style to the %patch -P N one.- (bsc#1214691, CVE-2022-48566) Add CVE-2022-48566-compare_digest-more-constant.patch to make compare_digest more constant-time. - Allow nis.so for SLE-12.- (bsc#1214685, CVE-2022-48565) Add CVE-2022-48565-plistlib-XML-vulns.patch (from gh#python/cpython#86217) reject XML entity declarations in plist files. - Remove BOTH CVE-2023-27043-email-parsing-errors.patch and Revert-gh105127-left-tests.patch (as per discussion on bsc#1210638).- Add CVE-2023-40217-avoid-ssl-pre-close.patch fixing gh#python/cpython#108310, backport from upstream patch gh#python/cpython#108315 (bsc#1214692, CVE-2023-40217)- IT MEANS THAT bsc#1210638 STILL HAS NOT BEEN FIXED! - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) partially reverting CVE-2023-27043-email-parsing-errors.patch, because of the regression in gh#python/cpython#106669.- (bsc#1210638, CVE-2023-27043) Add CVE-2023-27043-email-parsing-errors.patch, which detects email address parsing errors and returns empty tuple to indicate the parsing error (old API).- Fix the application of the python-2.7.17-switch-off-failing-SSL-tests.patch.- python-2.7.5-multilib.patch: Update for riscv64 - Don't fail if _ctypes or dl extension was not built- The condition around libnsl-devel BuildRequires is NOT switching off NIS support on SLE < 15, support for NIS used to be in the glibc itself. Partial revert of sr#1061583.- Add PygmentsBridge-trime_doctest_flags.patch to allow build of the documentation even with the current Sphinx. (SUSE-ONLY PATCH, DO NOT SEND UPSTREAM!)- Enable --with-system-ffi for non-standard architectures.- SLE-12 builds nis.so as well.- Add CVE-2023-24329-blank-URL-bypass.patch (CVE-2023-24329, bsc#1208471) blocklists bypass via the urllib.parse component when supplying a URL that starts with blank characters- Disable NIS for new products, it's deprecated and gets removed- Add skip_unverified_test.patch because apparently switching off SSL verification doesn't work on older SLE.- Restore python-2.7.9-sles-disable-verification-by-default.patch for SLE-12.- Add CVE-2022-45061-DoS-by-IDNA-decode.patch to avoid CVE-2022-45061 (bsc#1205244) allowing DoS by IDNA decoding extremely long domain names.- Add bpo34990-2038-problem-compileall.patch making compileall.py compliant with year 2038 (bsc#1202666, gh#python/cpython#79171), backport of fix to Python 2.7.- Add patch CVE-2021-28861-double-slash-path.patch: * BaseHTTPServer: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. (bsc#1202624, CVE-2021-28861)- Add CVE-2015-20107-mailcap-unsafe-filenames.patch to avoid CVE-2015-20107 (bsc#1198511, gh#python/cpython#68966), the command injection in the mailcap module.- Filter out executable-stack error that is triggered for i586 target.- Update bundled pip wheel to the latest SLE version patched against bsc#1186819 (CVE-2021-3572). - Recover again proper value of %python2_package_prefix (bsc#1175619).- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Older SLE versions should use old OpenSSL.- Add CVE-2022-0391-urllib_parse-newline-parsing.patch (bsc#1195396, CVE-2022-0391, bpo#43882) sanitizing URLs containing ASCII newline and tabs in urlparse.- Add CVE-2021-4189-ftplib-trust-PASV-resp.patch (bsc#1194146, bpo#43285, CVE-2021-4189, gh#python/cpython#24838) make ftplib not trust the PASV response.- build against openssl 1.1.x (incompatible with openssl 3.0x) for now.- on sle12, python2 modules will still be called python-xxxx until EOL, for newer SLE versions they will be python2-xxxx- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Add CVE-2019-20907_tarfile-inf-loop.patch fixing bsc#1174091 (CVE-2019-20907, bpo#39017) avoiding possible infinite loop in specifically crafted tarball. Add recursion.tar as a testing tarball for the patch. - Provide the newest setuptools wheel (bsc#1176262, CVE-2019-20916) in their correct form (bsc#1180686). - Add CVE-2020-26116-httplib-header-injection.patch fixing bsc#1177211 (CVE-2020-26116, bpo#39603) no longer allowing special characters in the method parameter of HTTPConnection.putrequest in httplib, stopping injection of headers. Such characters now raise ValueError.- Renamed patch for assigned CVE: * bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch -> CVE-2021-3737-fix-HTTP-client-infinite-line-reading-after-a-HTTP-100-Continue.patch (boo#1189241, CVE-2021-3737)- Renamed patch for assigned CVE: * bpo43075-fix-ReDoS-in-request.patch -> CVE-2021-3733-fix-ReDoS-in-request.patch (boo#1189287, CVE-2021-3733) - Fix python-doc build (bpo#35293): * sphinx-update-removed-function.patch - Update documentation formatting for Sphinx 3.0 (bpo#40204).- Add bpo43075-fix-ReDoS-in-request.patch which fixes ReDoS in request (bpo#43075, boo#1189287). - Add missing security announcement to bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch.- Add bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch which fixes http client infinite line reading (DoS) after a http 100 (bpo#44022, boo#1189241).- Modify Lib/ensurepip/__init__.py to contain the same version numbers as are in reality the ones in the bundled wheels (bsc#1187668).- Add CVE-2021-23336-only-amp-as-query-sep.patch which forbids use of semicolon as a query string separator (bpo#42967, bsc#1182379, CVE-2021-23336).- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Add patch configure_PYTHON_FOR_REGEN.patch which makes configure.ac to consider the correct version of PYTHON_FO_REGEN (bsc#1078326).- Use python3-Sphinx on anything more recent than SLE-15 (inclusive).- Update to 2.7.18, final release of Python 2. Ever.: - Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process. - Fixes a ReDoS vulnerability in `http.cookiejar`. Patch by Ben Caller. - Fixed line numbers and column offsets for AST nodes for calls without arguments in decorators. - bsc#1155094 (CVE-2019-18348) Disallow control characters in hostnames in http.client. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. - Fix urllib.urlretrieve failing on subsequent ftp transfers from the same host. - Fix problems identified by GCC's -Wstringop-truncation warning. - AddRefActCtx() was needlessly being checked for failure in PC/dl_nt.c. - Prevent failure of test_relative_path in test_py_compile on macOS Catalina. - Fixed possible leak in `PyArg_Parse` and similar functions for format units "es#" and "et#" when the macro `PY_SSIZE_T_CLEAN` is not defined. - Remove upstreamed patches: - CVE-2019-18348-CRLF_injection_via_host_part.patch - python-2.7.14-CVE-2017-1000158.patch - CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch - CVE-2018-1061-DOS-via-regexp-difflib.patch - CVE-2019-10160-netloc-port-regression.patch - CVE-2019-16056-email-parse-addr.patch- Add CVE-2019-9674-zip-bomb.patch to improve documentation warning about dangers of zip-bombs and other security problems with zipfile library. (bsc#1162825 CVE-2019-9674)- Change to Requires: libpython%{so_version} == %{version}-%{release} to python-base to keep both packages always synchronized (add %{so_version}) (bsc#1162224).- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Provide python-testsuite from devel subkg to ease py2->py3 dependencies- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch off tests coliding with the combination of modern Python and ancient OpenSSL on SLE-12.- libnsl is required only on more recent SLEs and openSUSE, older glibc supported NIS on its own.- Add provides in gdbm subpackage to provide dbm symbols. This allows us to use %%{python_module dbm} as a dependency and have it properly resolved for both python2 and python3- Drop appstream-glib BuildRequires and no longer call appstream-util validate-relax: eliminate a build cycle between as-glib and python. The only thing would would gain by calling as-uril is catching if upstream breaks the appdata.xml file in a future release. Considering py2 is dying, chances for a new release, let alone one breaking the xml file, are slim.- Unify packages among openSUSE:Factory and SLE versions. (bsc#1159035) ; add missing records to this changelog. - Add idle.desktop and idle.appdata.xml to provide IDLE in menus (bsc#1153830)- Add python2_split_startup Provide to make it possible to conflict older packages by shared-python-startup.- Move /etc/pythonstart script to shared-python-startup package.- Add bpo-36576-skip_tests_for_OpenSSL-111.patch (originally from bpo#36576) skipping tests failing with OpenSSL 1.1.1. Fixes bsc#1149792- Add adapted-from-F00251-change-user-install-location.patch fixing pip/distutils to install into /usr/local.- Update to 2.7.17: - a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7. - Removed patches included upstream: - CVE-2018-20852-cookie-domain-check.patch - CVE-2019-16935-xmlrpc-doc-server_title.patch - CVE-2019-9636-netloc-no-decompose-characters.patch - CVE-2019-9947-no-ctrl-char-http.patch - CVE-2019-9948-avoid_local-file.patch - python-2.7.14-CVE-2018-1000030-1.patch - python-2.7.14-CVE-2018-1000030-2.patch - Renamed remove-static-libpython.diff and python-bsddb6.diff to remove-static-libpython.patch and python-bsddb6.patch to unify filenames.- Add CVE-2019-16935-xmlrpc-doc-server_title.patch fixing bsc#1153238 (aka CVE-2019-16935) fixing a reflected XSS in python/Lib/DocXMLRPCServer.py- Add bpo36302-sort-module-sources.patch (boo#1041090)- Add CVE-2019-16056-email-parse-addr.patch fixing the email module wrongly parses email addresses [bsc#1149955, CVE-2019-16056]- boo#1141853 (CVE-2018-20852) add CVE-2018-20852-cookie-domain-check.patch fixing http.cookiejar.DefaultPolicy.domain_return_ok which did not correctly validate the domain: it could be tricked into sending cookies to the wrong server.- Skip test_urllib2_localnet that randomly fails in OBS- bsc#1138459: add CVE-2019-10160-netloc-port-regression.patch which fixes regression introduced by the previous patch. (CVE-2019-10160) Upstream gh#python/cpython#13812- Set _lto_cflags to nil as it will prevent to propage LTO for Python modules that are built in a separate package.- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- bsc#1130847 (CVE-2019-9948) add CVE-2019-9948-avoid_local-file.patch removing unnecessary (and potentially harmful) URL scheme local-file://.- bsc#1129346: add CVE-2019-9636-netloc-no-decompose-characters.patch Characters in the netloc attribute that decompose under NFKC normalization (as used by the IDNA encoding) into any of ``/``, ``?``, ``#``, ``@``, or ``:`` will raise a ValueError. If the URL is decomposed before parsing, or is not a Unicode string, no error will be raised (CVE-2019-9636). Upstream commits e37ef41 and 507bd8c.- (bsc#1111793) Update to 2.7.16: * bugfix-only release: complete list of changes on https://github.com/python/cpython/blob/2.7/Misc/NEWS.d/2.7.16rc1.rst * Removed openssl-111.patch and CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch which are fully included in the tarball. * Updated patches to apply cleanly: CVE-2019-5010-null-defer-x509-cert-DOS.patch bpo36160-init-sysconfig_vars.patch do-not-use-non-ascii-in-test_ssl.patch openssl-111-middlebox-compat.patch openssl-111-ssl_options.patch python-2.5.1-sqlite.patch python-2.6-gettext-plurals.patch python-2.7-dirs.patch python-2.7.2-fix_date_time_compiler.patch python-2.7.4-canonicalize2.patch python-2.7.5-multilib.patch python-2.7.9-ssl_ca_path.patch python-bsddb6.diff remove-static-libpython.patch * Update python-2.7.5-multilib.patch to pass with new platlib regime.- bsc#1109847 (CVE-2018-14647): add CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch fixing bpo-34623.- bsc#1073748: add bpo-29347-dereferencing-undefined-pointers.patch PyWeakref_NewProxy@Objects/weakrefobject.c creates new isntance of PyWeakReference struct and does not intialize wr_prev and wr_next of new isntance. These pointers can have garbage and point to random memory locations. Python should not crash while destroying the isntance created in the same interpreter function. As per my understanding, both wr_prev and wr_next of PyWeakReference instance should be initialized to NULL to avoid segfault.- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746 (CVE-2019-5010). An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Add patch openssl-111.patch to work with openssl-1.1.1 (bsc#1113755)- Apply "CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch" which converts shutil._call_external_zip to use subprocess rather than distutils.spawn. [bsc#1109663, CVE-2018-1000802]- Apply "CVE-2018-1061-DOS-via-regexp-difflib.patch" to prevent low-grade poplib REDOS (CVE-2018-1060) and to prevent difflib REDOS (CVE-2018-1061). Prior to this patch mail server's timestamp was susceptible to catastrophic backtracking on long evil response from the server. Also, it was susceptible to catastrophic backtracking, which was a potential DOS vector. [bsc#1088004 and bsc#1088009, CVE-2018-1061 and CVE-2018-1060]- Apply "CVE-2017-18207.patch" to add a check to Lib/wave.py that verifies that at least one channel is provided. Prior to this check, attackers could cause a denial of service (divide-by-zero error and application crash) via a crafted wav format audio file. [bsc#1083507, CVE-2017-18207]- Apply "python-sorted_tar.patch" (bsc#1086001, boo#1081750) sort tarfile output directory listing- update to 2.7.15 * dozens of bugfixes, see NEWS for details - removed obsolete patches: * python-ncurses-6.0-accessors.patch * python-fix-shebang.patch * gcc8-miscompilation-fix.patch - add patch from upstream: * do-not-use-non-ascii-in-test_ssl.patch- Add gcc8-miscompilation-fix.patch (boo#1084650).- Apply "python-2.7.14-CVE-2017-1000158.patch" to prevent integer overflows in PyString_DecodeEscape that could have resulted in heap-based buffer overflow attacks and possible arbitrary code execution. [bsc#1068664, CVE-2017-1000158]- exclude test_socket & test_subprocess for PowerPC boo#1078485 (same ref as previous change)- Add python-skip_random_failing_tests.patch bypass boo#1078485 and exclude many tests for PowerPC- Add patch python-fix-shebang.patch to fix bsc#1078326- exclude test_regrtest for s390, where it does not segfault as it should (fixes bsc#1073269) - fix segfault while creating weakref - bsc#1073748, bpo#29347 (this is actually fixed by the 2.7.14 update; mentioning this for purposes of bugfix tracking)- update to 2.7.14 * dozens of bugfixes, see NEWS for details * fixed possible integer overflow in PyString_DecodeEscape (CVE-2017-1000158, bsc#1068664) * fixed segfaults with dict mutated during search * fixed possible free-after-use problems with buffer objects with custom indexing * fixed urllib.splithost to correctly parse fragments (bpo-30500) - drop upstreamed python-2.7.13-overflow_check.patch - drop unneeded python-2.7.12-makeopcode.patch - drop upstreamed 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch - Apply "python-2.7.14-CVE-2018-1000030-1.patch" and "python-2.7.14-CVE-2018-1000030-2.patch" to remedy a bug that would crash the Python interpreter when multiple threads used the same I/O stream concurrently. This issue is not classified as a security vulnerability due to the fact that an attacker must be able to run code, however in some situations -- such as function as a service -- this vulnerability can potentially be used by an attacker to violate a trust boundary. [bsc#1079300, CVE-2018-1000030]- Call python2 instead of python in macros- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch- drop SUSE_ASNEEDED=0 as it is not needed anymore- Add libnsl-devel build requires for glibc obsoleting libnsl- obsolete/provide python-argparse and provide python2-argparse, because the argparse module is available from python 2.7 up- SLE package update (bsc#1027282) - refresh python-2.7.5-multilib.patch - dropped upstreamed patches: python-fix-short-dh.patch python-2.7.7-mhlib-linkcount.patch python-2.7-urllib2-localnet-ssl.patch CVE-2016-0772-smtplib-starttls.patch CVE-2016-5699-http-header-injection.patch CVE-2016-5636-zipimporter-overflow.patch python-2.7-httpoxy.patch - Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1. (dimstar@opensuse.org)- Add reproducible.patch to allow reproducible builds of various python packages like python-amqp Upstream: https://github.com/python/cpython/pull/296- update to 2.7.13 * dozens of bugfixes, see NEWS for details * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 * properly fix HTTPoxy (CVE-2016-1000110) * profile-opt build now applies PGO to modules as well - update python-2.7.10-overflow_check.patch with python-2.7.13-overflow_check.patch, incorporating upstream changes (bnc#964182) - add "-fwrapv" to optflags explicitly because upstream code still relies on it in many places- provide python2-* symbols, for support of new packages built as python2-foo - rename macros.python to macros.python2 accordingly - require python-rpm-macros package, drop macro definitions from macros.python2- initial packaging of `python27` side-by-side variant (fate#321075, bsc#997436) - renamed `python` to `python27` in package names and requires - removed Provides and Obsoletes clauses - dropped SLE12-only patch python-2.7.9-sles-disable-verification-by-default.patch, companion sle_tls_checks_policy.py file and the python-strict-tls-checks subpackage - dropped profile files - removed /usr/bin/python and /usr/bin/python2, along with other unversioned aliases - rewrote macros file to enable stand-alone packages depending on py2.7 - re-included downloaded version of HTML documentation- update to 2.7.12 * dozens of bugfixes, see NEWS for details * fixes multiple security issues: CVE-2016-0772 TLS stripping attack on smtplib (bsc#984751) CVE-2016-5636 zipimporter heap overflow (bsc#985177) CVE-2016-5699 httplib header injection (bsc#985348) (this one is actually fixed since 2.7.10) - removed upstreamed python-2.7.7-mhlib-linkcount.patch - refreshed multilib patch - python-2.7.12-makeopcode.patch - run newly-built python interpreter to make opcodes, in order not to require pre-built python - update LD_LIBRARY_PATH to use $PWD instead of "." because the test process escapes to its own directory - modify shebang-fixing scriptlet to ignore makeopcodetargets.py- CVE-2016-0772-smtplib-starttls.patch: smtplib vulnerability opens startTLS stripping attack (CVE-2016-0772, bsc#984751) - CVE-2016-5636-zipimporter-overflow.patch: heap overflow when importing malformed zip files (CVE-2016-5636, bsc#985177) - CVE-2016-5699-http-header-injection.patch: incorrect validation of HTTP headers allow header injection (CVE-2016-5699, bsc#985348) - python-2.7-httpoxy.patch: HTTPoxy vulnerability in urllib, fixed by disregarding HTTP_PROXY when REQUEST_METHOD is also set (CVE-2016-1000110, bsc#989523)- Add python-2.7.10-overflow_check.patch to fix broken overflow checks. [bnc#964182]- copy strict-tls-checks subpackage from SLE to retain future compatibility (not built in openSUSE) - do this properly to fix bnc#945401 - update SLE check to exclude Leap which also has version 1315, just to be sure- Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- add missing ssl.pyc and ssl.pyo to package - implement python-strict-tls-checks subpackage * when present, Python will perform TLS certificate checking by default. it is possible to remove the package to turn off the checks for compatibility with legacy scripts. * as discussed in fate#318300 * this is not built for openSUSE, but retained here in case we want to build the package for a SLE system- python-fix-short-dh.patch: Bump DH parameters to 2048 bit to fix logjam security issue. bsc#935856- add __python2 compatibility macro (used by Fedora) (fate#318838)- update to 2.7.10 - removed obsolete python-2.7-urllib2-localnet-ssl.patch- Reenable test_posix on aarch64- python-2.7.4-aarch64.patch: Remove obsolete patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- update to 2.7.9 * contains full backport of ssl module from Python 3.4 (PEP466) * HTTPS certificate validation enabled by default (PEP476) * SSLv3 disabled by default (bnc#901715) * backported ensurepip module (PEP477) * fixes several missing CVEs from last release: CVE-2013-1752, CVE-2013-1753 * dozens of minor bugfixes - dropped upstreamed patches: python-2.7.6-poplib.patch, smtplib_maxline-2.7.patch, xmlrpc_gzip_27.patch - dropped patch python-2.7.3-ssl_ca_path.patch because we don't need it with ssl module from Python 3 - libffi was upgraded upstream, seems to contain our changes, so dropping libffi-ppc64le.diff as well - python-2.7-urllib2-localnet-ssl.patch - properly remove unconditional "import ssl" from test_urllib2_localnet that caused it to fail without ssl- skip test_thread in qemu_linux_user modes390zp35 1773051630  !"#$%&'()*+,-./0123456789:;<=>?@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefijmnopqrstuvwxyy{||~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffhijklmnopprsttvwxyz{|}~      "##%&&())+,-.//122455788:;;=>>@AACDDFGGIJJLMNOPPRSSUVVXYY[\\^__abbdeeghhjkkmnnpqqsttvwwyzz|}}      !"#$%&'((*++-..0113446788:;<=>>@AACDEFGHHJKLMNNPQQSTTVWWYZZ\]]_``bcceffhiikllnooqrrtuvwxxz{{}~     !"##%&&())+,,./0122455789:;;=>>@AACDEFGGIJJLMMOPPRSSUVVXYY[\\^__abbdeeghijkkmnnpqqsttvwwyzz|}}      !""$%%'((*++-..0113446779::<==?@@BCCEFFHIIKLMNOOQRRTUUWXXZ[[]^^`aacddfggijjlmmopprssuvvxyy{||~      !!#$$&'')**,--/00233567899;<<>??ABBDEEGHIJKKMNNPQQSTTVWWYZZ\]]_``bcceffhijklmnopqrrtuuwxxz{{}~~2.72.72.72.7.18-150000.108.12.7.18-150000.108.12.7.182.7.182.7.18     python-configpython2-configpython2.7-configpythonpython2.7Python-ast.hPython.habstract.hasdl.hast.hbitset.hboolobject.hbufferobject.hbytearrayobject.hbytes_methods.hbytesobject.hcStringIO.hcellobject.hceval.hclassobject.hcobject.hcode.hcodecs.hcompile.hcomplexobject.hdatetime.hdescrobject.hdictobject.hdtoa.henumobject.herrcode.heval.hfileobject.hfloatobject.hframeobject.hfuncobject.hgenobject.hgraminit.hgrammar.himport.hintobject.hintrcheck.hiterobject.hlistobject.hlongintrepr.hlongobject.hmarshal.hmemoryobject.hmetagrammar.hmethodobject.hmodsupport.hmoduleobject.hnode.hobject.hobjimpl.hopcode.hosdefs.hparsetok.hpatchlevel.hpgen.hpgenheaders.hpy_curses.hpyarena.hpycapsule.hpyctype.hpydebug.hpyerrors.hpyexpat.hpyfpe.hpygetopt.hpymacconfig.hpymactoolbox.hpymath.hpymem.hpyport.hpystate.hpystrcmp.hpystrtod.hpythonrun.hpythread.hrangeobject.hsetobject.hsliceobject.hstringobject.hstructmember.hstructseq.hsymtable.hsysmodule.htimefuncs.htoken.htraceback.htupleobject.hucnhash.hunicodeobject.hwarnings.hweakrefobject.hlibpython2.7.sopython-2.7.pcpython.pcpython2.pcMakefile.preMakefile.pre.inSetup.configSetup.localconfig.cconfig.c.ininstall-shlibpython2.7.somakesetuppython.otest185test.dbSine-1000Hz-300ms.aif__init__.py__init__.pyc__init__.pyo__main__.py__main__.pyc__main__.pyo_mock_backport.py_mock_backport.pyc_mock_backport.pyoallsans.pemaudiodatapluck-pcm16.aiffpluck-pcm16.aupluck-pcm16.wavpluck-pcm24.aiffpluck-pcm24.wavpluck-pcm32.aiffpluck-pcm32.aupluck-pcm32.wavpluck-pcm8.aiffpluck-pcm8.aupluck-pcm8.wavpluck-ulaw.aifcpluck-ulaw.auaudiotest.auaudiotests.pyaudiotests.pycaudiotests.pyoautotest.pyautotest.pycautotest.pyobad_coding.pybad_coding2.pybad_coding3.pybadcert.pembadkey.pembadsyntax_future3.pybadsyntax_future4.pybadsyntax_future5.pybadsyntax_future6.pybadsyntax_future7.pybadsyntax_future8.pybadsyntax_future9.pybadsyntax_nocaret.pybisect_cmd.pybisect_cmd.pycbisect_cmd.pyocapath0e4015b9.04e1295a3.05ed36f99.06e88d7b8.099d0fa06.0ce7b8643.0efa5f9c3.0cfgparser.1cjkencodingsbig5-utf8.txtbig5.txtbig5hkscs-utf8.txtbig5hkscs.txtcp949-utf8.txtcp949.txteuc_jisx0213-utf8.txteuc_jisx0213.txteuc_jp-utf8.txteuc_jp.txteuc_kr-utf8.txteuc_kr.txtgb18030-utf8.txtgb18030.txtgb2312-utf8.txtgb2312.txtgbk-utf8.txtgbk.txthz-utf8.txthz.txtiso2022_jp-utf8.txtiso2022_jp.txtiso2022_kr-utf8.txtiso2022_kr.txtjohab-utf8.txtjohab.txtshift_jis-utf8.txtshift_jis.txtshift_jisx0213-utf8.txtshift_jisx0213.txtcmath_testcases.txtcurses_tests.pycurses_tests.pyccurses_tests.pyodataREADMEdecimaltestdataabs.decTestadd.decTestand.decTestbase.decTestclamp.decTestclass.decTestcompare.decTestcomparetotal.decTestcomparetotmag.decTestcopy.decTestcopyabs.decTestcopynegate.decTestcopysign.decTestddAbs.decTestddAdd.decTestddAnd.decTestddBase.decTestddCanonical.decTestddClass.decTestddCompare.decTestddCompareSig.decTestddCompareTotal.decTestddCompareTotalMag.decTestddCopy.decTestddCopyAbs.decTestddCopyNegate.decTestddCopySign.decTestddDivide.decTestddDivideInt.decTestddEncode.decTestddFMA.decTestddInvert.decTestddLogB.decTestddMax.decTestddMaxMag.decTestddMin.decTestddMinMag.decTestddMinus.decTestddMultiply.decTestddNextMinus.decTestddNextPlus.decTestddNextToward.decTestddOr.decTestddPlus.decTestddQuantize.decTestddReduce.decTestddRemainder.decTestddRemainderNear.decTestddRotate.decTestddSameQuantum.decTestddScaleB.decTestddShift.decTestddSubtract.decTestddToIntegral.decTestddXor.decTestdecDouble.decTestdecQuad.decTestdecSingle.decTestdivide.decTestdivideint.decTestdqAbs.decTestdqAdd.decTestdqAnd.decTestdqBase.decTestdqCanonical.decTestdqClass.decTestdqCompare.decTestdqCompareSig.decTestdqCompareTotal.decTestdqCompareTotalMag.decTestdqCopy.decTestdqCopyAbs.decTestdqCopyNegate.decTestdqCopySign.decTestdqDivide.decTestdqDivideInt.decTestdqEncode.decTestdqFMA.decTestdqInvert.decTestdqLogB.decTestdqMax.decTestdqMaxMag.decTestdqMin.decTestdqMinMag.decTestdqMinus.decTestdqMultiply.decTestdqNextMinus.decTestdqNextPlus.decTestdqNextToward.decTestdqOr.decTestdqPlus.decTestdqQuantize.decTestdqReduce.decTestdqRemainder.decTestdqRemainderNear.decTestdqRotate.decTestdqSameQuantum.decTestdqScaleB.decTestdqShift.decTestdqSubtract.decTestdqToIntegral.decTestdqXor.decTestdsBase.decTestdsEncode.decTestexp.decTestextra.decTestfma.decTestinexact.decTestinvert.decTestln.decTestlog10.decTestlogb.decTestmax.decTestmaxmag.decTestmin.decTestminmag.decTestminus.decTestmultiply.decTestnextminus.decTestnextplus.decTestnexttoward.decTestor.decTestplus.decTestpower.decTestpowersqrt.decTestquantize.decTestrandomBound32.decTestrandoms.decTestreduce.decTestremainder.decTestremainderNear.decTestrescale.decTestrotate.decTestrounding.decTestsamequantum.decTestscaleb.decTestshift.decTestsquareroot.decTestsubtract.decTesttestall.decTesttointegral.decTesttointegralx.decTestxor.decTestdoctest_aliases.pydoctest_aliases.pycdoctest_aliases.pyodouble_const.pydouble_const.pycdouble_const.pyoempty.vbsexception_hierarchy.txtffdh3072.pemfloating_points.txtfork_wait.pyfork_wait.pycfork_wait.pyoformatfloat_testcases.txtgdb_sample.pygdb_sample.pycgdb_sample.pyogreyrgb.uueieee754.txtimghdrdatapython.bmppython.gifpython.jpgpython.pbmpython.pgmpython.pngpython.ppmpython.raspython.sgipython.tiffpython.xbminfinite_reload.pyinfinite_reload.pycinfinite_reload.pyoinspect_fodder.pyinspect_fodder.pycinspect_fodder.pyoinspect_fodder2.pyinspect_fodder2.pycinspect_fodder2.pyokeycert.passwd.pemkeycert.pemkeycert2.pemkeycert3.pemkeycert4.pemlist_tests.pylist_tests.pyclist_tests.pyolock_tests.pylock_tests.pyclock_tests.pyomake_ssl_certs.pymake_ssl_certs.pycmake_ssl_certs.pyomapping_tests.pymapping_tests.pycmapping_tests.pyomath_testcases.txtmp_fork_bomb.pymp_fork_bomb.pycmp_fork_bomb.pyomultibytecodec_support.pymultibytecodec_support.pycmultibytecodec_support.pyonokia.pemnullbytecert.pemnullcert.pemoutstanding_bugs.pyoutstanding_bugs.pycoutstanding_bugs.pyopickletester.pypickletester.pycpickletester.pyoprofilee.pyprofilee.pycprofilee.pyopycacert.pempyclbr_input.pypyclbr_input.pycpyclbr_input.pyopydoc_mod.pypydoc_mod.pycpydoc_mod.pyopydocfodder.pypydocfodder.pycpydocfodder.pyopystone.pypystone.pycpystone.pyopythoninfo.pypythoninfo.pycpythoninfo.pyorandv2_32.pckrandv2_64.pckrandv3.pckre_tests.pyre_tests.pycre_tests.pyorecursion.tarregrtest.pyregrtest.pycregrtest.pyorelimport.pyrelimport.pycrelimport.pyoreperf.pyreperf.pycreperf.pyorevocation.crlsample_doctest.pysample_doctest.pycsample_doctest.pyosample_doctest_no_docstrings.pysample_doctest_no_docstrings.pycsample_doctest_no_docstrings.pyosample_doctest_no_doctests.pysample_doctest_no_doctests.pycsample_doctest_no_doctests.pyoscript_helper.pyscript_helper.pycscript_helper.pyoselfsigned_pythontestdotnet.pemseq_tests.pyseq_tests.pycseq_tests.pyosgml_input.htmlsortperf.pysortperf.pycsortperf.pyossl_cert.pemssl_key.passwd.pemssl_key.pemssl_servers.pyssl_servers.pycssl_servers.pyossltests.pyssltests.pycssltests.pyostring_tests.pystring_tests.pycstring_tests.pyosubprocessdatasigchild_ignore.pysigchild_ignore.pycsigchild_ignore.pyosupport__init__.py__init__.pyc__init__.pyoscript_helper.pyscript_helper.pycscript_helper.pyosymlink_support.pysymlink_support.pycsymlink_support.pyotalos-2019-0758.pemtest_MimeWriter.pytest_MimeWriter.pyctest_MimeWriter.pyotest_SimpleHTTPServer.pytest_SimpleHTTPServer.pyctest_SimpleHTTPServer.pyotest_StringIO.pytest_StringIO.pyctest_StringIO.pyotest___all__.pytest___all__.pyctest___all__.pyotest___future__.pytest___future__.pyctest___future__.pyotest__locale.pytest__locale.pyctest__locale.pyotest__osx_support.pytest__osx_support.pyctest__osx_support.pyotest_abc.pytest_abc.pyctest_abc.pyotest_abstract_numbers.pytest_abstract_numbers.pyctest_abstract_numbers.pyotest_aepack.pytest_aepack.pyctest_aepack.pyotest_aifc.pytest_aifc.pyctest_aifc.pyotest_al.pytest_al.pyctest_al.pyotest_anydbm.pytest_anydbm.pyctest_anydbm.pyotest_applesingle.pytest_applesingle.pyctest_applesingle.pyotest_argparse.pytest_argparse.pyctest_argparse.pyotest_array.pytest_array.pyctest_array.pyotest_ascii_formatd.pytest_ascii_formatd.pyctest_ascii_formatd.pyotest_ast.pytest_ast.pyctest_ast.pyotest_asynchat.pytest_asynchat.pyctest_asynchat.pyotest_asyncore.pytest_asyncore.pyctest_asyncore.pyotest_atexit.pytest_atexit.pyctest_atexit.pyotest_audioop.pytest_audioop.pyctest_audioop.pyotest_augassign.pytest_augassign.pyctest_augassign.pyotest_base64.pytest_base64.pyctest_base64.pyotest_bastion.pytest_bastion.pyctest_bastion.pyotest_bdb.pytest_bdb.pyctest_bdb.pyotest_bigaddrspace.pytest_bigaddrspace.pyctest_bigaddrspace.pyotest_bigmem.pytest_bigmem.pyctest_bigmem.pyotest_binascii.pytest_binascii.pyctest_binascii.pyotest_binhex.pytest_binhex.pyctest_binhex.pyotest_binop.pytest_binop.pyctest_binop.pyotest_bisect.pytest_bisect.pyctest_bisect.pyotest_bool.pytest_bool.pyctest_bool.pyotest_bsddb.pytest_bsddb.pyctest_bsddb.pyotest_bsddb185.pytest_bsddb185.pyctest_bsddb185.pyotest_bsddb3.pytest_bsddb3.pyctest_bsddb3.pyotest_buffer.pytest_buffer.pyctest_buffer.pyotest_bufio.pytest_bufio.pyctest_bufio.pyotest_builtin.pytest_builtin.pyctest_builtin.pyotest_bytes.pytest_bytes.pyctest_bytes.pyotest_bz2.pytest_bz2.pyctest_bz2.pyotest_calendar.pytest_calendar.pyctest_calendar.pyotest_call.pytest_call.pyctest_call.pyotest_capi.pytest_capi.pyctest_capi.pyotest_cd.pytest_cd.pyctest_cd.pyotest_cfgparser.pytest_cfgparser.pyctest_cfgparser.pyotest_cgi.pytest_cgi.pyctest_cgi.pyotest_charmapcodec.pytest_charmapcodec.pyctest_charmapcodec.pyotest_cl.pytest_cl.pyctest_cl.pyotest_class.pytest_class.pyctest_class.pyotest_cmath.pytest_cmath.pyctest_cmath.pyotest_cmd.pytest_cmd.pyctest_cmd.pyotest_cmd_line.pytest_cmd_line.pyctest_cmd_line.pyotest_cmd_line_script.pytest_cmd_line_script.pyctest_cmd_line_script.pyotest_code.pytest_code.pyctest_code.pyotest_codeccallbacks.pytest_codeccallbacks.pyctest_codeccallbacks.pyotest_codecencodings_cn.pytest_codecencodings_cn.pyctest_codecencodings_cn.pyotest_codecencodings_hk.pytest_codecencodings_hk.pyctest_codecencodings_hk.pyotest_codecencodings_iso2022.pytest_codecencodings_iso2022.pyctest_codecencodings_iso2022.pyotest_codecencodings_jp.pytest_codecencodings_jp.pyctest_codecencodings_jp.pyotest_codecencodings_kr.pytest_codecencodings_kr.pyctest_codecencodings_kr.pyotest_codecencodings_tw.pytest_codecencodings_tw.pyctest_codecencodings_tw.pyotest_codecmaps_cn.pytest_codecmaps_cn.pyctest_codecmaps_cn.pyotest_codecmaps_hk.pytest_codecmaps_hk.pyctest_codecmaps_hk.pyotest_codecmaps_jp.pytest_codecmaps_jp.pyctest_codecmaps_jp.pyotest_codecmaps_kr.pytest_codecmaps_kr.pyctest_codecmaps_kr.pyotest_codecmaps_tw.pytest_codecmaps_tw.pyctest_codecmaps_tw.pyotest_codecs.pytest_codecs.pyctest_codecs.pyotest_codeop.pytest_codeop.pyctest_codeop.pyotest_coercion.pytest_coercion.pyctest_coercion.pyotest_collections.pytest_collections.pyctest_collections.pyotest_colorsys.pytest_colorsys.pyctest_colorsys.pyotest_commands.pytest_commands.pyctest_commands.pyotest_compare.pytest_compare.pyctest_compare.pyotest_compile.pytest_compile.pyctest_compile.pyotest_compileall.pytest_compileall.pyctest_compileall.pyotest_compiler.pytest_compiler.pyctest_compiler.pyotest_complex.pytest_complex.pyctest_complex.pyotest_complex_args.pytest_complex_args.pyctest_complex_args.pyotest_contains.pytest_contains.pyctest_contains.pyotest_contextlib.pytest_contextlib.pyctest_contextlib.pyotest_cookie.pytest_cookie.pyctest_cookie.pyotest_cookielib.pytest_cookielib.pyctest_cookielib.pyotest_copy.pytest_copy.pyctest_copy.pyotest_copy_reg.pytest_copy_reg.pyctest_copy_reg.pyotest_cpickle.pytest_cpickle.pyctest_cpickle.pyotest_cprofile.pytest_cprofile.pyctest_cprofile.pyotest_crypt.pytest_crypt.pyctest_crypt.pyotest_csv.pytest_csv.pyctest_csv.pyotest_ctypes.pytest_ctypes.pyctest_ctypes.pyotest_curses.pytest_curses.pyctest_curses.pyotest_datetime.pytest_datetime.pyctest_datetime.pyotest_dbm.pytest_dbm.pyctest_dbm.pyotest_decimal.pytest_decimal.pyctest_decimal.pyotest_decorators.pytest_decorators.pyctest_decorators.pyotest_defaultdict.pytest_defaultdict.pyctest_defaultdict.pyotest_deque.pytest_deque.pyctest_deque.pyotest_descr.pytest_descr.pyctest_descr.pyotest_descrtut.pytest_descrtut.pyctest_descrtut.pyotest_dict.pytest_dict.pyctest_dict.pyotest_dictcomps.pytest_dictcomps.pyctest_dictcomps.pyotest_dictviews.pytest_dictviews.pyctest_dictviews.pyotest_difflib.pytest_difflib.pyctest_difflib.pyotest_difflib_expect.htmltest_dircache.pytest_dircache.pyctest_dircache.pyotest_dis.pytest_dis.pyctest_dis.pyotest_distutils.pytest_distutils.pyctest_distutils.pyotest_dl.pytest_dl.pyctest_dl.pyotest_doctest.pytest_doctest.pyctest_doctest.pyotest_doctest.txttest_doctest2.pytest_doctest2.pyctest_doctest2.pyotest_doctest2.txttest_doctest3.txttest_doctest4.txttest_docxmlrpc.pytest_docxmlrpc.pyctest_docxmlrpc.pyotest_dumbdbm.pytest_dumbdbm.pyctest_dumbdbm.pyotest_dummy_thread.pytest_dummy_thread.pyctest_dummy_thread.pyotest_dummy_threading.pytest_dummy_threading.pyctest_dummy_threading.pyotest_email.pytest_email.pyctest_email.pyotest_email_codecs.pytest_email_codecs.pyctest_email_codecs.pyotest_email_renamed.pytest_email_renamed.pyctest_email_renamed.pyotest_ensurepip.pytest_ensurepip.pyctest_ensurepip.pyotest_enumerate.pytest_enumerate.pyctest_enumerate.pyotest_eof.pytest_eof.pyctest_eof.pyotest_epoll.pytest_epoll.pyctest_epoll.pyotest_errno.pytest_errno.pyctest_errno.pyotest_exception_variations.pytest_exception_variations.pyctest_exception_variations.pyotest_exceptions.pytest_exceptions.pyctest_exceptions.pyotest_extcall.pytest_extcall.pyctest_extcall.pyotest_fcntl.pytest_fcntl.pyctest_fcntl.pyotest_file.pytest_file.pyctest_file.pyotest_file2k.pytest_file2k.pyctest_file2k.pyotest_file_eintr.pytest_file_eintr.pyctest_file_eintr.pyotest_filecmp.pytest_filecmp.pyctest_filecmp.pyotest_fileinput.pytest_fileinput.pyctest_fileinput.pyotest_fileio.pytest_fileio.pyctest_fileio.pyotest_float.pytest_float.pyctest_float.pyotest_fnmatch.pytest_fnmatch.pyctest_fnmatch.pyotest_fork1.pytest_fork1.pyctest_fork1.pyotest_format.pytest_format.pyctest_format.pyotest_fpformat.pytest_fpformat.pyctest_fpformat.pyotest_fractions.pytest_fractions.pyctest_fractions.pyotest_frozen.pytest_frozen.pyctest_frozen.pyotest_ftplib.pytest_ftplib.pyctest_ftplib.pyotest_funcattrs.pytest_funcattrs.pyctest_funcattrs.pyotest_functools.pytest_functools.pyctest_functools.pyotest_future.pytest_future.pyctest_future.pyotest_future1.pytest_future1.pyctest_future1.pyotest_future2.pytest_future2.pyctest_future2.pyotest_future3.pytest_future3.pyctest_future3.pyotest_future4.pytest_future4.pyctest_future4.pyotest_future5.pytest_future5.pyctest_future5.pyotest_future_builtins.pytest_future_builtins.pyctest_future_builtins.pyotest_gc.pytest_gc.pyctest_gc.pyotest_gdb.pytest_gdb.pyctest_gdb.pyotest_gdbm.pytest_gdbm.pyctest_gdbm.pyotest_generators.pytest_generators.pyctest_generators.pyotest_genericpath.pytest_genericpath.pyctest_genericpath.pyotest_genexps.pytest_genexps.pyctest_genexps.pyotest_getargs.pytest_getargs.pyctest_getargs.pyotest_getargs2.pytest_getargs2.pyctest_getargs2.pyotest_getopt.pytest_getopt.pyctest_getopt.pyotest_gettext.pytest_gettext.pyctest_gettext.pyotest_gl.pytest_gl.pyctest_gl.pyotest_glob.pytest_glob.pyctest_glob.pyotest_global.pytest_global.pyctest_global.pyotest_grammar.pytest_grammar.pyctest_grammar.pyotest_grp.pytest_grp.pyctest_grp.pyotest_gzip.pytest_gzip.pyctest_gzip.pyotest_hash.pytest_hash.pyctest_hash.pyotest_hashlib.pytest_hashlib.pyctest_hashlib.pyotest_heapq.pytest_heapq.pyctest_heapq.pyotest_hmac.pytest_hmac.pyctest_hmac.pyotest_hotshot.pytest_hotshot.pyctest_hotshot.pyotest_htmllib.pytest_htmllib.pyctest_htmllib.pyotest_htmlparser.pytest_htmlparser.pyctest_htmlparser.pyotest_httplib.pytest_httplib.pyctest_httplib.pyotest_httpservers.pytest_httpservers.pyctest_httpservers.pyotest_idle.pytest_idle.pyctest_idle.pyotest_imageop.pytest_imageop.pyctest_imageop.pyotest_imaplib.pytest_imaplib.pyctest_imaplib.pyotest_imgfile.pytest_imgfile.pyctest_imgfile.pyotest_imghdr.pytest_imghdr.pyctest_imghdr.pyotest_imp.pytest_imp.pyctest_imp.pyotest_import.pytest_import.pyctest_import.pyotest_import_magic.pytest_import_magic.pyctest_import_magic.pyotest_importhooks.pytest_importhooks.pyctest_importhooks.pyotest_importlib.pytest_importlib.pyctest_importlib.pyotest_index.pytest_index.pyctest_index.pyotest_inspect.pytest_inspect.pyctest_inspect.pyotest_int.pytest_int.pyctest_int.pyotest_int_literal.pytest_int_literal.pyctest_int_literal.pyotest_io.pytest_io.pyctest_io.pyotest_ioctl.pytest_ioctl.pyctest_ioctl.pyotest_ipaddress.pytest_ipaddress.pyctest_ipaddress.pyotest_isinstance.pytest_isinstance.pyctest_isinstance.pyotest_iter.pytest_iter.pyctest_iter.pyotest_iterlen.pytest_iterlen.pyctest_iterlen.pyotest_itertools.pytest_itertools.pyctest_itertools.pyotest_json.pytest_json.pyctest_json.pyotest_kqueue.pytest_kqueue.pyctest_kqueue.pyotest_largefile.pytest_largefile.pyctest_largefile.pyotest_lib2to3.pytest_lib2to3.pyctest_lib2to3.pyotest_linecache.pytest_linecache.pyctest_linecache.pyotest_linuxaudiodev.pytest_linuxaudiodev.pyctest_linuxaudiodev.pyotest_list.pytest_list.pyctest_list.pyotest_locale.pytest_locale.pyctest_locale.pyotest_logging.pytest_logging.pyctest_logging.pyotest_long.pytest_long.pyctest_long.pyotest_long_future.pytest_long_future.pyctest_long_future.pyotest_longexp.pytest_longexp.pyctest_longexp.pyotest_macos.pytest_macos.pyctest_macos.pyotest_macostools.pytest_macostools.pyctest_macostools.pyotest_macpath.pytest_macpath.pyctest_macpath.pyotest_macurl2path.pytest_macurl2path.pyctest_macurl2path.pyotest_mailbox.pytest_mailbox.pyctest_mailbox.pyotest_marshal.pytest_marshal.pyctest_marshal.pyotest_math.pytest_math.pyctest_math.pyotest_md5.pytest_md5.pyctest_md5.pyotest_memoryio.pytest_memoryio.pyctest_memoryio.pyotest_memoryview.pytest_memoryview.pyctest_memoryview.pyotest_mhlib.pytest_mhlib.pyctest_mhlib.pyotest_mimetools.pytest_mimetools.pyctest_mimetools.pyotest_mimetypes.pytest_mimetypes.pyctest_mimetypes.pyotest_minidom.pytest_minidom.pyctest_minidom.pyotest_mmap.pytest_mmap.pyctest_mmap.pyotest_module.pytest_module.pyctest_module.pyotest_modulefinder.pytest_modulefinder.pyctest_modulefinder.pyotest_msilib.pytest_msilib.pyctest_msilib.pyotest_multibytecodec.pytest_multibytecodec.pyctest_multibytecodec.pyotest_multifile.pytest_multifile.pyctest_multifile.pyotest_multiprocessing.pytest_multiprocessing.pyctest_multiprocessing.pyotest_mutants.pytest_mutants.pyctest_mutants.pyotest_mutex.pytest_mutex.pyctest_mutex.pyotest_netrc.pytest_netrc.pyctest_netrc.pyotest_new.pytest_new.pyctest_new.pyotest_nis.pytest_nis.pyctest_nis.pyotest_nntplib.pytest_nntplib.pyctest_nntplib.pyotest_normalization.pytest_normalization.pyctest_normalization.pyotest_ntpath.pytest_ntpath.pyctest_ntpath.pyotest_old_mailbox.pytest_old_mailbox.pyctest_old_mailbox.pyotest_opcodes.pytest_opcodes.pyctest_opcodes.pyotest_openpty.pytest_openpty.pyctest_openpty.pyotest_operator.pytest_operator.pyctest_operator.pyotest_optparse.pytest_optparse.pyctest_optparse.pyotest_ordered_dict.pytest_ordered_dict.pyctest_ordered_dict.pyotest_os.pytest_os.pyctest_os.pyotest_ossaudiodev.pytest_ossaudiodev.pyctest_ossaudiodev.pyotest_parser.pytest_parser.pyctest_parser.pyotest_pdb.pytest_pdb.pyctest_pdb.pyotest_peepholer.pytest_peepholer.pyctest_peepholer.pyotest_pep247.pytest_pep247.pyctest_pep247.pyotest_pep277.pytest_pep277.pyctest_pep277.pyotest_pep352.pytest_pep352.pyctest_pep352.pyotest_pickle.pytest_pickle.pyctest_pickle.pyotest_pickletools.pytest_pickletools.pyctest_pickletools.pyotest_pipes.pytest_pipes.pyctest_pipes.pyotest_pkg.pytest_pkg.pyctest_pkg.pyotest_pkgimport.pytest_pkgimport.pyctest_pkgimport.pyotest_pkgutil.pytest_pkgutil.pyctest_pkgutil.pyotest_platform.pytest_platform.pyctest_platform.pyotest_plistlib.pytest_plistlib.pyctest_plistlib.pyotest_poll.pytest_poll.pyctest_poll.pyotest_popen.pytest_popen.pyctest_popen.pyotest_popen2.pytest_popen2.pyctest_popen2.pyotest_poplib.pytest_poplib.pyctest_poplib.pyotest_posix.pytest_posix.pyctest_posix.pyotest_posixpath.pytest_posixpath.pyctest_posixpath.pyotest_pow.pytest_pow.pyctest_pow.pyotest_pprint.pytest_pprint.pyctest_pprint.pyotest_print.pytest_print.pyctest_print.pyotest_profile.pytest_profile.pyctest_profile.pyotest_property.pytest_property.pyctest_property.pyotest_pstats.pytest_pstats.pyctest_pstats.pyotest_pty.pytest_pty.pyctest_pty.pyotest_pwd.pytest_pwd.pyctest_pwd.pyotest_py3kwarn.pytest_py3kwarn.pyctest_py3kwarn.pyotest_py_compile.pytest_py_compile.pyctest_py_compile.pyotest_pyclbr.pytest_pyclbr.pyctest_pyclbr.pyotest_pydoc.pytest_pydoc.pyctest_pydoc.pyotest_pyexpat.pytest_pyexpat.pyctest_pyexpat.pyotest_queue.pytest_queue.pyctest_queue.pyotest_quopri.pytest_quopri.pyctest_quopri.pyotest_random.pytest_random.pyctest_random.pyotest_re.pytest_re.pyctest_re.pyotest_readline.pytest_readline.pyctest_readline.pyotest_regrtest.pytest_regrtest.pyctest_regrtest.pyotest_repr.pytest_repr.pyctest_repr.pyotest_resource.pytest_resource.pyctest_resource.pyotest_rfc822.pytest_rfc822.pyctest_rfc822.pyotest_richcmp.pytest_richcmp.pyctest_richcmp.pyotest_rlcompleter.pytest_rlcompleter.pyctest_rlcompleter.pyotest_robotparser.pytest_robotparser.pyctest_robotparser.pyotest_runpy.pytest_runpy.pyctest_runpy.pyotest_sax.pytest_sax.pyctest_sax.pyotest_scope.pytest_scope.pyctest_scope.pyotest_scriptpackages.pytest_scriptpackages.pyctest_scriptpackages.pyotest_select.pytest_select.pyctest_select.pyotest_set.pytest_set.pyctest_set.pyotest_setcomps.pytest_setcomps.pyctest_setcomps.pyotest_sets.pytest_sets.pyctest_sets.pyotest_sgmllib.pytest_sgmllib.pyctest_sgmllib.pyotest_sha.pytest_sha.pyctest_sha.pyotest_shelve.pytest_shelve.pyctest_shelve.pyotest_shlex.pytest_shlex.pyctest_shlex.pyotest_shutil.pytest_shutil.pyctest_shutil.pyotest_signal.pytest_signal.pyctest_signal.pyotest_site.pytest_site.pyctest_site.pyotest_slice.pytest_slice.pyctest_slice.pyotest_smtplib.pytest_smtplib.pyctest_smtplib.pyotest_smtpnet.pytest_smtpnet.pyctest_smtpnet.pyotest_socket.pytest_socket.pyctest_socket.pyotest_socketserver.pytest_socketserver.pyctest_socketserver.pyotest_softspace.pytest_softspace.pyctest_softspace.pyotest_sort.pytest_sort.pyctest_sort.pyotest_source_encoding.pytest_source_encoding.pyctest_source_encoding.pyotest_spwd.pytest_spwd.pyctest_spwd.pyotest_sqlite.pytest_sqlite.pyctest_sqlite.pyotest_ssl.pytest_ssl.pyctest_ssl.pyotest_startfile.pytest_startfile.pyctest_startfile.pyotest_stat.pytest_stat.pyctest_stat.pyotest_str.pytest_str.pyctest_str.pyotest_strftime.pytest_strftime.pyctest_strftime.pyotest_string.pytest_string.pyctest_string.pyotest_stringprep.pytest_stringprep.pyctest_stringprep.pyotest_strop.pytest_strop.pyctest_strop.pyotest_strptime.pytest_strptime.pyctest_strptime.pyotest_strtod.pytest_strtod.pyctest_strtod.pyotest_struct.pytest_struct.pyctest_struct.pyotest_structmembers.pytest_structmembers.pyctest_structmembers.pyotest_structseq.pytest_structseq.pyctest_structseq.pyotest_subprocess.pytest_subprocess.pyctest_subprocess.pyotest_sunau.pytest_sunau.pyctest_sunau.pyotest_sunaudiodev.pytest_sunaudiodev.pyctest_sunaudiodev.pyotest_sundry.pytest_sundry.pyctest_sundry.pyotest_support.pytest_support.pyctest_support.pyotest_symtable.pytest_symtable.pyctest_symtable.pyotest_syntax.pytest_syntax.pyctest_syntax.pyotest_sys.pytest_sys.pyctest_sys.pyotest_sys_setprofile.pytest_sys_setprofile.pyctest_sys_setprofile.pyotest_sys_settrace.pytest_sys_settrace.pyctest_sys_settrace.pyotest_sysconfig.pytest_sysconfig.pyctest_sysconfig.pyotest_tarfile.pytest_tarfile.pyctest_tarfile.pyotest_tcl.pytest_tcl.pyctest_tcl.pyotest_telnetlib.pytest_telnetlib.pyctest_telnetlib.pyotest_tempfile.pytest_tempfile.pyctest_tempfile.pyotest_test_support.pytest_test_support.pyctest_test_support.pyotest_textwrap.pytest_textwrap.pyctest_textwrap.pyotest_thread.pytest_thread.pyctest_thread.pyotest_threaded_import.pytest_threaded_import.pyctest_threaded_import.pyotest_threadedtempfile.pytest_threadedtempfile.pyctest_threadedtempfile.pyotest_threading.pytest_threading.pyctest_threading.pyotest_threading_local.pytest_threading_local.pyctest_threading_local.pyotest_threadsignals.pytest_threadsignals.pyctest_threadsignals.pyotest_time.pytest_time.pyctest_time.pyotest_timeit.pytest_timeit.pyctest_timeit.pyotest_timeout.pytest_timeout.pyctest_timeout.pyotest_tk.pytest_tk.pyctest_tk.pyotest_tokenize.pytest_tokenize.pyctest_tokenize.pyotest_tools.pytest_tools.pyctest_tools.pyotest_trace.pytest_trace.pyctest_trace.pyotest_traceback.pytest_traceback.pyctest_traceback.pyotest_transformer.pytest_transformer.pyctest_transformer.pyotest_ttk_guionly.pytest_ttk_guionly.pyctest_ttk_guionly.pyotest_ttk_textonly.pytest_ttk_textonly.pyctest_ttk_textonly.pyotest_tuple.pytest_tuple.pyctest_tuple.pyotest_turtle.pytest_turtle.pyctest_turtle.pyotest_typechecks.pytest_typechecks.pyctest_typechecks.pyotest_types.pytest_types.pyctest_types.pyotest_ucn.pytest_ucn.pyctest_ucn.pyotest_unary.pytest_unary.pyctest_unary.pyotest_undocumented_details.pytest_undocumented_details.pyctest_undocumented_details.pyotest_unicode.pytest_unicode.pyctest_unicode.pyotest_unicode_file.pytest_unicode_file.pyctest_unicode_file.pyotest_unicodedata.pytest_unicodedata.pyctest_unicodedata.pyotest_unittest.pytest_unittest.pyctest_unittest.pyotest_univnewlines.pytest_univnewlines.pyctest_univnewlines.pyotest_univnewlines2k.pytest_univnewlines2k.pyctest_univnewlines2k.pyotest_unpack.pytest_unpack.pyctest_unpack.pyotest_urllib.pytest_urllib.pyctest_urllib.pyotest_urllib2.pytest_urllib2.pyctest_urllib2.pyotest_urllib2_localnet.pytest_urllib2_localnet.pyctest_urllib2_localnet.pyotest_urllib2net.pytest_urllib2net.pyctest_urllib2net.pyotest_urllibnet.pytest_urllibnet.pyctest_urllibnet.pyotest_urlparse.pytest_urlparse.pyctest_urlparse.pyotest_userdict.pytest_userdict.pyctest_userdict.pyotest_userlist.pytest_userlist.pyctest_userlist.pyotest_userstring.pytest_userstring.pyctest_userstring.pyotest_uu.pytest_uu.pyctest_uu.pyotest_uuid.pytest_uuid.pyctest_uuid.pyotest_wait3.pytest_wait3.pyctest_wait3.pyotest_wait4.pytest_wait4.pyctest_wait4.pyotest_warnings.pytest_warnings.pyctest_warnings.pyotest_wave.pytest_wave.pyctest_wave.pyotest_weakref.pytest_weakref.pyctest_weakref.pyotest_weakset.pytest_weakset.pyctest_weakset.pyotest_whichdb.pytest_whichdb.pyctest_whichdb.pyotest_winreg.pytest_winreg.pyctest_winreg.pyotest_winsound.pytest_winsound.pyctest_winsound.pyotest_with.pytest_with.pyctest_with.pyotest_wsgiref.pytest_wsgiref.pyctest_wsgiref.pyotest_xdrlib.pytest_xdrlib.pyctest_xdrlib.pyotest_xml_etree.pytest_xml_etree.pyctest_xml_etree.pyotest_xml_etree_c.pytest_xml_etree_c.pyctest_xml_etree_c.pyotest_xmllib.pytest_xmllib.pyctest_xmllib.pyotest_xmlrpc.pytest_xmlrpc.pyctest_xmlrpc.pyotest_xpickle.pytest_xpickle.pyctest_xpickle.pyotest_xrange.pytest_xrange.pyctest_xrange.pyotest_zipfile.pytest_zipfile.pyctest_zipfile.pyotest_zipfile64.pytest_zipfile64.pyctest_zipfile64.pyotest_zipimport.pytest_zipimport.pyctest_zipimport.pyotest_zipimport_support.pytest_zipimport_support.pyctest_zipimport_support.pyotest_zlib.pytest_zlib.pyctest_zlib.pyotestall.pytestall.pyctestall.pyotestcodec.pytestcodec.pyctestcodec.pyotestimg.uuetestimgr.uuetestrgb.uuetesttar.tartf_inherit_check.pytf_inherit_check.pyctf_inherit_check.pyothreaded_import_hangers.pythreaded_import_hangers.pycthreaded_import_hangers.pyotime_hashlib.pytime_hashlib.pyctime_hashlib.pyotokenize_tests.txttracedmodules__init__.py__init__.pyc__init__.pyotestmod.pytestmod.pyctestmod.pyowarning_tests.pywarning_tests.pycwarning_tests.pyowin_console_handler.pywin_console_handler.pycwin_console_handler.pyoxmltestdataexpat224_utf8_bug.xmlsimple-ns.xmlsimple.xmltest.xmltest.xml.outxmltests.pyxmltests.pycxmltests.pyozipdir.zip/usr/bin//usr/include//usr/include/python2.7//usr/lib64//usr/lib64/pkgconfig//usr/lib64/python2.7/config//usr/lib64/python2.7//usr/lib64/python2.7/test//usr/lib64/python2.7/test/audiodata//usr/lib64/python2.7/test/capath//usr/lib64/python2.7/test/cjkencodings//usr/lib64/python2.7/test/data//usr/lib64/python2.7/test/decimaltestdata//usr/lib64/python2.7/test/imghdrdata//usr/lib64/python2.7/test/subprocessdata//usr/lib64/python2.7/test/support//usr/lib64/python2.7/test/tracedmodules//usr/lib64/python2.7/test/xmltestdata/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:43089/SUSE_SLE-15_Update/818992e0f984b6cccc1cdfc22c60e68f-python-base.SUSE_SLE-15_Updatedrpmxz5s390x-suse-linux                                                     !                         "                       "                                          #      #               $                                                                                                             #                                                                       "                 #           #        "  "                                                                                          %       &''(( )Python script, ASCII text executabledirectoryC source, ASCII textASCII textpkgconfig filemakefile script, ASCII text, with very long linesmakefile script, ASCII textPOSIX shell script, ASCII text executableELF 64-bit MSB relocatable, IBM S/390, version 1 (SYSV), with debug_info, not strippedBerkeley DB 1.85 (Hash, version 2, native byte-order)python 2.7 byte-compiledUTF-8 Unicode (with BOM) textUTF-8 Unicode textISO-8859 textNon-ISO extended-ASCII textASCII text, with escape sequencesNon-ISO extended-ASCII text, with LF, NEL line terminatorsASCII text, with very long linesASCII text, with no line terminatorsuuencoded or xxencoded, ASCII textGIF image data, version 89a, 16 x 16JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 16x16, frames 3Netpbm image data, size = 16 x 16, rawbits, bitmapNetpbm image data, size = 16 x 16, rawbits, greymapPNG image data, 16 x 16, 8-bit colormap, non-interlacedNetpbm image data, size = 16 x 16, rawbits, pixmapSun raster image data, 16 x 16, 32-bit, RGB, no colormapSGI image data, RLE, 3-D, 16 x 16, 4 channelsTIFF image data, little-endian, direntries=17, height=16, bps=1242, compression=none, PhotometricIntepretation=RGB, name=python.tiff, orientation=upper-left, width=16emptyPython script, UTF-8 Unicode text executabletar archiveHTML document, ISO-8859 textPython script, ASCII text executable, with very long linesPython script, ISO-8859 text executableHTML document, ASCII text, with very long linesPOSIX tar archiveUTF-8 Unicode text, with very long lines, with CRLF line terminatorsexported SGML document, ASCII textXML 1.0 document, ISO-8859 textgzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v1.0 to extract Zip archive data, at least v1.0 to extract)  !"#$&'(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijklnoprstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RPRPRPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRrbZa*EGѽutf-8499cfd85c8eae0ad57ff0ce04875ef113d1b640394575cc9ea738098fb548122? 7zXZ !t/mF]"k%pa ]i$늈&׸de[pHkA.K**B@@0#eg70?viB+.+[䇒H!M~ߑ(~~fS93Es/: ע;6(*aE)Pp4lqKH[gesS@ U|C~.+ijJd]c#vH]ayB5mT1VȾT;Sr Z[\8Dg<ZBs}7j.d6l8DIhl" &´|,Xyʄ>onC\ 3TX&uJ.GXd8٫3Z=&r5鎱}+;7ۺ)>@&&^`'0zױ -6i'.Muyyg6\=k|\kAXx^&eeᆅS0-b$rW g!O|8X#mػle% Me?s*mK0x~\D1J'we#֖2Fc5{@Z% Z#wc4{QDX ^ʖʎ(El;[pR]u?6E6*-Ⱥi!W018^ kKz[_T7aSe97V+ mEїG;D"QEƕ5]R.M"rͶ^47$'710yq#`KE\3=9K %SRRPw6uA:ggaT\&XGIng  2:;8(-+L`HZa{O/+}m c,;{Wlېn a}KxgKſX8G\R Hƨ,{h8p D9:f}2_b?/RAcc+Jݵ"cc_ Nv}aŷn\|[kKVd8'ňwt#Ǽr:{#zb ^SM,ɚ!f(p$U3v1U U9#?)YU$?@;B9h?dd(`0l9?\U!u=ĐHQߟW\>O޼]0Am Wq*X&*r ©AJH4u]]F<5Q~7`]2& @jM=4_hm|~uXEcc "*}QȜo$kcނ0K{v a(}.P]v iAWK~a {s>ktoaU`{0f-@A~9?1kI[@' ;rZ Ư\0KH.YҏkX=@kEU I<4a LH2 rONiיNo`॒e6u!j@CӌWYNGHa +G]"{L鱩Vz ZP׷m*ݍ]g zbZ_@lhM~.K|uцc"=O4qc蹏F`}cS6C_e6U9#mHyr7Yn?4 !v~D U=ر$>0VhCoP_'4skꓢD?i04>o#Ul,TqTޤ x0sW }u˲"P6"F%j1;K35^@`aFpU̍'RnGUZJ^Hq.׸KWOMm5/XCEdtvw ;R"o곇06ͻͼ6Y)?fp*~`؍2s-Z$i1`ǧ)'x Y%\*vyKV(0zUUnȒ;Q}s+!ؼػ$ɟ,C!7\H.TɹbQg*+e>,~B  >|3͹5d\BIvRd[xM.Cs:K&ɻv|7<,G>6rN w,68dх.&E.gv_T]3fyd K%^!-mk dULئGb,R^w{- T~Mpm耦ԓX:ǵ@n6z岚ҤU_1+sڄĴ/+}jn0 ɐqX} _~i}#, ScY+Y:R N!F{qIn!y*=N'Vq1JH쏢`!.گ[˼xM#*+΂B- #_sHR†H^ӃI? dGY+l9~D߰ G`>H2nxn^9N)V9Ӣy[.@=~ wyƾf)IpMN=W)US`?Qkrol *gN9[xg(N!acM= ^Fq eE_FME/4;!ҍ  VXL l9 Ғ5Bihl9`j>`]vm+`X˂W96Liu#x.X1z~Cn A<"-lY{S-((㰩[t"Z/8 KH/Y|+Ƥl{V:LEցa<MW3} e!? =lXLLKĒ S?m :O<}suZAyR+W]h:뽣ͳ76u-rAtS!넫xuygyhUj$(3({R wcxl[Jd  1zD\?.vQa@LV>QDU73eBg~9] `iJ5-^֗R >P֟T)@ɕe;G̯Agq:_g~"Ej/?{̶)&V5~Z6$k<2w\#n)NNR{y兕8 dO{Z[R)cּ$z JSG7/:ZK(c ~XuMvӺҩR=E#?Sʽ@tp,zC8:Wq+W4/ua!r{آ/wF_L9}V<  R:]jU<'3/_A /^DBotuv Cb}szg7obXk;0[6m#DzșJKbF_qLӂܽŧ$ķ;H]jפǚXxx{94?9_o4;Q0RM] ƿ0i^n چ(y38NNv/>\DS|I@ 0>1=YS8ˡ`O GF|;r _ptUF6yjrѳJYr*f7&}\lxdVrfL''׵$++Dj R Co Sg"<\b[m{tŸ֒RXRַpZ=4r|lT>a.>QP}o ۿYqf?.K/-vf+ `jP/#~4ⷉb/pF}C,*WGGKt_oԕ>l'ȲB屄l ΀/N 5@iudR(Lw3X=B9T-0Y̿6by)No>XۼKCK>m=6㾡 Np*!SY*Q4onR[@5=57pliY^Z3nPYN&M3$5{RYPBL1ח?]#@KD_jRUʊbؑꎈ_UҡL 7C9MLf ?zx3&M^p`HD}Oy2|ĈR{Aeݽۛy5}ق! i8Q`e;iеNn+{Z 5ƾZ#+G@ rS4LJKW)&#Q2+PH)+?fܙb 8UhęH9 ڝm- z\qYG.զ MݟgDn-,G=/iNeAXT~9=__ڄ~\b$2 m?ȼɒV G~w7j@9>0ѵ֫2Xg!!^Sʝ~`yao Y-^ U 8r .$rj@*G+jcE5Y]zc}j wHv +]wcvɇ:بI&Z: $'-/$?'ڒϴƔF:7&KT_f Wu)zT'd?"ڗ qФ9( j#8=u|Iugtt4ڷct&T S_0}"J̐C\ `-VmO$(&)U$uթz"yK44 e:a9掸?cjܞSmn]΁ǰ0 $`s 3; *bK}8AE.pLU|&,Yw*^$c&T G.˘th$u+u=65..17Jx §2ٹ>)[3 -MY%PM8{ǃǕ,е8ӣ Ꜣ>5]gNA`s( >KWmv-lyE!Gy93-M$VYRD,u.tnJy :PF8Jr4G~` +PEDyYKë<كU^M}=/k!b#d~GȎ2\ȻІ] K:#-.)ͅS_{"5҇Cc`m ZDk4I>(EKaV-mq2dQLEe 4YE,= ƀW,y-%y#jdČ@X3S:!u@% BZ9BpNF: bYrK1p}x Oͻl"\OmU)Ђuǂ@?Gv( &%l1Eb66 [P#k,`А,;{~$VKh /}ӞyJa˦@omսlXlڬqvs%|9K1hstϳ%LVϩ$3 +Qjs ;~g<㍦i%DuBEKJT x*:6P%p:/VY3,V>vzוNx+AeF 5;xX[g\ eH /':5N[(!!p~ Xl|+|jqҮpȿU5V;@-=ptԚXndSYy5dMmeBbԟzx(ϖ`!8ij} .6P3c5b1WD9gzLhMSoM1D6hXi^*w9nGD]d^i DÚTYJs6f9)ƨ-h8l'7u9YT )=%pӋ;$IjR]G,PmȚϝeX8/*mU ѿWvJO*9EGv{-ʹ:;*|Naw(5ftiN&M) *oͬȴ XlhQ,eF$V2t~ZT)Yj9dۼuor0njHe@SأXt tliPpq-Xitv`=ðRŚZ.}+ j9fsO?ٺ~gݔUQ{ɚvi) —GϑֱC@ܝFYx}Z ZC`}~f5Fj+Oβ~F.]&z@_zp96@|Ulٮ{`,гnxm-k'(lb4אeGC:,0 ]P2Br!ZE6@n882?1ЊX[c3'\r@$9DA HGyf YL%fOG<4PB4ܗ9w@]QCS\Cݻv* )*`+K>u?:η啩zZF%X5Q-Go+$bSL"XV7G(+c8+0wA_ף*`[v Fs%G(K˱j8*h[g9fԟwH 0z?82dܛJ?ӥy*H6cןT hk%ASxl;r0Ov*q%i "I.K,Җ3RB>k_ 3}5kjWz<0c7IW0I#0/5~n]\9(KQ%Ds]R E _Zƶ>۱6,25hY0!\' rg+@ ?F/Wu=ys2k%Jр ,pm0)ƨ1mW<ۋQ.Ym*Ϋ@,nH吽5)Bݫs !fJxgj͗E8lrgx){ x?IdZ/$k:]8C\mr ߁ 4p?>0QN0'>JEs0|tfK>f*M~c>@^;(a&`F  Yz'~"N*9h|, TrZT_72 %Vjp&XߋCsotܽ? e hPe4͋K-R\yPPϫ/r[;('82:_)c8ԋVTJ2=>KoPuT#5*_i#$ȚTF;-.,Gl7Cjaƒ]/ɰ13cUƛ3sSÚQukv_$B[ cpލ0cx{lڎH!8o.کoJelMpi!b>K >V _XB}]:~d4a`.bѤ~SbUPRwLxDD HOjGeQҋ{S+ɥMP|<Bf4cukR- e gAKS!)hssuQF\pGF*9.-c1[ϊv?l>O8ga4\ 1J"gOyo6TqB}a(AYs,JhV"Ve4MƩߚ湗:~Ҥx!l OQ7q߰`JY ]d*Zpk\|j"U s{DcDǑejHW6fN̛ R.9dR*f Meg#__]{O+HqǚRkK2?*Q碀7[Ԅ/mz=s@`d5h^NԜ9ƺC}q\Ұʨ^ IO4Yx} X QPu˿}N=1ڽl~:jd2ͧ0:L 2P3~X=N(N%` G逵7QJ4? ;%& o<?c*5O),ZL_b8ڶofzES^iֆg0Glc]sJLC)Pao?^8KQF繖޵ZN8tnܾrw,;w?)йfF; c>I{ļ6O@Zb1W}{1GDf9GdP|6a̝oH٤8f,l.SpFƒ$4I @n_h!#b d@rPhs;r +txP ˭X-qrNu[@} \+@;~#"'" " o,g=8ߌg+#~{*ru߃[=UI&QtoW)5xbCj$>) ^AD݋hN0AMNDz٨xnAmo ^Qͫykpw!٩q5~eDz_cd`mDTݸeqSpS1LRI>`/ZlY꒙d)[*䎤i1O9?HQH(my2}gxbgT͕͖%G{2qh!%w%DɎa7<&4k6)66NsF4Extۭ݄+uhjRP6'&?vjF1WZ+khn..آ/FWL"xJF}ʢП AJc }[p59#*un4~m+Kew훍 Sӱ㹇"8eEKBJ*$ZB(t)Q|w]8 _#"Vd,[y\R^e==0[ 8*7D.B;Crhv;c}5hWmmXqo!L 0O^/r3atR,@͓(㚺_LA= = 77~HWca&ͅK}ɼpG*|iH2(f_NȞYI &$9Xt _ H\QL4RQZ(P$"Bb +z؏z &T1Ob'Gyа%۸tjhp֛hm9o2W^bpRE\5nHp$FiCI~ctLL{N )3;H¢V;Z܌;hn,YOY)N{56fůj#zDP!HdgUXHǠ ݒ -IPG6@d<w䥢&Y]}D5Hj,'ހw8sKVz?->>E].rқ߅vU$%̽'2)u<BM,@F}Mk9ݑ@3gzmμR *n2H\V7cP^ A@0oKX>9i͘6B.I"0Īݪ]*a/c`4A9W LkZ] eMl9r!aCnYⰧ)X׽k4D^ᾎ]UԩEoGަ<^w:jV`웥O3[>I/}2~gvA)ßlw59]1[2?j}#rQfxyTmh\h)HNRPƍ4ǥhK_G HQwWvwyJ~y+8:B[߱2&960E(ep{ſBAnu[gvM`= %LX ]7j"/TvCjǮH rPyJfuARN!ن*_3`vdtfi3Mn랐E2"^]bR-tEIӷ Rve0.jH@KXcsÿ G"nKqXH~\?XiCN`M|!Š%607D w8SSxg"$"oOdO UzBmEbq~PSRƧIy{Ltrqj^"?DF%b.']MEso50=!-,!7O m޲Iu&|cYpVy?5:[ WcUdZg4]G l30F nV 9,aսW\Zh,o$jzrk-Q-Hӆa$KI,Oɋzx]Ѫ);`?Cg!C D,_1i~zoFrlI)f儬@ږ /зb+cPzb+ڵ( qo!:o~ av1rvA7n5Y>;A@ătT0F,8k~Ebe'8֟rǿ *ڕƿ=_e; $$1b?RkeĎˢy4IM;qLmBjH=y]DbqJ>j6AY ~jS8S-R"Bܵd>oS/Ζsk(<9=%e9-JּzL7A*[$.uXdzhvp3)>*2N4ꭹr0Ѝ)b̲ ƺ?&iJ֬FC&qD )XRE["5P4{ae)ej[r ?ĬG̋Nъ<6u0rJˠn5 h]84