llvm7-devel-7.0.1-lp151.2.15.1<>,1h_/=„zԎ@Jc8\՞eM F}{VAM~vr[82ϒEqCc>'ya&3䫱QرOb2pnsG|R ob8C5$BU,tcB.]tb[ 'gF*@4} [Ieo*4}S?n12kƍ% yrw%%QyCjZk֏a0ZYkzNA҅?rW[0~ d/FA,ٸbP걐93>C?|d ! 7 *08 )^ 6 Q  L1S6SXnn o4 q r r(rH(rO8rXa9sa:za>@&F5GHH IXY\]^c[bKcdefluvd.wxyz,06xCllvm7-devel7.0.1lp151.2.15.1Header Files for LLVMThis package contains library and header files needed to develop new native programs that use the LLVM infrastructure._lamb66fopenSUSE Leap 15.1openSUSENCSAhttp://bugs.opensuse.orgDevelopment/Languages/Otherhttp://www.llvm.orglinuxx86_64Z( / 0 }C WR /  zf8,HE;rA, j"c y)c )p+SdF.6 b!e I!.  )@1+ _[5 B+#SKA!weG0-{0I'jcXE4 =*/6 'E'1r m+ ='k% _"FU ^p# SW n` . UOx,)<*xs BjM7wloq#1> .U|P'  ) e E'd8.7V@e N 0)OǞ71uI  &r'b [`Jw0[41+ &I D X U43+K ? K\9c 'R>ZB weVZP/E _%RBO+1 (QEc teMT = +'7 acM) $2d XP ;:r (}! Y#+2|&E y#s! `8hDVh!<g;CAg_TR!  *q:wt 2=e({b>b2q#mbBY'x>) ] rPZ B&; L 3  m1NCD ,+ v  d 8% ;% y:6 "rR?.  | ],3  F lB*)eBP 1F:)!ve5s&RH`I\du), M/ C m(<E 5w& $# /] h \` So' )8#4{!>s(d g>8M(,`#er"\:~'}$ba7.D@Z G&`!M&%e: fQ"& CbKr0 v: -~5q. T C[S&5V 5$#5sh֑Qa(os/o  -D8 ; F1#A #(.F ,Ͽ/? A ?]S>FMd5Z ). ZoG9 Q pBL $/d")  i _hu6K>0%^)oq pk# OJp_ Q @T`#n&9# i.(;Fe? } B15Z]   ! 9O :Y XRnl @ +lm@&5g' 2!B(# e.SrD(0#(.<'.,x pc6n> FLB$z#?1Az@@$rd/ *(L R 6 >JC-}#_7Dc7U V V% c='!zt{R+) ] M & G p",4(YW=M &OP mmh z- 0*CC Q4 !@H= dm biyv3A 9cJz:7 N)5 , H24/^(N+GU"v o  !\>!\ ^Dig .`+^Qss%k9-MA3Zg CR  2- G   7j a X1$D_ J j pTL a$96p} ) >g >!.@M)cE S9)`\Id <  :Y$0a]!M"4 CV8 73<) {n3 <\%&;742B }G;DK D!&F9K6 O#,!+-2f7)F06Ġ:`0]p]h`{ThMEh*h$MCsDT) 75\yAi4R%!J<I'*Hp&+6"oŰNXVqD-h;"4gU8z1QrTBJcpsl!f^rX!@gX0I+*jT5 Oixjvwn 0Vd*s~$;XCR} BO- %"u  P7@d?` PY~ {8gov f  R6j094C:b&\XvX#b.#.:6z!} \1jn |+!X 6}t"igFlj P {lb#t W7(S%.17& A /Ra)-LGZa72^5UY!3:G7lAMs<SA"e*0XjW*^q/zz\ @$3'.O,+5!'(z=#WQO[ &ZZ+ci`/lcrazV:cDžt.%<)wP mO_k?:R#Zw=.4 xAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤_ _ _ VseVtVseZk[ tZ.[RǵZ3xZ3xV[VxVseZ|Rh V-Vse[/ZV[Mˣ_ Y8Z~Vse[8bZiJ[ 5"[/Z荪_ Z荪[1Z荪Y@c%[R [4-Z荪W3Y@c%[DyY@c%Y@c%Yxg[*] [_iZ荪Z荪ZY:[DZsb#Z荪[1[1[1YAV YAYAZ荪Z荪_>Z荪YUY:Y:ZpY6WuY6[H[R+Zj Y@c%YV:$Z荪Y@c%Z荪[WVX4 [W=YZZZ荪[Y][cq[yYZ荪[+B+[>Y:Z荪Z荪Z荪Z荪Y@c%Y@c%Z荪WՄeZ5[2L[3YA_ ["IZ荪[Z荪[^Z荪ZZ荪Z荪[6q YQ4Z荪Z荪ZZ荪YVTZߝYZ荪Z荪Z~Z荪[1ZįU+Z荪Z/?ZsX5זYkeZ荪Yxh[ai ZBLYvYvYvZ荪Z荪Z荪Y!Z荪Z~YM[_iZ荪[C[CZByYbVZ荪Z荪[`o[}J[R![R!Y,[_iZ荪[+4Z荪Z荪Z荪ZJZ@A[4[ZσZ荪Z~ZZ~Z~Z~[,X5ז[ZC7[$VRY6Y}~[Zsm3WZYɽI[8b[_iYrt*Y}~ZJ_ [D[3Y[_iZ荪_ [GUט_ Z~[`g[H߯[5N[`^:_ Y7wY-YY7wZ+XY7wY7wY7wY7wY7w[$YY7wY7wY7wY7wY7w[ZZ~ZV_ Z( _ Xm|YZ荪[[Z荪Z__ [Q[[Y[L<[LZ荪X@C_ Z荪[LZ荪[L<[Y[L<[WMZ:[_iZ荪XZ荪XY7+1[L<[Z5ZS[L<[Lk\[2Z~[ܥ[2G[O[R*Zbp [2BZ~[R`[R*[ܪZ~ZϦ\Y1Z[_~6Z~[R*YH`PZ~Z~T¼,ZΕZ荪Z荪Z荪_ Zx:Z8cZWwYeBYeBYeB_ YUVuV9'[!Y_[_h!Zq[2KZb[CKZ~Zk[?4X6LZ~[?b[}Z荪Z[Rǵ[Z5Z荪[E*YHJZ荪[ai Z荪[X9Z荪[X6LY6YUVuYUVuYUVu[[PmZG[9Z)YY [VĉZ~Yغ[_i[_i__[Vĉ[C^[_i[*C[a r[_iUZP=WRZ׽[_iZ("T[x[FS cZ荪Yɹ[_iYVZ荪ZbZ_Z荪[TW[F%[I3X6LY;[Z荪Z荪Z荪[Z#X9Z荪[WMY\=[_iY6CZ荪[?U6Y6CZ荪Z荪[_iZ D[dZ荪Z Z~Z荪_ Zp[Y_ Za[>7ZAX_ YŲY>HZ?WL_ WHYL[_i[8b_ ZҢZ荪_ Y-=GZ7_ [R[YXZpXZpXZpXZ荪Z?[#bXWZʹZ荪[EkVh_ YcZ荪Z荪Z荪[a^[![:a[|nU [`BZ荪[a^Z荪Z荪[[`bg[HZ荪Z荪Z荪Y[m[Nj[Nj_ [_iXZ?[Z荪[|nX[|nZ荪[Z荪XXDsY7wZ[_i[3Z荪XU+Z荪ZqIZZXZ荪[[:aW[*WYXRMLZ荪Y$_ Z荪YGZ~[RJZYnrZZ~[XZ`[M%[5NYޯ:[3HYw([_iZ荪ZD0["gZO.LZ荪W)[!\bZZ荪ZY,[0][cqZ~[[Z(Z~Z~X`Z-Z荪Z荪[*U+[:XQYﰯZ~[ XZ~XXXzZ荪WvY[X4ZP[<GZ荪Z'vZi[[_ _ YKöZRZ"Y;"[UXZ Z~Z&pw[_[Yt[U&[0qZ荪[!Z荪ZuaZT[ZX?VΛmZЖbZZ~_|Vlx[NU+Z荪S둾[HZ荪ZUZ荪[U' U+[Y]Y6Xg[:[`_ YFYI[Es[+YC)Z);X UdK_ Z[__ X|ZZ^G[H[_i[_iWلZZ荪[L<[NpH[K)[H_ _ Z)Z3j_ _ Yn}_ Yv_ _ ZOWs__ Z荪ZSZSY8YNW#YNYNWc@YZ[LYzYNYNW#[5@W#[PtYNYUY4Z1dWc@ZUwY/g[Pt_ Z荪Z_ [,EZ G[KZ{zZ{zZ{zU+_ [8bY-SZ?WEpZ荪Z荪Y-SW#Y-SYZ荪Y IZ荪Z荪W#Xu\Y%ZR[6cZY#hXu\Z荪Z荪X~Y%Y%[gY%Z荪XˬXu\Xu\XkY[8bYWc@Z荪WiYZ荪YuZ荪W#ZtZ3[XZ荪[1{[W#Z荪[_iW}_ [6cXpYu[*ΠW`)[۵YuZ:m[ai [_iU+Z [Y6[8[_iX;XyyZ荪Z~W#X[I*#Z荪Z荪Z荪Z荪W;Z7BY2Z荪Xyq[*[WV{YZ Wb_>Z@RYFRvkZTX:ZͻT|SWY_>Z߉[L____[JZTt:Z-"_>Y_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _[$C['_ 83b42c1073814a6e7e38ef3d13b29889d0b7a243327810003681b9d98ff170fb33db3b27f1465d637748010bf269600a766911da9c810d7d7804aae5f62389b159004ff554ac34a8d75b739abd37384a95af194d5f07df426b291412dd0228a87c8ded5d666004c3f01b40db6680c55c4d7da722f9032cec9153efb7f85bc75a27815164dc69e6cc92b34054a8054b70b9dc731249b287e23611426750af002fd64e94420e291c31da5182ea8975090f3ab10cbf15abda31087fc6a24317a85c8a953978305b9bb8367ebb50655337dbcee47816b8c37c49cdb9ff8ca0e117bf3db100d3b3a01cd460ac197b4f14a0cfd3480116a9edf4fe976c4b3bf583f44d2361638bcdaf96c4b384adcb02a07b078df4b1d5eb52726dd673783980b3bf1d84e9e198f67b1d1e57a05ae080c5ea95dbe1013acb210de0852f02e4c1c78a2e8a8cb0437ad6c466553a4f98b69694b44d2753f72d94bfec017e3c348fcc46100786acb0cac9368d5f952091fd934cc1bb9ec046f21ca28c00c54a5fa4cdfb39400bf3c9f891e08852fbcb677d8eb6422095713c2f46639e8e8bf1c701e34942ba1c0c5eea19076a4f5855cf4ec3b5016fa2c0970b6188de882eaf69baf6cd308fe73a734ce831bed1297d0cc8ba4f29cb61d6ead2eaf69ae155c84e2ade2817deadd8fab91d05f4615db36d12033902a8dc6ca1b452a45222e23e3f4b4c33ca9446b2206be039dd378a19b3f7e201f7d247a690345772cc0362f69bb62b5db60fa7cfae036ff5b869360a1cb7dc46b195e36b745ebef2d77d01791ea5358d762c6e3372ee10bcc5db9babc235b37c8dc6a3abd4475df0393732f8c04b6d6a1cc1db9933321f602a9125b75cf3aebfcf77203909425214bbc6018b692cf58c958cde25b1df33989d8a40ce9c0ab1c8a85ddfcb71de841299dc44de77e53eb09c919d00b37c9ee89d42f85993b6bf59c9f32769a2f4786ea75fb4a361c0c6725ba91eb42b79cbcd59227db6c4e030f2678205baa6dec4a073270699ea061c5e072d3476519f2e7d424586837231b82f5ae4a41ecdf211a593069d1691f1acd06d2a7d40f01ac8afcb8fdb3da2da209410442bd4127ba42e02eba56604cda8b541dbde3964fe1646003ebba2294effb02bae86f8ea343efbfbdeee636708bb52348a0e444965959f31f1532e2f7cca55e87a564a5febad07db056beba9f606edbbed5b764dbb506e0d2a8f92536a130ac86c3455870ce756d11035e050a3df5bde91518cf3d92c7fe41b787ce3ea3d6bcff24407e4e66bc6d3b2c74129c1875a0a5084f54d0f902cf6ff3eae44e5dc59340cf32937dfeefa3d8a35a28b78408548766c3759ca1a5341ec631c9948f2fa0bebf0ab32add72e6f51103ed96d3c1e16be8cdeabe6cf5a3578a3d429bfc63bd3e88c7900c19614eceb83604449eb76574eea9f0d8ad1a681928b6199690ed3390de818daf2e0cac935e0c05606e9419d22194276d5a3d9f4c5f4037e974f3dd8b3d8bbbb4b9e7a18472fb93d037277a74e6a28418c52177623f761d96f9293cd35079de7b1f675d8d6d37cac1c8a212b5ac86589a35cf33d41513f004f9be31f67ceebc52df621d0331ec5534500b45ae63d2e1eb65babaa7fbc5466717f03e5ade148ad942b51b69715cb8e5b01b7065bb1d63bbb52ee83da893619b009090a2688c9f4115f181ac8af562026024c1ed6a6807d67aa01c3553173c92c08329785e264d6ac2c9b2d1412c3594ce260cba18a10bfac794637bd7a5ac1209a3edf28beded780aa069904db4faba60fd751339b9ebc1fbfc9ab619c070a2b429660ea7bec3164126839d7a7150425ade64c6583479ec613f702425a7929530a4ebb016b3e14a9813df0bcd504681911760fbcbc3956bbc0e872c10ecf3f56a2539e9ec6fbda314c3bf899b9dc2306d5b6176bddc8e54309eb2d8107835c3ea4ef27aebc24d1f109ee8bd46b029311a25fdfe1bf6eb5b605e958a9ba3f249d24464cbecce33759325ec925b8280f4aeeafda550e81b6b87bd97996f245fdd06a70f1d1abcb788acefd30aec7cb079339f9cafb4208131dc91e772b1e7c961456755f936145cd6fd86697262d346c2697d16ecc98a7f22407d5f1a6493371c4a86a0630994903a99dd7854fe802bc01ed2c55f38f2fa6982b2e626e0aa5efb2e350248122ad76fd9b6715f7326c0f28f2585d4e4134775ef1c857b2c105a22e90660bb9f7c7188579b16fe7c01c53af94c27923444fd2e1f6fc3803821d9e62251b34f6c257fe2c827d69b1c92f44b0863a3ab24d86ce1c03e647dd7cd8bf8ba9f062879d1b4409fff1565d3fa64cc5b8e8bf38ba00719d0f2924aeef8e903c37b6ff0c4dc6d94e8d726cbdd6aede57462691a60a1e7d2f5ca43955f2758c8ac3e2aa17267d49228481dcf342b93780a58e1c1acf5182321b26523b9f688ee91fe87dac673174c08cda1a9f44e85cf0a01818b66d7bda2a8e4104ec9467455a955d0500715b16e76b68c751949771f928dbbcf12fec8bf817194bbe78ef03870f10016a7da186fda2fa5c26cc6bedc1da1eabb42e8b2f343a21f5914fdab8bd7f6ae87b6ad6b2f6c0f6554c7dd7a2134d4dc603f6ff8b170a06157c98a678f784f99f7b4d86de3f0a520e3c6682d3cedd0dee25e6b2a88ac62211ab39150c1ed44222026a16df3e3a3d729ec4eb6a4eafa60fa57c37392ca7638a9f251d996fc5517bcdd828574004f6cebfeafd20c54bcb74700500b4924e303a6cdcc5b657bab96983fa4c5529d24408f84fd7fe115432435b63dffa3ccce8b665319627fdab72184fe0e0689336d888b43b45156477b3552bd6fb3055c2778504f467c231ab1e0a051c68a5f028ee97105b46f256f5dc73832fd483d4526c0002f997df531f7bd9fb8a93d70cf1dbd29d8fafa2b419d2ab411721500ca86e47aa01522d902eecb8e8f30b2d23b13406e79ddd2d0f27382f2c83922ccbb9b1fca0bd0a2dd9c768be4c24471966f8f0abe6a2507d0e14dc14939bf98591afa4d90bda859a1408d10a888212bd60100c370e5c25a96c18d28ee16946f485ef1d11210eb6fb5dbc2cac334f2d104c6996aedfe1e3637be137b887c189f0a431e0930687f3bd710a7207385f6e3dd7edace96f5686c1b106e912583cf9a54d1414b2237b84243bbc09e716de36573ff71073762a41da6e1a12bbd807d8c462f960b0f204554b19c79b7d35ee0799a917e033cd7a1b650e9c56dcf0dda1af7e2bcfb5f8bd16326128e9bae7d3b4a20ba721dde6be30ad5882e65d3718696a599f6e3208581494e5a913e78766a8c0302bc30c4e0e4fdce63cd10f1c6dd1dcb03a9dec28226cb427dd3b957d0a448044b10b2a3fe51761e748cb0d974d0254df19a7b8962cae6df2a6feff7eab66db1348ae1ded8e9cea2c4fe578e69935d4c4e75faa570af5b0c32c51c14226cf708c0157e83b8c0144a48981d9d0d1c4a6c7e6144cbe14df867ff685117ea5d752c76ef58041e5a675376c01219526d210d647a9645b287d208f9519e44ab437eafd1494015d26f43c15bd66802a897ac492c19bbf326047425fdf3882ee7f7f3785f96b6a57039ac994cdca602b5e61f85db3024a447545b625c2ec4c3287b748b691211b1046592d8c5a920f64d99b2f7ca175e0a37d3f64380ecfa91e1dfb3281df7608473e3bbf11c4f6be53e62cc3d3e289abb3bce06f732aa211a0cc04b6d7b812b7b940eb587a5e928d612dcb8656aa9714a98a22882af4bd2012ada6affa12a59afedb65dd2d4b78fa68c3d82f089e961daaba126931c00d3832fc31a958778bf0a13024e7b2e8c964ce43babb082151b0576eccecae11fd019b07d37de94fff9b95bda3104d005933b1aa7f82e549fb13dce8d16618ad14863f154764ed180408a544389db8932422da03435e1adef8fe570379e38e8b0f5091f05cbf892910a37b75801be66ceedef0d77ec040dd09a6fe661b50622e2a965efec2388b3cbe0ba5f04e3f4ceb5f97f9984d6f1dd999ab207c1cbd6e8aaf2291f160effab551415357a36f2ab599f97047c997a12923606a149e22b490f6190e0ff9320e4a36120e07be832c734c19f7d41f57537e688b4e8b4fe5db2bee66593dc54c932b8f76c6e3b67870336e1af6755ff69f0d9172210f6879e0be882e4439d3015778c1757237fa4a51f8afbdf8e35989f2a72bcc6dd7f1b417bf85800aa6cb4efce29d5838798efdd4b0f93304676fe6e0cdb4f924fc6803d04610c7a1f3f7b67ebc6fad5f212066dad24c93af526ac3fab8dd113d74c020b3fd8e93170d79fa3dc7e905ce7c996e7188fa50d66a5e11da4494b4739f3eb0e5cd9c8d268638c5cc35b9b7625fcbb4e1bf1ea9b8693d75f681f332fee87216eaf37c6893ff1850bac9899c2c4c309f4a6b8d2f1d53f608526f5c78e3359717322ab0e47bd145bb1b02e738af3d26df9b5b3c7055e5a114004e02cb8127d4772e73e7cdb2fea1da234573cc20bad62b37acece0d09f64a49f95883efe0456bd844b21c22c9730104556a2c9b2d49c1c04cf873048a5443f3edd3191f2cdaf059d8f1b49c19899292575a04b6666666d93ae013fe9845312073743da41fb2be0245ddabf97004a14dfd151320d70d495a3ea87f264cb8f53a34a6ce680fd69a761ad5b07a86f13ceccd91ba073fe79d96d11e261a461e4719e951b60d8de8288b54f9343eaa5da0c76e8c088238af19630e19abe14495cdfe32a09708985973cab8c137914fa29ca9cdcc7ee1a4c19f573e4a933cb5a2c76b742f288e6ef5d78abbc2bc68b638d195aefb0451227a604fc00dd2a4c93a27c93976c5d0b196705bb5525f56aada15b8220e2ed4e239d5d8b1f425ec1a5126897bb97310707bfe33493075f1013fc4fa66a01965d72e8cf81f3c79afc0bdef483e032f19cbee5e48ca28c90051343175aa2ffeac7e1ad1679918250e3f0a69e04c207c9555a25ad5f4c0bcb79d4c706d314b78b9b0c1190073102f14ab0b8f2f2acbdd92f552c5249bf580659808b15397cfae93e8ea849892b4d71efbe259180ac12cdd4c8f7559a405f39316aed4a4eebbb13b3e9eaa3e985c758a81faa686ca726d225624733e4a782d229814ec5e15feefc6bffb9ae9b6a37b9bb7659ef521c1506dc69eb5047dcbc21ab7ad5ca97e46518dd2b3f4733b172fd168ff126c7d8b72981099f5e2bfac2f0d938a550aedddb0c99704ff461aa8b04f229ac915f81f77e93e359f1c1bd43917eb60b97d81fba14d46d4d33c6f83280684eb5aaaf95b78652af45fb8bf416a7eb2be2a193a6f43d0f2489a6a14830521c1ac5c7e703ecfe56dbaf342f82d4739ccf5f05a149c8ae10254d6e8dabe4d9e2c46dc36fde906dfe1b20ee9ad97cc2e7e7e9dc598d65fee318dc8860eb6f35edc19592e6125d18d2289aeb4eae7ea6fb2e3ce586ce43bf204d336a4bdfde7d37fe8860aef3360cf6e84b263cfb0bbc17a90022b359491eaa1301ba35d9dd1c4d19d91145f966aa808f1bad91bcbcdfab22b752096f72c2939f7c3a21746266fa02ec627fd6c05efa2cbfbd3f78d3fc08d87fc161589c9c51ae08910c61624d80f3342d2f6478bde4c455406d1b1641912ab73d21bf09ca231e579f2daa04e9c4d8df18a0732427201948f0d776cd7b1f4ae75e0e04f9552b566a223be8a4b0459132530eaeccb0e0384574b5f743cde8731a8759e5ad625c3ce5d8bf068b7258330ab9877e0bc440e3472d62eb95c614d89650c46cfdb591b63927922d22affd5a73d00cce6b52b3f5bf5413563dae5998a5a9bb2e65404254b9d0c1add13089e2b34daef5a82af6fb22bb0a7dfe9de96cde465d49e17be9e93d696546312a2cad516f2cea7f866df88ac7484b487a0a8052d8a03feab0fa7abe6e69a1b17c3540f8efe8860d551d463c213dd54f8be726423e20edc5f132e5eb53a45be07b1bf29a75fb778aff5629e78cdba0791eaeb855c4ae71cd4fbf6f27e3b012aa0acd7dc37d6c96350aca749a750218e711aaf2ed42f8e052165b66b96342b53e68a01f37354b6cae149e1f91628d1e9cdd11b27323cf44ff74793acebf65af017a28a604f4ab8797ca4948c66ecb0c90150322c1b9353817bdb868719c208275352eb74b55b1a9b1806cf3df2e2176a81e946c3d6258e46d35650f73091f2d3ccccc97daaea54d8d7c6d5613733c415ac8968be021003d8998aa1bca338d93356838d89dd385ffc193f59a567330e25805afcf42c76b12e7ac394cf79da9f98c807f2f2ac8cac945dc7a9d4d6a444231c8358c7b37787404ef60463baf4550b4bfe5efb15ab2346fadaab180fd2b3a5e94b6f66ee1d1ca9fa6380136756b8bf0455fd2de1082f98b2997228d3bc3924e78fab51798b5cc8ed0941b295b55e252ce5746c51eef3b7ccc970fcea59f702e7d432e08ad64f74e52dcd7f3b423711686ed03d5482d7139fc51d1aa1b12b0646779b9bb100a6a19a7963106169d7a290783073325509e8f0ed91dda2d6b0cdb9d861a99042e2ed4c55e8350621a8ea32ce9f7e155e55c01f8320ec402e3bed033a53753f06b31df4a2f1886c706decac3f91653851cf7d209278cba33b9058375abe59356ee97fe900c0125ce691fb1a1a32b9ccfa439245c0070a16b65b6dd94235ef0698ed6adfc943726ff2b4bb008cd941f07403326a2681cb085b54eb1ab38c5e52caa9da0e64aabf41f6574e124e77665b3eec00e1a38bfe7e1119140625dd4b042e37948f9256fc2b1e910b9ba7e9e83c13211dabe03eb1dd8f037cd64d01ccf2fa95620a4a467946caa7ad4e4142a868f395bd1e4594e3c141b4439fd62a3b4733f966e4ca7307dd6f585515b22227e7c793d1beb43ec708dcec7c845a673b587ccbbc3d1b64e751f3c8b95983b5914148ad12c1b7d95cd674e149d5390549b8ea69ef4790545650453af81cccf1b9a1901be5371d0d026d8f0b250c650c4fd575704c90e15554cc655fee144bc518671bb9302fbfc25b28b385331561bfd5eb5fefbd501afe4b7e7c2f1661b5fd94e4aa9936543643321cf88070e61f53c62f6f5803a35a80579f89e31c0bd1fee1361c317cfc684a035abb85ae0f94b0b124752869c103c0b640fdadac01a7b6d549d15ce894a901071df780571b3c0f184afc17505b7b15f74a803803a190101213346d2e8322b48890f5aa3c18d1960db082f7075e05ddc3a2088ad3264943d502f54fc6c68f229f173dcb7ad534789b68a2dd5ad6099a45d619b09ecdddff4ca9b05a193360efcc43633a708115975917e47bac423c20373418cd3cdec8181025f33defc38fa33d295c1a0c376e9cd067c981b77f9cadb25ddba78827221a7b502ccf9e72007df3cfe97cd21917f885c3bd1b11b7bec93ff90906851fcb6fade32b96aa61e47e8083d4c01cd0d903f4c07a2c77d3cfde32a7e05e024b4973e47f39687bc5aed69662e51b7683478bbaafa337a0b7370e4e756ba58fd0c5f15ddc47cf5b9548edf9ac32235bec14e97e786e062f8f0469d3554b6943084f85600f471ad837d573998afca01ee493c31c798d2e1508719080833d51022e8114985558dbb495c756a09e6bc4eabc65f51684202a6450f3551d3fac858ae158ccfd4005dafd5d12b6e20552528f5521f5e4da3c4cc8d5a99a5e55530ad207d5169a2218bc2d74f6a1ad5ff9e63594279b186725197108b1a61f2fbfe654c20dde0df2a79e2d914dc1f0029c10911467a7fff2ab0572880587f0f0a48ba4927a961d0b1a059b8d2ec7cefcafee6773f9f2eef7542776d00ae8973b32e430cc82b42ad542a089d54b46a2f653e3b988e738b259da87a45b635614e060e90427aeb79b291bd3e67a277e1b762363a0ab3bf3c471f42c6368e46a4e2a39c6d10006da29f88b4e0d17f5c18b10602db257184ae2b820433b79b344d0ec0f15bea85ce5cc22afa9d853fa9302edeb67524c7a5c7f433dc165b29965315ee411d17c1019d5c73125698742e36afd2b0699f633a06927e0f02d45c65a193f75fb4592276ccd53efb4292b7585639dad7168499ff5311848d00b9ad7c594ee53fb1151671310d9c4de64793cf9f0a2f6b4185616811cb101f66bad83f1a2ceae1b1fe1a3a068950f75244382cb1175b12b7b9f023980f7a701ecb14b2ab4aecd1dc1c5b44d417f1fc3b27b6b03132d4f537e59989ea7c52ed999fea6a91df15db45325d89018b748c4be6b6e26b9fda5cc69db64d00b2d0ea0042d2ee823fc883f57c98ee5763750f665a9a150e05adc628797cee0db0962e22c9a17dfa8655a9394bd0513ea716244252f348288bb46d03a3ba39f9e3d50d717b9ac4ccd198831385a4ac1be10914bde82d01a71cd32eaf4f49b98a86f4f0406348fe214000093e8dd4b79fb5d01b472d99d4ae889b1e75675f1437df2a6cb5127d5ea0e35b90a7d4c6815de68ac55b6064051a85f0c6c4d2f8902eed22426d7b0e0747cce1ab55d5aaf7f4202513d0b55200d9a560c26be1ea70e308f5bc9b0003615207e41eaf10faa462cd9940b91051f1f5e13d3c077bd32c69cb6bbe18792001a86b552f742e5554f2dbbbdc94b6ce3626d9e6d3de8f92c106cf3345e60b8e12084f4c0d716e1d9da20d5bed681208685e96eaacf848e770ea2f107058ec40ad775e147b32f6effd09091e0339ad1da8fa0350fd3183c84dee653f1ab0c2c88b0b2459c69bee4a7a3ac0d045bb4020c23c126264dacccbf2572f987805c30099fcc2d80539c5f3927166dacead02dd6b138333682cd41412f340c8ca78dc394fda57f3100c6c9685128d29ad0155d3156920f9d878eb1331bfb8d0040dbde7f8eb6c372b6be8837884339cceabaadd96657975d001d5e0eb15da81320db7a7325103d902b7c051472dcd58bff50b99bd26d6edaac11cae21dd04257dd0a0f17ed74ef0ccc78c71f9e6407f1908810c004fb4fafa316faff2bb5cba78184f6a320ab1d7dc3096e86971bc127c75876ef331c180fb11f8f333cc02a80be31ca10c43bb7fabdc06c776acad925b401c02e5e9cfe3abbcf9fd9a445ed59b96a791617f7d9297592702110f0df0cdf473f1b984b3749aa089a7c7e187938e1c153ea72f39afce237e9a96059af4a664d7e056306c434b94beb6939a4f41cea13efdbd412f3141a11c3973715f681eb07909c64d0a469581ffc0bb780db1260ec37cf9c9f30c1010acd56fd32a077547d97037bb114fc17e6bf498299376cf384d2bccc2e07f6d15037c9aea4646c10fdf7f5f9907dd9fc2d1fd3e2664e06a30b70f137c124897d5d0c238901c977008d930452bb57e511ebd68918a3ec8a167aca866485c7ac80bf5c8a9be7f8ed4adafd1078824d50f8ba3ba7648c1896ccfc4d87d11c871b02fc8a39a634682d2eefea2a487d923bcdbfa99cef831a41245b8b68a2fd91f208bf55dfa62f7208ac729017e695b4f7ebdbcdd91a62dfe131a58f5093d3a7f91cddcdfc51ac68a8f3b26dd7f757bac7c8aba5c0763b6e1593001043dfc2e734f9640b7bc3de613241cbde67897c20fbf0ea13267e2af68395c574fafa415819257826446a0cb3cf4229f037efc4a74bc6aa83c87b35cac42a5969bb2ba2c8634831b4fa4e82640d4f39fcb5db29f3d68ab953a29c07ae4df7dd17f89c232a2f4d45174d2c513716a515b4a17c909ee1094bab520ef380924915fc24257270564c746990b6fc813b5f0d90fb9366d468c12184706a54dd9e32158bf58d98205a1cff949bb2660527dcf846153355659fe635c8c581b9d644a59f60c7594b43649130f147c75f03d196fd660dde081a5703f91d68b7b6911e387161a2d9d554cf0c53f777c9e756a174c7c4617c15d0388d36b7c741d429988b6e42cbcfaae7abe65a039e61fac058793f86a7cfdbc2a58fa67e5819f5dcbd33ed3e18550e384b414a273874db113739f803b3d54e1c93ea75ef8e9422be2b08b02f35329aa6be9329a415a24d3b02bdcc925bdc0757bbcc0f9a0ea9a5a652540d5de8fe5189afc6c800f6c6e3ca0ff835bdd51ee376a5d2c7e4b45866d4a0bb45b1307c332fc417586a081af268d6cdaefa5c708c02b9d9fc7e59b7254492f0012da9159f16f99da49f21ae2cba166a35c79318889bc9fc2b72aa94a6e7a6cf8661e7bf44eefaf7e3c23a5174b29507c8de214abc1b9f99502c64ffea0b9765e2a930b2e91e25b3de847d3dda2da593429f2b71ae6bff250330998b001bf71ecffba163bc95bfc688a5073b083eda0a0e5bf48cd1e76a3b094b4760ed9977b8b80bd5361d6b2b171714ec243acbae2617d590471296ad09ed2977f48fdb47ff8b82ce4f4a1ac0904500d1c7d13b8aa8bc021cdbe08f05460dfa17ffb89d7b95b633d43ccdd0af7ad17d0f517e030f04c0b97232fab89eee33056f9470b20d4a9ec4a9f4c74b9760f85b325976db1cca165a30f7d7241f5f5ddc4c419baa280665c3863f8d549dd36def415d0f90a536a3ea94a55044cfac70748e941d55e590f57465fc6024407228456a6ace9430596ff1cf24c785d99d469df49c127dc7c64914b13756f12157c6c13547e42b6068f7c12a95bd808cf7b0aa516c40d05b9480021c6fd4856eac6f4bedfed7d638e211ef120c28ed9285674b46528339cb4a7c5a136d0bd4d4bee9153650bb9a61c431ac058fda2fac5447ba94b5d3259ceadd2264af443bd53e1c514e1e20467e467ddba3ee1d43540e8f6a3cd6ed2690947cf7cade0d2a15169c79b7bb061120cc693129c9f43c5b46e91451883aec3874e7f88f3e431cd9174cee1a75f47b12ae77be0f789c5d7320243684688235f3684253b6ca3768ecef9bd1ab9bda5b5ab467bd7f8962a8914f52c9a886a07d7a53242b4297b28eb9b138b2e99610a6b0e3a21f6bbb95238ad80ba0bdd82818f7f5f99713135cc7223fad1b228fe8410f7652ab16beb312984ea23578cce5b709a8a46dce43ca508269d88d27b5b0a2ee33edd17e03c4410d329eaef08b32140c84d808c20ce109ca471bbfe3e0fc1b6267ad02dfcb31cd0339692dd4cbb622be041d4cec453a634bb487685c1608e41e672bd686deb9347e50d1f1cb98e9a0e83efa12a22c57db60c6019fc99ad5a4fd396f2394e26681469cc0cd9e6bed624c4364ab85deef79bb34268bef649a3d9b8bbbb234a2d17c25649f54f65453c5b26737571f64c994e54bc68c3f8d26e359a1922e368ff367f5c51b189bcb67682ef4f8a240079326c6686b7b8511e6d92772c3e9aa4a3002e03e1ac83e7398813281fedc9ee3e3060ce5445b4618e428305f42e6c18fbf76e1987b2411b17fec2b865e2ab2750de5dc4d1259daf0178490e1a817dc2eb8f8b6b50e2145a679ac1badeced8da03a39a799de65c91ca7b49114f3d9c7660692967ec283bd1ab0a8e4ec960c4c334ebfc5498d124f2eb74c0bf1d7640e67be18abb621dedc45939d806d678852dff8581636d29975899227ac87b84d1e31bf2c2b4698ac5d72a974587ec8fa4d21a524364dec6cf94ead3a906988320eb701779fd1dee26db6b26c4ea758eb72351d096892f55b95b51a280587f75bd00f4742e0c9714f9412594292820e66656ecacd539411f1b99659e515b714bef12506e816de1a73c4289c7a19c9cb666e2de6b3bcb2c7766ada2453b43bb8f95b6a434db6483fa24161cae0dcfdb2ff755f9ed28bdeb24f68e3d34e7e0854d54feee52f22a248dd524b7abc1ae0f8869c120def8fcc22b068116e490e927ea78c7e53177b2db0c367642bf82085fc9181008abbfd714182db91654fa5e328e58441357cb0e16c99e3a396165bf285fbc90aeae0d3e84d39b3aae850b1e27f73a26abffeb71c6fb820dc07edbc53ceaccf73f2d1d1f98ed0c9808627fcfdf0918788631fcb5b7df947749374f16faa803b28a14d4307b38ed31e9ffa0f28bfa4909d9c180180e8816dc4b36429cef5ad292e3219d3ba25b6b98cc05f11a20ce616e929a977b4f0faded5f28dc907b4642bd62612424dea298dbdbb3288e7f3f612a19e6ebfce0d20c6dd157a6bfc41a7a7c9480251f3734c3d9506f32479060c5d548c864cd476c95ae5b0be25a3177450cc763c93d38501edbecf19824bd15eccd8f7966dd4a5740d30542114b4e0da5d406f6438480d6baed90a02e98cf13f872c4b1bd9877aea22f4cb3a219bb98811927f9ce020ec648ea327b2442b2c0b1c2386b0b8efd77760c7667df1ae6f9c77c70d6e51a2691b922049d1f2e3bfa824fe67be6c7b3bce510dc4cd5055c003f7d2a9335228690827d337eb4957fa6305054e1bd19a7910fe659139ecef07f7c19cc57677755aee1a0b4b8a9b4554cd9b7bdf55a68d3226fa5c39e185e2e44f9da29445ea23bea6703df3dbb966a50ab9bdd706900ef822a6206f654a2f7ecd9d257086b0fe6efbbc2d3f58a6eeb1aa48a57eb26d396c5e4cce9adc8803b2ec4751191c83ca3f99722f594bdff355b5d429e465eacf73eeeace9f500fb41667ee050eb308ff0666f4b7ef68a6aefae79a6fa5cbaf08202a813fa7ad9bab569d8e2c48cc5a8a9bee92f28e0e9d2a4880295cf730b321a5c0a0025cb75a386c1b1cc9efd952d0140212a0c6ad26a20d9631f21e4bf58ac4d2a2cf3c07583cd2d32bcd237c9ab517d5821516adad5f2506f3ee0a95c0fec34732eb7bac16d2b2d0f88501f1511aa875a7dfd63cfd51be7d1d6a89e94a8ea4a5f3017cd0a334cbd842f691f8152abfd61db9b1e07248a87d3c1ab556c260de38ab5cc8927cb872cc838104a31b3a49bd4b13f2547d64b60f9bf2ea074fb2f923b0181e5c8d7686ebd3f77f20a012f9f1189a70321339fac78ec05c17f687c6c20ce9d808dff04b3f4b4b0e3ac3e91d5f317fec3196e58252430c386ff0f16c27ced0e61c686b53b41be3b9b4e3c9dbaad0c416b413825f36cdef06f17973a08f895c613b3491587a463218e041a686fd8789eba8cf8edfff2042ec60fa24f8b179c03f662767c848e5e556208d401daa1235d953ecb8f270b6c4dabdc5600ec2a59c96fd5c02cf90c745d36dda19ae657e936abfff4356396f7f9b9dbddc6f308568a7b2dbda7339f1251be65c2161c158035e244be55d1932dc25772cd894ae3de7898661101b94e05d696e46b3be0111c509b71d454f8698216f37d822b00af20c444c0ef2f7603701ec3246e65b75e41edb9076596c671dff5a392784a2f853a794ed62806f079cf7da36482e422397caab48744b79edf0d0335956ac82b6fe5659b1ef2c5b19b98e013e044a23834c39f32c0293626cd7d01fd485e56c0af81b55980984780e70848352540078a405090e2493576874d8c3aa5b1f92cceebe74269b4362695cbed8ebe75eaabd46567fd409fa5fa707a6878a124524c26591ae9afd7fbfb3fc2d3be4d733fffe7d8f920c01da8251bc78c68b82908534737fc880b7695be503e278a88669dadf691087ce1ffc7452859d257d8686a8f5b5dc4f3225f3db7aa21b86f81849cb06439929dd2d49aface6438b0d4f772e14776b3c2b75f6578de585445c002a8a6a19deb98ea5d8726ae35dd9a6c193e1ed20f4ba28c619a89eaa7c247bf25d2147f5524b631404ed1881e53203b8db2e95be480ce2e110849d03004ad17206d61bdd4dc3c014bbe018a079fc6a2a02ddbd9feb359eaeb80479361b72f27b9b8f4d937983570d5c3d5e85479bcc2cc96fd836e5086dcadb66abf8a3bc02c46b136d7b6ef6107189d44896fa23ca669ddfbe597d06c4be4e86ffbb6daca329e86a0a0ba50be269ff59bdbaac0c5aa74956486f23f50c5f751658b2ccf303fd9ed8eca1cff9891c9ca3f6324d22722db48f8c70840311fa03ecb5e0391a6f5ff38048b72404da2ec0a42464020aae85598df1082b4f1defebf8e5c2e6b7ec2674b0241b8e19b040d7d15d178b96cdb931abe0b2cba7c593ddcacc2454c7f9d7a53eafd3bc24a7aed343a242f6580f21dfab646a5b978b8fb437a6942a211a4b2419548ad2862af0d121fc099298bc7025dccde364517340d16d7b993bc5754f829e81e95f38c84b2f13deb29c6f6e550d64fe99fcd0ad1cbac97ef8fbcbd5e530d942ef2f9d53442605c749614d3f2c61cc09a0ba09fd7220b0737e08eba3dacb716feb0e37a99d31d4072ea296b280bda4ac31b3a31feb682745935331c3e28dac468ce76e63cf57a21dee46896091c149cf77f4736f0f583d919d9d6e0dec3189d5d866afcb9106506e40bb924e05c859712c642c256689cc690d3c723fc88982deef39af7455b22c4938fbee5a2927a963295e81053a12bfed160d70eb7d97988e5e7af68aedbc20581bc3c28406b623b357218ec6d57d041dc7b8380e78268796e274c350063402cfab0c8911fad8a57c3a57c39b45283c4e0bf4bc12b148f7fa89d5466696c68b431b5b9df3639156217d424151c88d19c467ab811320d3dccf04c0b1a6c01ff98656c3f766f514d12031d19d4b6d24bb26e50ac16f4416e12c69762ffd430b2d07b548db2af26f13090a15f4426b87c12f890ec14a3051151cb59d7a9784287d657febadc1c097339e5b50371bb96ea40efec343b34040d25a660d20ae5aa92f2e2837509d147a8372ceab58bf21978c51b6038ec44090152416ef5844bdce6a447c70e9ae789bd5812f21f80ddb137057589cc007d94c1b0158729eded249e81100991f305d25d58e87b4faea4ee1aa2c99ab79e876f0aa5000276be8a95d9c91b8227188106729a2b2e0871e6e703a9e5d2db438fd0b8025bca09492bc6f9eb2de37e8a3a3d1413aeb1df8091c9d93dd84947bcb6a3f5a88e4087a419337019c54c592b255e8f7847608666d89dc6feaf2169edc3586ab267eac71e43d7f441ce0ebc20ff7721a2aad62fc13bce887004c3538eda973ac17e82c59915cab5527b2078c37371c152100139eecc657a8886ac287db56ac6fcfc5b7fff4a42bebbd395e133acd29224f0b36ab599fb13533f13dd353df6c5944ac514290a8431dd206956b59e3afbb8b684033eae512eeb8c0cd3594eceb010c660a1c7c6745fc211d7e5aa78ffecc6a12954f0c7ccabd44f813eab981b2de350c9078be87657d5eaa2e8600cc1b9c4440576cd1274c9f45132a479648e950b4374fc67cd9606fa6d0188fabd63a3f033eb1a42adbac70ab49ab859c4cd7fe4d650efffa9e50c843155f983c4a011ed4aaa2037d7cfac72cab5986d73eb84a9d8627603a986a6a9383085f6b0a504242a123e3abd7078935ffefe6e89fcc29a75b114787bfd34983305e83531d4ddc4cbfb7b7ccf8b435ec5e22c684a14a43d689a1a98941ee07b89d50e5b83f100ce9cb559dc8133442602dd32479c50a952f681e82f3ab26d2db3fbb8165e74aa15b38425391767c2e6526fedd438fa864dc2b6fbe251c97b18fbba3d10c37b561606291398e38091252d2baec4cfac672348784e40622d86492893680481cac07f7798abf0763cb22f5f67661102f6ed530982d666573765facdc533865f057b317fc51700ef43c51e57aa0f80750745d8ba65a1ddf321b2ad8318489ac5787cd1aad1cf56fe14d26258deabd3f9990252dd7879370ff9f91473707808b371bf76018ea6e074af5c2885a39d1ab072757565452b3a63d59ad65202a17ba73e2611269c55de7e165cae88b92663af7348bc1c40f157aad265b9d242dd64b17425f0a9df6928301eba1690eb93885da8dfcd7c2f1520d81c16aa7f67952b52cecb13dcb67f74eeb59a1d2df0c5f9a5f9e62d301d05a6fb6173da7aeb96e8c21de6204287b983f06c56a3d4e4fc8dce53040a5323310a86fa8274c8c4437d31549d18567c2f640bc5d89140a01250ce0979b0dd5c82631969d80106cb92593890ebf37fdbf150710baaec6829bfc7d9e50ea017078b871f290229fb832870dcbe0d9bd2298eeddad0779c3f1511ecadc3a5a98f0c0533788ae25adc32bacf089e943be17c657e19bf981405a668c639ebd19550ec44262115f13e55f38674a4c5d2b316173efeca7dc000de08196fd1df10501c1d453d7017c2ef9e2af69d997f3e7e92efeaba50cd4a931b555839fd1e51bc2da7857e7fca73363eaa6d7ca16212e469fb01d1ecfdd55db82ff27e8792950525596fdcfde7aeb24b250cb0b5b169c7f06dedff07bf4dd5eba2c62ae7c751aee0733db8f2e0db98cbe1328fd65fe9544d46ba84e829b664fd2172513cfd477a91b396b77f7d22b2d38460851a8fc1f8f045051da6c998aaa62e90ae3cd966005c2f2d7319ad0d9e26a81d889c44cafa470d40e1055ba595b28c3eaa0ea07c320026d29ff5b36be3bcbe63efa887719de1ffeed5a4bacdcd7091a392ac942c0bf17890dcb52eca8fc79ab5cc9ee333a6d64d89d0de5652151528957465c4b08d98d66c60871b8da9569823d9ce8989d41ca560e61de6a24ae2a3a9b7db9e79ff38095d017afb96e6c862e86083594bd97992db465c7cc22d532415087fbd7b95fcd9313e085ac0dfb6bc87062a503ee21930dd889e2ec76df7567bb95fcf98ac6fbfa1f79696e8295409c9008bf39ba735bec6bf037a788d7c0ecb18e06544b8a979eb5d3ec8123fb8c83c2aafed72f80e822c0e5383484eb36c6ba1b4f0d9b81d17c0038c220642e351fa602d88d202cb95a6729b8cbf708da56c7aa0c384b8b9f5f49650bf5c77a5a2c0a8541bc13ec6a3f246bd02ff55eca3dcdb15ef15d7cd4e1c1cdc18bbee76cdd383cf8aa2ef3718040e77d88c0cffc04c3c596c1febc1503dfb0f394f18f5389102a684284914f15cbf006069f0d24248d15038a5eacbf1a8a5d411b018b63927dd785c4824cd9dff79a811b4bd2e3ba53eca3e93183e601123d216c0e96a3f722b3278806b74c434cec4763cc6a2470192a96951d165455aefe5e44b392df1e59684ac8f49000d32259502ecf5e01e3b94540e221a96a5c840834f08f3547dc8feae074944ca33699bffadf64e74990463e47df9cbda6cad4726593fab92a6f59d8ee7cbd92c943000d23630a5cbdf0bc77d0d06c76294de6586c3c1d9c253996c8f7dedafc31128a5eb7df424feb9c6836ba33aeb59253ca043163ba94756ebc4dc2f9273b9ec60cd37eec9d6e0c59aa9e3c302cc82c50e990ecc0ad2982a0a488be4664ad560ef4098146bfc9a8fecb4c6e2e6f9791bd4b3118be83f81539e8ac224553b4bebe442cdb60bb8e8c85708d1d3aaf17cd5fd4394202931987ecc94cdbb8eae101f97626959cfdd92592e0043ae37f5075b6357a1e232558e3fab48710f992fa66d8a0fec3680c915e2228e37ee4791ab82b943062c2ce2453def79d6fb06d6accc45b9e3c18265d06175ddbf90faa472a5296e033782cb1c3e8787e1ca2ef0aaaa5bbd504581b27e63beed4e86d35ff735482ca841c0cc7d86173ba6ef9ca17ba59c04c64d85242c2e94637604439a843dfa4ffb49042b3b121146efdf832569a22f48e6be036a65e44df5fbfc55afe99c7bea40f6818a1ed700629ec87b6fc421ca72fcec882c0f03442a98333cd1c267a13545f8f5f3f7911966cf240cb8f484b4ea2a62ca0b8d2af9e20761de317c3cf0a9850951fc09609cb72dd22ad10a1248bd5ab029cc7cbf8c6ea6c84a17b3e5961ae4eee5839905835e9eeebcc337b2564693cd669e6b735a879f5cc43fe00602cc440f36bbcc8dc70a02afe8d93fe5ca0c7cbccb4cc367b5ca276fde1a68d8f1f7b4e5f71279be9f50e37a27982c19f33199c221416600c061b569aedade317675e20f6edbbc103a6ae00ea732dafdb9a03645dbc9cd8714948b816a3dcf0220cc41fcc796cd76a9099600a2ea3085193d202d50d21e073cd4d7a27b213dd4c3774ea9cc1cac3b0b7e3180663ab7d43c69ae180d0a6357b6c7cf90006dc5e2d039fc6b248b4473b635bb44099d3ae4ae61568e1f94c7f2441a9b318493c0fd5ad4fcf0ec7ae611db3848e684153854cd3e5d5910123059cddfe2c7d488a0e13dfcad751e49ae31c2ca2abbb79196916004ced648633d6871ee6994808ca9fe088f9a4a05d819bbc074126c2915807a1c2a09ecf7aaaebfff4014e34b2ccc936869a3fbeac3349a4705d745a8702831a7e0de42756a85d098459f6f4735ab712f20d084572e49c7da31707e53ed4fb289c10b397985acaa0bec9a7bb203863e14abe7eb8d9fc0e2016cb1ed142e17fb393474713ef0abc7594aec7dca07dd66a5194e4c7154fc7779647fad3a5dbab8b7ec11c95592af1a9c8af0f1b913883564cb91a0411284cf679d6a9dac5caeee7a69c54c43cdad06e5312b73a26561e0857ed4234d208863b1d9222f27d81b97d29c1769499bf061f37ba696d2698d75123a5b7f805b60bb920dff3fc92545268b4ca478347c7898276f941876e2a3f9aaf7c1d95ba42b9aabe6f74a8eb7d8df0738d4200a46e767c7c4b4f60c79bedd7b468848e95c7618a3b2a0079f6c8aca1d9b66c230d7e4c68c0275e52013a07a4e054958d6ef185875f43abddb6a2add63f6aaeb2feceaca53fb7bab1cb1d88a65cd98265d07c3d777fd7214775026a2adff26e6e0218cb21d8269bd444678ae6326fe131d5c238d22abb08be2662696433f09a684ad83375d7b52538e633cef87904db66dd8801be3d11dbf6af29b11980964732346e7763de60bd462fc9793eec33f4bd0b9374466763a3d4344e454d3c76442f8fd47f051a1931758c4a4cd8a336fdfe19910179288d0b7953fd27d490f36df833d9d332a8a4cc55bff4341071376c6bec69e85080cdae1c24e3dc6ef698df026aa3031df93260d49638279f6f4570c6a4d6081b197f1316cd4634d518ccaaf2c798efaf18eaed4161100c61b4786f8b6b3a8ea70f5601d3ac1c2d54511dbc828873b67b3e3f58390547e068c10f6cbc5b18e89a9040d2cbe1bab7d6da079ae570d309bce55a7e85c6002e85240ffa0c16d9fad05b97d27fec5f514796189dc303d4e11120619805084d6bc68a2e0dbeb89ed1a39c97c995a01100c8c4c9d1df1d2c87568da583c16f20f87727c44697581a0e5d8521d09a7cbca9972799dc0e0111d6066e2cc8f5b7caa8c7145f2c84cd616f08c535cf5fe567ce602263529759488b0c5bac5c37ad5ae8d64aa7af1193afb899429944f4188c2d9669f05a7c552636fa71ad5ce9686097ffa4325487ead6d796265528b674f7b5a08cfd18ae47b549ea34d560948cebd039517b330ffda0d00a4950bfdb2fac25b65feb9040cd56e3b9f4cad7c2c8832efc97969bfa2b2891e228f1ee21820828bcca738eee918df9a1cbad25930b24c01cb2c61e7d55bc6fd33eb36ee4b0067605b0387df8a52995e9ffea4e1fa24e9bd94b46c53b07df6cfc18aff5f3edf7004edd7a5402c48ab6a4e5b39699321913e31d28226aef26fcdeee03f21e9f62215f4dda47e4908a3d8528e2adbcf6d70cd7a90a6d40c5d3d89fd85050e90c9027bde13285f89e10f2a244f55ccf87305d3afd3460b8cfe8574b8c368727d81c185319ded2c97a40b8c2963299b3261860012866b22261570d8ba443f4bcff69826c9fc6b0dc628e66b492d2cc006befcf2579734b1b71ca7eec7f2a0840581628234f79c8b464cd8d4c44cf9b9ef99ff5b586845e7d889ce34c5f6c8b9d90c045050c989396eee5926aa5bb632b714327ab3ca499435a3f433fc37d36c841b374ee4d3b43b7cc33a2609871c298b2785f970c6575f16c6053c97374171107426d6cc068075b77d346464235c7c14841a08eb15fd6be169f55f4df1154ef8996e94509b786f1b95f1a1307ae8653a652d0a1913cb0cbf5f4f0cfeb5502e7175dd4e53d1ce0955679b98590b9adfe02e9746be72d8a0074a8ee21283219c3482411da8dd6d3de2cdda05ed62fbc976d094e26b7b36305b213bd9c4885ed800144e545b342ec8f7c8a3d94df46c04e77ba3d4408fbcfd20a65298510dd6f37e30188a2b527df09adc7b34436048d31d5843c3adc74008c75e58c66d28355a93871260b4c4661c22d3ae6b8bdf1402969eb87391453f8db62061745e2412c9f778b11ed11112414af73a7e10463f7bfa83d43a257d27131cb819d436d092cc2ed1da26a99bc38e73ff447fdd0784e5935936962cd583b3e193ea1431fda8cb6f94cfcc48fd9ab1f42467d53f57ee61b55f1618c098b0990787a60d14de7f0ac9bb07fba3d012c445e601c0f376a05f9b3aa89e654c48f0caa676e548112d2de80ac851e686bd8d623a0ec12d3d00428dd7db88ddc06e8eab6af0065753cf15baa88c4959d21705b3ae706028f568ab437d1f4f47cc2748027105e7364f92b92da09abb2c720d2733c1f2799556a62651f41e17d81d6de6006cca26117e0cdb5df1bded14551924da2514021d2055f9b29f5ffbe5acffd50757e3ff0e3dbd32ae4e1aa54d8b7291c69dcb0056578028f0723bd4f19cc21127e11f16d051148268dd9635b72c6f5dec1588c3e8a3d647052fc7a0184eb5d3f8db5745c1ac660ac8284482e14daa45efb22f271251c8468b1eaf6ccd9760cb471de97536be27c64f7ef5abc0adc9ce90dbb791be8bd9ea693572271810f9a9bf944d530a14350a98201874f2e0574e3ed177f71a765b0080d0cb27cb3a84a34928a99dc10ce339d0c133cbd99a712ef171bc220d49849b84e2b7269e7661fcddbdd67762f4d0477f76766402b6f195ffd552269b4b082624abac4a35038a99d2492a8a0d2d6fe9b43721b315ea3a7dbfe2a7b94cd28da6234ad8f8209c8154d0f8768f48691ddfc5fe3f8ec2f891943765242fa0d7b64d3351b667b5ce6ebd313da02d9308a4e802c442770d0c212bf1193920310c150b85af0ebd1a32885f181253a27161b27777169b0f9659680fb7dafa887d0f97593dacbc717fd55bff5e1fccc4a265eacf116ebd3e38ab70cc7ae1d1f4e08968b0a9d1cab17d9e3a12b1a7928aaa43682f9b6fd79ccf98c3f757641d7fa5c7392bb2f4d69a38c01ae8f2e53a9645801c2d7e1706b722eae896f10556f26396b07c77d9e2cec47fecbe8c3b33db3971ab0be93703af9bb17e37edbe5e5f2f2968fb2e1ba0da545b6ada544b0f1d324bf807f0fb244e27bea418ba5c226edf6674264212141a6137dcbc9a9d4a026e09cdf9bfdfec7d34da18e9714a46494631a2b8bcbe2b8245f06bdca7446bd7e79d36ba7cb2a8a0b340ec0ca69611f733786e590af4c3fd683ad80ed93b15d0ce137cb839155d587391cb9eb57f26db85c66bb8a6ef9b8426dd6eb45eea36fccc504c3cb232e0114c33a8f6bd85adc1a29656a60096dfea08d8c55cf4ca2113de1640edbc657bb874c00745729dfda4e013c56bace45c5e046db52a14bf3039d597661c0a61c4e452c280acb0865d94e756814d6d10f8bbf6a351132c42a0890ed88dde4b2f9f7e317bae665e95af6c227cdd40b1d1180131727b620381fdb42e3045618cea99d2fd360f2b9e978a7c7f973759e341159554e8e1846e5f2761bb1e8783ab2f6bf836f7572867fbb7d13a7bba2a6bb4bf8237663222d8a06ac0a3d844a842907851af37c93463e4ff1aa7e2db1edb7ff8921007e4e3e48dd8061b0c77883aed54e5f0ca26b0d1459f4fa5533b7a6a4b30837131d7a1d3bddb7e5b29c01f7e26d248a99c2cf9172053671ac277329ddec3e93f5eeafacd37a80bf5d4d563dd9432560e5e8d60030cb4ddc05d4ff63f6ae095d0049e1b1ca0a0202eecdc8b896c4265bf37038982ccebc6153661070b44054be64c5e19d5999df496cde618d4ed927589c41a5e4c45f22e3e1ad75e925368365ac1f4f369cba8f8220dac2f1b26deb0cb0daf7325e97294a831da607a46ad5f52ebf6d90c567447cbdca1e54ce96ee3c6571c21156c64d29704c6a9f244aba700ad7c9a25d2acf9392672fe095feff20d7a33cbf25222669b376558cd159066392cc1eaeb0db9c2a9bb34b412cbd48186e7f7dff0ce654ffdfd56ab9849e92c073a118ee399db5a878ce44f96e78f96b39fbb56adb87018f9df62d32395a241df6eaf465ab951db27d784ce4d4d9b0ef09385c3eb7658b44036b1f76c8743fa0bbd5c9d3f3ca62fa005a37528c4898cf5cb4c36744dbe714cc0a61aa3be761a724707b5c21be031639d2bd1969ced7a2fd67a9bf51638f6a053d2c2ce89c6707c5d9a6413f1fc51e55a9a213a7cc95c09f77662ea260f040eeb1b02351be906133e4dacd23f2e53eb0df26a207e8ee91084f8bcd8dfd07e8c81341a95afa4998f61f6f2fc735f05d19b117b1cb2765ad19ece5e59348c63f6cccadf125276d976da70382e6da54c3300f29382d5dca8402033ced0ec770938294b56f6fd420fa75a0a9909b2c5cf3e1aff0298956370ad9ad87f08f5dd7d9cddef60b1ac361cdf54a6042ac8106820b4128f36fd52a916eb12e8013cd8c6bce24416681ecd47d48dc9de644fa0a1400a2668ee48330d2e6971e53196b2a23c3ea47867f7af16d85d0ff926a606c217d2f70cbc349192358385c149a6d2a745c05549c411bcd061dabb752a51cfb97e11e90b6788d44f35e254d250c058ca5827a420b244aede385de1ef8dddf30cefdc16b6bfeb7c84ea4e2591f8d5f662aaf0f12ae7d80502aa14624a6358f6311f9dc2f09d74ebb2be6411eb91077a576705803a7b9f28ec94a6d18bb0eeeb221256502b9df22d862a706e05c1b3b8f347c0e901cd699008d22c6d7da8dd752f0b14bc8739b28df7b30fd7a7d8cfb6a4ad38c13287dc1148ee95a084e05a7863da652105ba6070a079a6260b1e337d949d09b43bee7a95ac3c45e4c9fe13a45819162fc77185dcc901c68d17363a3866975bcd266dc01e66ffa79f945514d997d82ea8c19e1e1ad42f74b1496d51b4ef40d97d111a2f7777be86a6c552323112e0e2e4fd98a91f5599380027cb8a4b8b8df750268d67b92daf1b92ca96744432859eca6d24de757ce4c89f8a712d620e84ba7605ba2c075fb80e1ff4be79cb44e1c2d9a8beda80f61a6962ba584f4e029e61316b72c545c3cad23df00312d95bfb0f8f84aac1a20bfd00ac770dcaf554118ebb7cc2d1188111f31f2f7cb8ae08e4f2200b70e7b1a9381a268a82cacced61b841e72b3ebc43777bcee0da1df5c5240cc56905ca2461a72c02e79c1c93d7779cc5c5ab86420f61410ca71865f430d3ab142f3dbeaa238be3d26794f5846a5c7f56579c06ddc9c4aa3146bf9a32092c9ef7f64ea241d814743e126af953c0c52e0125b8e901ed4ca4b2576cd544367776618a63f8959b7322160a40d671b9d122a261660e83d0633ca1f52b4d70f1bcb681972fb466d9c102485b94005f40da9e683589d693c814b39cc091d10f49ee3272efcf271d3966804de4e11ace90cdbfe1f913b4285ed6952fd8c045d3f961ea6a45983a60b1eb6d134d7c5b0fff3c81e81b04a64fbc62f1ab5c75ebec35955a983daae78ebd371535736b1e0d9248b494dcb7f8a093ffea535c29864cf341b1796bee13bbffac3a2d5d4c3e393528e4e5722290155afdf77483ecac7719e71c0cbba3b33111ce66ee11778eaa3a5b037b27166ed4a26bed22453ae2172da0363110bfe8cd74ea742b1dbc0721058834844e0d7203d2683eb82d23782bb41c6a78189c49b9423d3c7407964733061f7a2091c0f5b1776b82108dcb0a5ce834d4ecc669ff8ae6631b5d2a854bc709f93e458a26a79a1c45329f76e8f22d7ec1db98e91e3ed9b51d88528243999cab243b57682a292ee20dd71b889d286b3fcfbb82ea017fa7159b8ca9a5adec6f664057ebed3a319fdbf0df45fdc4a6a540193d18338994e28da0c8bb729944685552190112f275c4cd2094a294ccb0fceb222ec72a92f605702f834c9af476f93c9333047241232ed5df9d98a5dea0f683326a31c7b7d791eff25b0fdcaa5d4b65e08c82b6f50606cfaddfb55cbd22d31c724b8a1b0253d768bf546cb0966d7faedfd530853446aa754cc8199bc2e9c3c3d373f10bb6f27c1c9920ef3cfb577b3bcc33ab12564756858b98bba75c90ddccb7dafc9d00f052e86cb35d16255d0c8521d9a5ae6fa2f18854fbb7d890c3f80a2b8d0f30b54bd0f6e4d34ee14a2565779bc1064dfd262cf6c25f42b22a1ecda9eb0e07f1c1a14b8eedb060b83c8d68203f1ba4008680d617e2a1289a1e5c7f7aa50ee7bbd465ca7d7b0bed702d6cceadea3c0afd93e912d5a67f17303dc3debdaeef206469331c97f789bf2bb64cfbc94045e74b8c5d270264104fc3ebdabf1810dce5f7ca34f5eb4e016de2e8a07b9a8f21340afc8a4a2bb5cd45b1f0524002f5dba6f93521dd5ed5328be25de7b0eaff60400026e5b6e198b738a2e6f356232ea615b2e2f46cdfc76e33a8296da370c84c7513fd334ffa0afc5e549b102ae4a055a1c866e3d62ddd2ec1955557793f460c30cd10bbdc650b4d09aa6767ce4425e8644f1e21295a084285f7a295d63a7c9f3921d25d1b8ca9726062fa11145f92a74080e03d54e2886098465d4aadf96dca3a8b5ec27ca141bfd1125afe6b3040bc82782dc8706ad6741e65ac2221a17e2aa7742e464f538153b8754f14e2c4378d1e9baab5bfbaa74838bc7f09b6a22bf86938e311869961d8ea884f961a0ce4cfd4796b70e83ca9e50b2fef32f3d7ef0d13d191698d7a6896bc631d286009b76fdb24c31aa89f001c31041644be2057a2d0e158cab6ffe072d357c735c895aa4bda4f38b29a0d60b686ed7cb570d998f9953b30eb132e3325aabcaac2763ecec35dab3f08058c43a5d156d06016b3a520c0e218cda5bc68402fcba9851c228b55df986d78e53960336c487e2dc5faabeff278e45bc6a5c1d45fcb7d5900ceaaefc344a6e8bccfc41525565d6cf84a6f000b8b04022155dde4b487a2c4050e5d1f62a06a17fb7dc52606b7bdac3ef5b58510e64e06f0b942c74bd46a175ada540b95398cefc95a73d3d8c1644bb4dc7bfd8178fffc91d5df56bd1b8b46cc8a43db8d6b1675400deb4025480427cbc0a8d3492c8a82ad21f2e2b2cae4b9bafb257063878ab2016c5dc40d6cada2693b2b2b799ca240fafc8328b2169fe531d8fab404609e022c0f9f6df7f5a933bf67b56989d1dc1fe0a364c3a54b4fd44cf572986906cd8baf86abfa5bf1a544b1a2f173d33026add23eb2961438549526e70135614a42bf9421bceb387943614999ef80cb4e22b53e557710ec08dbdcf488b6f6ee937bcee9a23291d857f75e4c6c2e355b93407956e63cfefd4096bbbc689d8ca7fc06197cd98310799f28b38a874df8a13e48f64f6ff677a2fa7faa77d59d4503c12316b5835be0f672f429b5876a1123703db98537614d8524b917afacbc2665315d49ff1af453777b2abb2642340e33dd1c07ffedf5e70a1a788f4c334cafdad29447a2a1769f7883d13c69f1b69e3878271a74391ca52e4d4c2c8ed2877f7d52644053067a4f265ee5eea0f8906abecbd3a307330c5f01def711356eb07f732479c2b7c18cceb1a9a53027424fac7a86529d57da85106da170199dfa810ce1b5b2f4fad816ee1caad886263c6cefbc84559179786ef75829c8fd3b52d9d635b698653c51ce6ee805808dbe8305c9977db98135c5304b72069711243828ed3afd263ccbe74d8f44ded1d39c78ff9dad3c06c3d814599f5eb223f75ce3a7ae8bc37d8f451033155b22714afa0cd4db9a6f111ef7dece62acb103e11cac366036c68513e3772029e3515dcd6f8e9a0d8033f083e4808592073a5a71eee96424022495e897f9d82cd175b8a4534c00bc8fda0ef8b0d733b8cd52ad33d0ac33316e97e31728f52e91c2c12f039eb2a2b343c112c41a71e8b87fb3959179ae0451c05fed9162adc571f41b4bc39c6c5ce9908af7e9eb4530fd32b1be2f279fde500b27c766f3c512b75e6832ea74afa44d7820127d011194e95d989b478bc411db6608b22f2c1792603c446046c26d52f5b26f8b7f0cdc1cacf721cd5b000fb400d60611b3ded8c574ac7cabcf2ba5386cad9c57c90fa775880efad05b64477071d0af7f1244a8a4e553f06a4f7b3087990e40411986911026032a64d9ce5da02fd37da79e9c615212e0e2fad185a2f59488beea556c912388df746081282b5792310f56a48f61f21c8bcbd8365ac77457190326afdb79fb3f81abf9a3ef29349f00c7a6995fc136662e0e004c14c4dd0d52c666f4ebed65083f96311fc69ecc8f5873c497e30ac451f8efdabb811471f6abd2d7003cf61b2452f58d358f90b90d1f5e28c3e86ae8e2e92f9a02d1ef8b097795186e1327777bd20cc15330ef506c2b8c1ccc91d3453d8aba01245bf7a1cebcedb89b00fb9515486ee11c0667005d8e0569d42be52790e867b3d9e36c2360b9a571cd532b382b13569884bc12352901685f6b7cb7ff53a9a74723baf0b82f9c1171c69ad464a4eb20a7e7f3bd5a3ec567a8e1bdcd44ffdf21b33ad9eb3a0d9763ecccce2f0801dd0e187e978e5828c1bdcc02822c72711bb956011e4fb41f5187a978c14556d9cdfe303d8d82dd2567c1ad007cb61e1a2f778ca0cecad1be9d8c2080ef8c0f31beb99a4d71d39b26ffbc0b8837555699ca8af8cd07245a342c6406b116c6e22141026297166bf98db93ae546cc3ecf17c84804a098b7e2c38ce0dae9c85e253fe679760ab42093bcfb9f67c3cb2b2585ce37ce2e17ceaedff5c212467eb8d726bbef643f27824167712d79803367095da06fd7a4a7b3d8950395336b0168ab93c8d94dfccdfbc065642dd4486aa6a4e2dd55fbfefa45e8960cf039cb3d1ad1d898fd838d8230c8a52b41a99c0b8beec755c13a2e9d027d77d3c0cdd6c49b67d9a642883d6fd7494d41aaf12fed8ecfe6dab3fe176ee63ed932f172f414f5ad88e59350dd8a860279ec024e412d6d029e67758ed1ff89f2e637649f71fa7b87cd3bb3745826409f2f322a3c4c9b691a722cf43cfce70a33cab993c1494b2d32fba392f2f30167344ac8e03d8fe78471bccf40e0e3182bd8a1bb340824eb0014e57d4d184bc4554a4537b1ca2811e10819703b65cd18befdc318b2544b59d6fcff8b496a1c38fe5b404ea8937d440cffe32d0c4b1d45af9ef8d167265267cc347cd25cda721d7d5aa07de1b7415574481e0e23b020b7e5ac9b1827934148360041be62d6cbde2b6fc5a8f066cca0f7c0546fcc4aa8c2a1637e607c7e0d40b284336956c3f0f6a1a0b42c12edf123b06ccd69b031ac2c71cd0f666b242477f8eef45305eaf9db4fe9037e7c3f2fca982075c5a84f94a4c21f3cbf847c633f434b98c4cea9fa45dc744ddf7b393de6d8d7cd6e6fbbf8389c24cbc958d14d69dc1336c52983523cced293370dd7a26ba71b804f4ce81918a3981698f6f4f522a912f57b606eea932dd97e58389ae0934cef77c361a6f94f07bd6a24c866aea3cc7d55ca5eaba36c0de8310144e2573f0960cb4b7cc7a311cc83187a5223e60f70ec4ad5ecf10673412ef93523ae018c98edf912321d4de01ec97fd227499130dad94f7b3ef56b275ee5e9ede1620e87123ed57516d64950e6f6f520468be9fa3e39b8d9bc196ffa08075a97a1de68a7c6ef88338dec517c288b78d2116b66a15a33d596c62299854b61e2ecab0863f6ee73fc1a5cda6d12895249c3ff24b74ca383f6fd7ea89b38d6a2d7afd7d28fc7fcfa6630c7e32dfbfbb810f056dbf4a13709f3e308c214934fbfdb955f82e64a78b485a4a365b39f02bea07a06abed336e627dbb90df7ff6ebe9d89fc34b56b91ed4ca97eeb7e8efd54c99b8aacf0e0b055d6ba5b6247504c79e2b78f4cfa98c1eed3866636ca844e520f03ac51921bdd1a02dc2150deca8a82d6df387c38fd6efeb5081a0d442bd48e21dd43eb7ea2041d656c903bddcb7d26bffb303a6770ccfb1987d87ab49b095d45f66b512cf45aa62f5c21d9c5e4d0d3ee4d4652614aceb4cac9f950c924d851d54e9a690b81c02af84570641451b8709c5f341e85c02628405ca94b450e7bd71e73f8e38b38e804a4d3cc4775928e625aa9b07ac1711e1d0c99b0e3e807c13bff3a5f5d49a67e96d8b72056d3e199cac9c516a59358feffc9f59f4f6293e9d1a7bc9d2c2187f77e5af19a9398c21c294c2d4f2f80b5bacc1408503659be6811b2a6d3749429dcd21013cbd992ef241c376ca64400f90c13ca9bb7979effc93fd7354d0cb55afb2d809dc16d8c6bfbcfef2d9d525acece4392e7e7edb8ec128f664e22b5ef35387daaa316cd2efb8acb0e03042b42d11e9b8c9e92d5013ed72fa42080c3b2561210a8a33a6eb6b41fb5b585edfa3d8e5fb63740ab3dff675d727541817e8e8bc8330f59ae903a7082fe029d195753bd1f74aa1b6c1b6701c0c36c92ce888840eac94bc8bf424c6e13b5d26dd9d655197dc67d858542c7e1408eb035765d82e79915db541d87684a5d2ead65e42bbe13af61b2b9e9ac835fff6b95a7bf0c760a415945027796a34575ad516b56271e439c1b07b9b329d9ca013a053a6481f0b8611457c2eb0d53caf29d7730427e0bedc0d175991cbf7451148cdeb390d93612993fc368d55fb45b0930476077b61fe8187643a9d9bef74e16b268a5ce7e3d56c2d9965e62c6dd66ecb8ecdc2c1ac2bd6ccc2364f12fc33e55f74c71c54d722f6fb8c391c904dbbee0601d28018d5a0dd49b2c661d6e890df8c263b36010128d50501a60d93992892f35ba616f3a3cb3400042ff858ec9cce0d09db160e20e70f04ec3a7d2882fa5b67b01baefa0d6fbc64ddb387bddc31aa4be8558252ab6c3752b6c7c9a77c1acb6ef8c3940f7212275955b91039e0a2eac858b6aef115068dc854b2c8a70f6174c47ffa58fc01f645ed4306796a6032f3b91ae9231162df9f01d96e49d43e1873fff770c6049b9c1e4c8752745c124f867fd0108f70e1ddd3eb21ea6390cf17aeb39873d6738d8f1e9d05785a5e39ffde7b15593432f6bbc76b95ddb6955b0b140fd7dcad92603afc7180ca208cd2ffb939064c2d40996b886afab9b8476390bf8303fc81dcf58570e51a2300c8fd0e956c4d7706c80d3c5787fe9603900763464fd4021eac7c4aff770b4dc7c89f2ceee9388aeef56c48ff90f4cfb7a676e14ef115773a92d7d2a77d0ff56090d569bc11a0ebb5f749f1768d2bf0cf80c404c6f550cf92c5c490c8a6f9c113d7cbb0ea47c70e9030384e5516b0365e2575bbfb99f4f7b0ec729101b6f3bd05cff9c8b87670e5bb00596bd2cbcecd3d81e845302ee9d70196506668212edf9ac9a57631ac00ac22d556a0946f59230e9019f67c4ed72438d4745daeaaa3f75029f021660eb5b069de47c849c957a97ca7408355b02525f0aece7470062f6f23675ecf566a66975411f7cf6088aaf205303d4f0127728a3c3c505aaddec3a4acd837a8d573320283b95f8c35f25e19c47c788d47adc8baf6e800c3c23e9125aab032b8e5a77d68cdad7e42e6ba72ce2c53c58bfb5395c668b7a0ffa40a074da6ef0bd9cd8f68336504081cc2ac2f096cbc8ea550797b3651a803ccba2e9b2d5f1cac7c763f9982d65e336a6e3f9fcd754beb506843c599ce6e832aace5a8c2056fac1e60c613940b20c835c722ea5d2a53a2696b41cbf3a477e3e105b991f5ae163f234bd86c53f9fb5d6c3faa504965ef03c5a4ccb767ce797244031e7396b876da60ccd31d26f2ee30df506eddaa99fa59b64dec400fb3dec8634a7a675645c9468c8ea1a4c3d765681dca45247b4e79128f77bb90ea8547930ed48554ea8c0d3c0dbee4aafdc1a140da68931144c45f7ba1507a9ea6a966d7edd5df8533c0a2684e207afeda23a0a4c77a1f3c11e7b216edb03f3d460dd3f0dab31cb410e4086a8f2454b73de160564bf81b45eef117578bf7b29cfbe84ad9b9baa6d7ac691b6a6797da2cd98377f1c9ba2b5a4c98b7e257b9c3d4e8385cf8c212eee367d95495521214a25ca66c0162e3a5f737ad9231f2dd604d187a5b4d9dd35f516a3fb1dfd10ec4588e55c5b6368d62162ad8206f237a7af369e5bd1bfe332b6b349af61635476de54b331b90b7d09ef1c4eedd7d01b325ae95561735e75fef2c92568a8f78215a997eb6c9d63587954b8ffb4fce384f0832b14b946352d6f4cff9b00d5ef81bfcedef7afbd7e927b8b700cb4fd6522a10606ccd08545f05e411d29107d0135f3a79e5d99ab03f4f92e00ed65ccc01142b7fbf160bcbce707bba6c930e7d9b5fe92b9230c949d87c49476700d1623ed694021b7be1b6bc2ff581a8a2f347f419179c0ca58a2ba7e6bce972c8b996aa10ddee2f591f5cacea80601323b34c6001904fce667ef6b271e5e229cbb0581bb747a8c2906f7b9cbe00af2d5fb7fb45c960dcd8bec42af769626751d1b3bdc94d60fdb23db0f3a03c7acb469653fb156a23c739306dd73dba272d7408ba45f771835ea822141dcc46fff402af989fe58c7289de006c1967b5ae6813b9b7d563dcf0b17da70033c08f3f1c56100d64c26940a858928cd8e0d61fb3a685f2e4f412072dc22dd7d30ca4e229f167c3081085898c7e0bf6b7ab3e00477a1f7a8c84906e4ef7b448218774e02ee33302ed54621f248433af44d1b3f10ed05f1b2071f09403126fdb026e000253a2896b954ed6b7909f75d0ef7b9e6ca8707d9659812e6598e0f0f21c933f9a5e3e2a0558cabba6c98295b274de0d888e196591cf3c3b2a2e583ed0f98f663dc53f087e07747debe80c294124200c6be4c31d1206094247e2f298d3c9a9024e83ffd89cece1db1e812b43842f7e01efab784a553ba177e18cd2bb6120e6e981d56ec1e1dda8466f71553828cd035c436450e9b073c7f4322e71a94d7ba72d1cd68c554886416eac55f20627b7ba9bb4110c0064bada3540e0b81ddc949800e6778d6f939abb3e1ac889dbf96a2d39ce0dfd914e5e1c1b413bea1baab3ee6250bf2549f186c064e57accc9338d5b48b8f71ed57d3c8e5470f1e9651906a8d6aebee108acd8600958c5e194f044bed3a0d94e440d0f375815af415805bd186ea13184880aad24801f7e1634867dbbf90d571e9307b1f003550f17ba0116ff9c46970e71ef238993cb61645d666a6b05610c59bfa3d5c24d15ad38c4270ece333ebf76d7fb99edd2c3bce81f7264bd278a1d2923824ed2ae8dcb5dae855ddd32f18b11b3eb6794b49a0cd3790ddc44ecaee81a852320b3b59ffa3a807f2794dbf241530962a4f9021b882d2bc952f9f1d70489223f7e5840efc12c45c7664a38804a8d2dd463279d76ebe2a17d819f1472c8ac29ce8b204b3bf01eb0824adade367c10abd338591351c10e2991717fc46d32f787ff43efeea034f794049fe0ce2a304321b51342d9ddc8b133c238c495508318c218ae4ed8dded3c25a82980e70c713353fa5c15fc47814464e58175c71f469258ef5db135391db3ad97a4b78bf35c3c8d67975d2b9f57d7b116ca6d97035a0ea6cdb2fde5153a0edc16f793c08967d1524de187386de31ede76b9dc9b8e1157964fa5c3fd54010b70e30d5621bf464eb20979f551a8dc6d3593380adf022cc4ad0de9cf51c1941e520546cc4d7029abdc96f95b9b80701c67d5af3240691cb3b1c055828726ee26d2f95262876b2db712845b40816313219903516a31019ebacc6ee1e6b60d6daea533bbf46ea16f261224f6ca8fe89ab4c50d74922b68ea94bc71ec8a709911e7834b88999cf5ecedb5645c91dcb5380d72989900194e97232f941f66e1f1cceba00377e1ff4dfa74c13aff488016354714a031fde65fa696f98e1fd3995917eac8777aa0f672b1c63ee38dcd8a8094656bb5033cc035a64f5785477f43d592ca945e0a0dc5255e87d71efc977f791957c8353d7f33f920645b4987f659ae97020d77ff5908b8726820a51d597054f6cac7ddc0b6e79b5adae369d6f4cd9735b105ba806287d8437108db42685034dbfd3ca9ab05ef74e7bcb3650586f78b910683818204de8d6e91de57835a062d7a787c6c98f5d94df50df2b4b8d27bd216fc75d5334e36cd4e001bf647ca26221f30e9ab6f841637db54c3e9b2700be3653b5c42bb6838e31455eab8f6a53d56c0917761455f2c61d6368ce1d06c4c57b50f2b730e35e0b5d7f8ae534bbfb795d74eca72eec02eb79c7218a3a6b6ea5e4c4d1f08531fbd273cbd1b07886d56afced9673f956391dcb73504392aa19ce7392d4d35e575584feb10011cfe4c685e0d497e1b58168110946a5508980f10cbfa2771636dc05ff07b3f831c72a4c3a8ed741ca3193914f1935f887b52ea92a761e075a61006032d7f59fc23b8efe1050b637a1e9363d9bd40c6eb6325618771c9418c75998329c91d4cb8b560d4ac98809143ca948771e1d09cf09ef420653a60f5ac67aacd6e1288cd165bc3f7d23757ca74f54e1428f1432d27d5670eb5e0e951694bde910db24f347c74f77b89f7814e325f3af16792591a0bc7267a228edf9847a78e43956bc197b6d596ec74703149870c19df637ef56be307980329ba7c674d40ae31d67d8b52fe5ec400089ca25aff6be4c36d4ea50e5958f429fb4db35ea87a158e4f3acb0ac621fe1457ff4b07f79d9ca57228600ecb24ed39463a1933c76e7b0185548f591ba26851b746a58bfd41292558331dd8b748c7b89281c7b5c7afb8e9d8410403ff31b114acd3f7918e4f36ca4dcf8d3e0d59b0f0578e74f9e4fd0d8bec7ff302fadaa5d4c60b564646726d930d65720f14c0a0e237dcf74e6249a521da46519d7f90267d92f9871420855c0f9889bc6af75f4947165d00713645e177d69eb5f050ac3e383bf2221f61dc7a0f1620a2dff18bd5dd31e9719b24437ab40fea0acb4a12bba99f06c7cb1c76d885cb1dd40281732b80a4640bccd32be524f94a5048468e60a816734d1e6ca9f9f13f4a2091baffa9d5920efdb604c0e81abde38e38550a29a7b3321f07eea005758c31b00d602f8fb1a5b6eb4a0fe9b2ac268d7aa0ffbd06ae10bb0699dd4ae01cad8f28fc9c2cc85405aeefd2752bb452db4bf831859c62b84a93072c184d1d4f238faa25aa158f4bff6c7ae1f6bd88cfc38d167b47095705bfba6b2d986c4f841e555b5fbd2956b83982b1b0716ceac07f7757457a550e85d86b3a8f8dea526606c344acf0bbf1da8f62a8848af386eeaee6db7dd2da05d4c9167bcf8b8e616794ff7146cf6e1f5acb921413a5486ba9889ca1d1c515b156bd8cb09908cfc4b1d039f59eb4303db1dbeb71cc5ebce658a5ab712c57074a66f1b940f62aa1d8339cbeaa3cf4a2d3d74da72e464e7ac86aaacae720b6e76a4e50396e6bfd42f468747b88194059f690c966f2ed38e7fe36ad7c05066aa1390f7e2576523dc8f7d6baa89ff616610a9e20e0a455dd5fd38f00f24a98366275eef3c08e4df7a9c52e113404f68616a78a16279c72fe7968d9f7502a68a44071940ccdfa512c7e49a6ea559b9803cdaec3fc7250f79678a8141978b8e4bee616e8c2ea9cf1acc6e97c595456715e0fbc0874d5eaac3b71ca389f9d076cec75766dd9c90cc14b782a7cf3bd8d26aae62ceed562bb5331ce523464cca0d41156dd2f90210f07ab9cb39fa001f2545bee0f9f4874add6f0ac1b6552666010c0fd1c13714d2f01d58f45c3018cc18df8509a70a5ea7616e2c3ee14c6ca22006c00895d4ed0f2507787a7f05e852347561cd739757125b6bc81a02700219225a76167671ceda74307bb3104080bb14d9dfdcbd346a6e1c6de3e7018034236fb11c2f0588f2ce5ccbb58da88e826f505471d5f49ba5d770d98e70eb153dc067af0674c4a582b5ec957fbfa8de6f904125d9efaa5f3a236bead460970265d483ced40541b79341b70316caa6d6fad86c54fa56901e5de05222768aac8de7591d14f4c4a7421d6f5efb61a3086d21da2a8799bbd61c5a240140eb61de51d3eee5f3cecfc732d35ea5de1c795046470cadfdb518d966632dd30d9b01c7c54e1e76957eaefd9aa1daa3e92ff5b5ad373472c3725aeb0d27811f810c3ebfbfc8406a4efd441dbd9c3f07cb8fa6edcfffbddfab1a200690f8ceb3e33e370429783cf3d8a0806b675cdd6453b4b4c5a4e3b9ef329de2a21f2a4f2779683bb739a07de4db0df0246e884a19a1c3c881c0a62d590fee58ac88bf5a938edbeb7e358041b0f7f6c2457ba2592596e43bff0752ef0aee5568632b6516d8f44e84f34cf71f89d4e0888c5e32f11818651fafb51e787f2edeb4e7e6f8dd1573b78aee78e91528281e2501d5bea915966f831181efeba3f7a647c535e3766cec9124c29a49a66a62ba1c47e9239d57107875b59d891b48b6ead30f4cd281b8e2e4e338fda60bae531bfe9ba6d77bfd64056e014c908c6bb8d1e5c653f3071efa690e0f7730fa8f7e137c08ed010664453e9e022744444167050cd2eae9af967c7cf7e1702e8e412dfef2c5a7a15493efb8c83bb2e70f6f5cd025f5549680d13de6bad96c1a9b5c1a1f5c2fa2f0e7f7f7d962e7357f283623ec3ce7cec78371cc89d2caa869780185016878c9f3bf8035e54ea8e060a4b980fc65ac847b211f9121257275af648eab79cfe739891b403a752286198effb2fd8d986ae8e331bda93a7ab0b780199ea743de138089a4a482016e1fbd4a99e08741459857cdc467ef4ec291f549606f35b9b2107a76394dc6776b4660f0527bac5a932c359653bcfb9226f0b5eb2e8738e0c5c9e26ac1e79454aca7a63cd14215b9df21a9de6a9efb5c45c606b6366f935cd0ab484cd592edf8401b522e6bef6b247243f01adefcc812789ea506dfa1ba44e7536dbeb262db6d20b3f263c70767481ad037de10ace59ec2597a34a7de5348fb22116aebdfb3e51bc289263e8c29477dd8ee79f9d02456b1460449069906a2c459d08b274ffbedd0209f22dbdb7a0efa7c2eb3b4711b6dd487773c7c22f417a80fdab21e22ca11342c283add2a7f062d27c26ea07c776193417cfcab75e9a6a1531ce2a750e2b4cdf09a59f6482f175cc9d6e7115ffc8439ed8ca58f00864376adacfbae7a869e83a4e3028bcabb33307cc51abbfbfd3ad3820377545edf1fd0cd7a1f3c1360c9081fe497939763b0f09e67f129a4480d70ef615f5765c30ff4fb9217dda401691fc645ff9f2628d7baf41b4de5f9c8695404c59a74e14d84c1dbb81499750607712a1d19ee75fc6566d91a81290fed3073b569f0c0cf89f2c6b985aa9bf7519052e87d79d23c5e0c0fcadb2b364c82388ac29def02d72d0c5069c8840402d0034a4af906859b7cc60e361c516600610b3b2b451ce1ad78f7e0e043e0dfbd896a6d0138898aa8059ced96fb33ea6206d1dd9312907d5e9570da778fccb5e7b930dba171916169dc5447e2f0848c5c96362537b8f430fcbea82d67464dd88ecdd41e481503dd4760d3962c90c88b07014f25fdb5aaea36518acd99d317e651d9872a0aefeee3f894787777789decfea6d55a408629eaafe864f20d2574e083ac5b23b769cc537d5b9a23081e37d78dc196a2e312d0834bf864d218253338d0d4e166fc792d648755e7d7b54fafa6bb97ef4f6df0bea08b9e89577a590369619d79643591ba238dfcdd1ce983064fb7695cb422c742c28933361309bc5559cc2f7552006f328c62762ad08dc7f99d49826d64ba7fc1a5066737488b5a74c6446829ff8745f18db1d2c015ba75eb204c5c6cb1733e51d1b2d4528410b851c000cef93ce7cce1dc11c144e721d53c678d8b2b163c25d694bba16e6530eb3969f4ac79ad5bca4a6c206f0f45d77903fc0ecedf5f782f1c872055e6dab7fbdcda765f14a8768ef7a94a6580caaa414d20e484c2db72cd2d602c6e35da35e0d132e3deb19e494a866537e12e66d98661f0e889cf43d9fe3cbe4234ba60439732349a5508c2c92711da7f654dbc87814d2a579336f7f074ca8925e902d5a04f63ea28f614c95aeee1467d831ba1c42a36dd12438e62163938ccda2407b88475759ebad4868f8dc34eba6db1c7d45b3f1216349927273be4c2b6033131e8bfd4dd8157d58e1c0341c91e97ccf51261e77f935de29c076412485199ae820c48583ca05d4476b99e14d1579c37932ec59c06098c1e6bf5ac879aa060a88d6e1c23b9125d7bfdf8333b944684c4b5b97c58764ebe291c2b732a88d41754f7a0005074f08f79ff5e771a6c71b1f2dcb41d6dda5e52ec9b2aeb4fe5d855a17996974b5337defe85e40c89406818b84bed67297fa9633b3477b11e3a7d293572e611d47e114268771c167f03f3df2aa49cec475a27cee30f0c0f2fb082700a5ef0831d990330ea291c630f5936ea0135fed4d40285ee93942c5f73cd15b4c3bdf43df6fa59bba077a12474e2a6370dd3d35b7bd6c9d5897022f00458907292280c2708347375a6b86f0710047eda3c10e6ae2ad40583d5486372fcb84def13809db8f8a52363d1938263ff9d1da2d69cea1b21691322d3e9bd570b50f6b95b9d09f91f2723051ebd51911096921cae4938fc850a8ba46e34486379222abd7e9e295abed3654c2b94dcece673c5e119519fc91dcae628554a831a245934bff0865c40d4bb7f314eee7125914d0738def8e3c91fc9fa67baa0077f8b97fb840ae294f61334705895d80c8ba332b011017e7639710e5d752724397458c96ebfb784f57c98518a83e60c004a878fb59e5116ca4b11a3fb2cd879ffcf2646b8a08d085fdad34ce463b4812de4ed8cbb9d58dd0afaead41be2ebd4983baa923e905afc8b6bb7b44a2fff47a81ff55d7977790806e75ea1ba1f0ce624aa54fec8ce279ca2f80e2f620084a5171d7cb089bc34b8a8bfaeeabd94d71f0d23126b27ea03ff85386768d7e436abe8ea8303f3bfa9d2328fac8bf150de01eda52c71789d2f8ba00a0a52f65fb88818d1e0d1a7e7d2b2f7adcfebdaafb14f104e1dd6b57b8b517b788e214b2a3ece70b45a66b7301feb3888459deca77493709d7f8e05a9d32ea408f03538617f54a61ac22c5432cea0e06924ff2fa0dab36ee6a7aba3f001220034e83b79833e4b574f8cb0d6428cf5e5ed01abfd4de9e7f050fb9866a4479fa420aaa2f194bb898cb75ee0a43cb38672be11fe3133d671f415cc21cf19cb5f5f9214c05a57d00a5522f3a9913e49e9c6917ee78cdce6af14e0587f131f88653727f9ff80aaa457c4d63862b80e5e8dceb59c019363aaad9116466a320d397d31b1f1d7fd989bdbbce143f9753523e945aee78b93f4577c48eeba86078160723d52e57485e79a0965d8490e9500785a06687036ed629e54612320a8cf5944a54d71b2a7c8f7d2f02ff3705875bf177c59e6ae8ae90f21b8313902d260455da0afc57dd5c5c0fe36631f50c9c2709f4bf8ec8d7aea1f00aac98eb6b312b4b560244d5cc08c889b03c2f7eacd8b5b209387f8e20a4dad6bc5ff5f6157dd2624e4d996b2ddd5df7c96230d1f2e5aa946e7ea93660f04fb71833a639a4f7504449ee5cebf94d13590460683c33014fe1887a3562cb85a27c74104ef15a02f05e2976e8f4253bbf17dbf8faacbe5dfa820fd19c3e8990857dd365af05b4b90bb931dbaa3454666fa45c3ea39bfea51e4b392c6cce51746b5280e0473e4d3e9e2eceffab544fee52485ac6cd88bf8e72eda7971c766f9359f0b59add24d2f82b4ed289b1cb9480cf2afc53f9cf02fc7bf4f7abee5ae0a57f4e55f5160bb9374a53b0e8db9e6d7d45928af556b29aecc7c9026586c9edb1401f0379d02efca565c34fadb7f067508518bdc8f4b0d3c379dd7b4a3c1b1a8a978d7fe7f9a8d7bf6fed3a7ac668afa15677277dc7212b6afc1cac685dbb60583be6775e43a486580e5238c51ac6e7b0d44a98385059b78a47e05a890ee947c2ce87cdc6a62961cb2711f7de4f37ab4b9914b851dd94cb50529b03c62ed47f5109fc4caecfc926768747cd4947188b35634848768df165734c5dc1b628fdd9f405e9defc81e7df18eaa99587dd63897bf0bfcf549252e29cff10b21b1186cca125bd26f92f36f9085188de755648752c2ff2f4531153f02c6c68e1b1c45dd8d08fab55a0e013bc66cab96fdf60ec4af690031649d80915903774d8a268dd83f58892a3b72fd63f000304387325cda1789fdee1ce98ac9ef72cf2ca0a3ace77cee8f65362369c9dd8e7d49063bd071d8c5124bf0882a01fa021eb5c53b9f46868e101d9b5934107243d0a0672b95b997f4eb6193f1eb00505075c0b805fb83bf52721932066a50b8422c3827743119411a4adfb0a7f5e5cafbe3bac4fd2c8d6bd140fba8996ec3e4bff84a5290c4a9b4a52fbca65b9140ab796e6597b8b6cdb53034366e67830a6953e4e084b0a39a77105863375b426c081acb581217bee1da5e2fc68e4f7d37054066d22c4c6ca38ef7a2ab34509f200502aec21502183e8fdb995064f0ff240d85f0a66697cf2543298e62e3ea34a15b4013214af7c1ada2cfcf250932d17aef770deeca67df99eb9edc931fbd3c165335d01ac1100723c06007ee174edde288f693bd5f849414e54914913e9301e97ec1b4d5c948089dbeb83576e6c60638f9cbfbed90c46318b1b1415f988eb2ca8caddc998cfe276356d62ec1a9c6106a88d5e43c6f6dcba61a84cdad3ed61c4a09fad9071f76f3b3682da6d3641157ca204e445f2bf3add2c69fc6b68829ab7a4640071e8c557ee098500aa3c09c7f348c2fdf12712a691dfbc79361e762ffeb9c0eb97681b746f65ec6cf99a4159e7c847790f2bff8ae41addaa4b8cccbee43f969c6c12d66f0c3a3fc521646ee50b9accad69098cf9a1fb76a0868c6d9d7922133156c1757b4ce7a1978e1256449805f02aaac9dec4a848dbc2262bdf51ed5fc84a26ea7d3758647f3701f8632539f3b732556a8a6f5e8c3654ff09fc1c93e33a50b631dfc7af581836cdc9f8455b2479c3cf7fd82df435f3b8030acf9d086c3cbda3a25d499515f370113eca0bb5a72a56f5126f4845438285c9b45c243fd7f65145549511bd7d1bfbde7acf74f951deb425c977e853b84e5855340378f910560c453e3df82d9723a8e1d14d3b828c6e3536f605c1c2a18b8026a7f0f68670600d2ba68f2e7dd5e9b6a159369d25ff5ec791255dba562ef1869554a26fafa9d7c3f8b76111a52ce572189c5b6c0e259b78e2c21d7e2d79e50bc850b51e8926a9abf53f1230f24c96fca0662d84572534d58705405baa7e1140fb6d8b654d87eabb18567e069828033699bb8f660bedae823445fc41e31e09a9b657cf88113c18ed076c96233231971b15f616dad853ac1bcb23f7f26f16734d2c0d850bb9ae0f054023965ee1fbff316ce9b98149db89367dc1d058aba109c82c493699f28c1cabe38f48e1b321d033c3bf7a28289c2bbffc0dfc9d3467090a91c0e6cebd288560d3dcee07a2c558406f1d55aa1ec6c039a579d411b63a2873efaef418dbe2dfe1aad94ed070e3103f1ab920e633bd44e36584945e9e9e46250f17fb69ff80f112309954161dbe1786ab9bc59aaab1089fca61f76e95e27742b9ff94a30ee0bb0130901eaf261e872170721c4db1c511198699a6f69a8d0aad8766f27f478a71ccfc1694717119e01ddfee20900d35d104def1a084e724c17c6898e048299d3bf41ecd25a754fbf59606cb1ab0aaa3d45556c31f79458a95228b0a8de0ecc6d1acd74e94c1cd8ed2ed7ec5af3edc03aef7862c7f5f3ded3296da0d341ab5b28b1ffde7aa292a268b705561da4828878737bfc645f8383537259f13ad60d704ac8c1e9ba49d6e77337518942856df3a3d60e309f15067def26c586f2b1e43f5253a830163f6c16e2cf63dba006cd311c7827ffdbde115bcb2c523833ad45a3d46401f2c6e016b24e2b05ed1dab4642521de6f6dc0e03061b0729a8b40599bab3d1ceb51c1069b26b0b9a47db9b0bc324358f42317a853e035ce4b7f80cd4d00a40e82f4cc2da6fcc44990b0142a1574818f0dab18be9e25175cda2f6052752469d474e53dbc6ded3627ee90be83adc9082569f3edfba178937cf0a321de3ef9aea59a416be041def8c759d9b3460e63eb490ebc6b888f5c3a6486750eefc15c99e77ef2f392e60dd10dc1bfcb3ef7d478f7312b6b0800c07ac0769bf55b7eff798a383b39072b1265734efce6c43b704a3abc7e0bb79acaa340d65546d96019a6dc72a5fb6e9a68846854bfea7aa498322d855d39eba3d257a32cee721809a7c9a4484cceda048437984ceb99e83cf45cac4ea8d2aefaf66fcf740d9cdeaebbc4d8f1f92c61ef770cb1d47da68b483829c9b59d98cb0eaa524c158e5da33b1722eaef45bc858cf1741d650d6f349ffcaf6f412586723dc81b5babdb97a767b491b57867b19d00e7b918797db26fc29bd2dc4bedf8a979f3c4dfdf000897c93a89f8ce714a353a9cf89b394d59a44e5113da61a0121e15da57aacef2708af84662368571da195a86461d25b1c850162d98487317ff35c3de9568b5d28077190e230c3ce5b8ca5736b17bf51f814642162c5f13297af26a027d9f1fa83230f0475bb955c5824749c1029c9ebd0ab52638ab7e782eebced13846bcb97ab740920a8141747907fbbe9da7cc53de143024ca12db4a354428052498505c382e96cce47557469e3d2a2180d0df59ff3c8c6e8bf8a09ca1b68c1e3c5a589716eba79679a3ef38cd4f6756d3456ee3616e43f2895ebadecc165edba7d50177d365ccb1b99d39d2c1aa43c300d59e664faa4381eaf1d40606b051ef334b6e92cc54ee5fa1bc81f15640b8f77f4d325ad43f9642f9a04a6c3ff5be8612ee791d422bee9ceffd2065a8b3edc51a553eab6acb3ba5d37a3cbe0e2224d06f1aedca95a1e40586affb8213fe1ffbbccb1983f015fba26022d57423c5174e0e46887e0f2575fa23833efb1149bc7cbebc2ac61f7cc24bb9fbf506127d42ea3fd5404b7b16b960f74428a2dc1d20eb79eb4c2cf8871a025dfdf79150088da51bbb0ba35f54e3b39d6583763f48efb5d2293b1c2238c07d427566d7240896a120373faef71cc1ac5015d0600ce712c7c547a61c47e302646dcf5f1f757ed1bb76582d0909dedb22840e9ced52d17712d18ab3112b152cf2854f4c9b57348e6b61a7f6429b51aabecd2d294f579cdb3400191bb254cb68b4e1ca1d3b4d47987a07b70eea2d68a14b51dac3a8924f4d6d589b21cf1da899734da65f2724ea517ce9fedd30e762c3eb214273dd3278a2c5e9acba8a61b04299b50cf40ff60599a095d582d0e3757fa487cc50e7f309bd43acf7bc04a7682d32746e5d3322d691235e495b99b102fe0c65deeff5b85be89f8b2366285c5b57ffa0d950910efb3191a703d27c0d7c63b8b481d63aab33119673040654fdb7142615f07b445149abf80cd12d02ba704ca5723fc6eb226da5a79a25b8350559ce3dcddac414b1e8d7197ccf0ea775aa989a072421a0f2af7320770240f870e9b7bc2086320ec8a2ee5327df6ab029b89b79ae98a3508b5061475706c78fec643042ae596134d91181f386e718b75a72e7dead3acbcc4e220f6554a01d6e3ff9ce89efe9fc142fb2e0b0fe02f189381f94dfccffb0d39f153259815851d94d8d2061fc11ea7ce75de25b066c0b6b38cd9751b300e866e7c4be20e5c663882ab8cf5127de0ea6bb3df517728acf5255f00bc5d241d970450b48c765b8096d67c1cf454197350fe182282aaefb2d88905ca1f07ecb6d6cbbe788b65e24091dd70671bbc426809b362cc7e56f75009c7302da593043db0f247f5394e3ff40341e3c98746c3b9984bb31370aa54536b8bcf1ced93c9e739d7fcfff43d6b30bb395cbe4bd10277773672dabac685c9286b68c5a05e93b024e6f80538dda32c59596eb60f83ed462f9d59e74dc58b505805ab7076fd64de70718e0c4d8366fa6c81d12089acb6bba0ac5af7cd029b0416d85836bea91d9d396870a1ade08b351cd494cb49e44626772eebfc3178c519ec675bf6f658a6a033c19de8aa819fa8352ad2f3aa1e7bfdb7dee2f61a4f8be4270eb256064fdb92651676d379bb1f10cde180a180b82c192d0664256f5143a95b7e60c152cd909abe9d57901f2aa88688f9d49398464774931d4c355a58aa15c78fac66a2ed959357ed3919a40a636dc92d384bcde903e18b6e332bf707f029fb1655edef18523cf8fe24712c6066e7f2c11af9378c215e1ba3168de9047633be3779d3b3b6f94553846a3f6a13710a5e07975070f21fb0ba6381fbfffefbedf9ab458be2f39a195fc360cf56077a6b4ea2902dac19f7b33f854dd938036b3c19201e4898184f2789dfd50c10ca9b74aa151c68a8662612861d9a45f310230db1f0593ab7d244c14ad16afd0a202f1cb99164dfe67b82811c12d257023cbf670f7f32216d965d1098fe11dadcd5ff8c01dfe4b29c12c06a90c945bb52ed144a5372c72809d04dff8016c53f1ca48eef6021150dbd1a5ef6ecaf6068faccc731978a1183866d4110d188b4bb327c1890cd2ba635cb7d2decb7ccf442c7122bbf35611f446542006120ea42e9e9c02d2823fe0ad1c23d7121b2ced6fba9c0fe71b77f9bb1f5435229a91454a193d364042523d42b75e305cd1375cc3c6fcab26d822eee26caa4bb5cb2c37a500b90ed5e2f2b0132710fdc2aeab30b7634f90e48f1b5d71b419a7e91e076cfd8a395ceefe1c991e8f34e436e1bbc783f3f9fd641f93e0efde5f21ea33c44a6b08aed056a4aa830a54fb684b385ff0f26a2a384a7781bbb16c8d2996a721056fd9c98f36c97a074816a86333e8f3df009e20bf248bb4d1d909a561ee125a573e981fbe15b0bc196eef94dc1ddfd6b114193b6b4ad2ca6e75a64eaf2a2d4a273cccbf18d3109975809aff2b9748d96329669eeca3c63cb78bf8883e02f6c8f128af1f353576b5434ea8dc3b6dbae90a85061708df3f60ea4fc3eb583140b2dd939607ff149bad951c61de1b4a5e03a394096f7721ed20ee0653179812a5c69dbc9ce3bb94e24622bab5e1699359b1abbb8dcbf8577f10f1bceffe82887fa93e510e88b5bef476fc55c2cda0c933bb37c2f8b145bd17497683e5389cbaef5dbea5ceaf359409c95831b9033967741e43432c3e4c503bd442b4e318bae0f23c97119877cc5a7527d912a6f4adbd18f727858dbb3fa0c1bcab45bcf1fff131d5c5ed9edeaa9c329fcb82b74567106922ab868bd066630425c34b6e998bb7aa20ef2654b7a37db36d2c30e3a4d1d95e5c83b5524d76fb06a284a817b2b7ea54d58d6d8ebf144a1750c226230ffc2047d8981ec5ec68eb5f6ed327ab102557fa2bf7a4493bebaa882d91f4bd49eeaf2d4336d4586c45d3507173222452a2f3771fef4716928e46320637344b90cd2a3f261cf0233fb91291826bb4ed85312f8de0b6ef4314a4096800a8756a142212d1d9d246ff1b96fb627b6744a7059837a098f2074ba0370528f003602ef889ffc1278338fb11fa8d25a12e8305513c68b51307aab85ad0f3b19248618f2311abd6c18db11ceffc4fca91066da741f831994963d4585845907d1ab3988f4019345a926cd9ac1004705cdbdedd1bc3be79f09c1e8bdc05241dcd022ef86381602bee9e8b7e619df226d0b7beb25bbdec73f24244075ce01595bd826895a1b3f2efb217bf80a0700ab28d2aaf143d1479c7a012d664e4e01df52a65b2eeafdfb8aeb856fec0e6c372265d01b0109c3f5e2a841e273d10867f5bb412226c5fef4f79394660845fe84ecde20554e5e21b4ee76bd26797107a90ff812b8402e670053e1b085d61ba3ca0deee59989ee0b4de2f8192847431511c238ea6a98e26db5c06eb19394ca9b0e1b3b0a519e323e4cfbd5b663c38e3c7ee7857fdc16ad654d7781c82c1fc64faa6d3653000980f615364948a484a368a50266b1fd8b60d48beba17f5611a8ad22d877375d78b3d64bc708f280a815abee91113075c4c8cf728dbca454f8e8a814e5cee229283091e9585eeb03bb0dab16e5efcaa62a41ba206f548de1252887a558c4ab9d0f12d947de8d6b8545a596616af3e56463dcbafb52fdd69504ba1fe00ac190de21a679f0269f5670f3817cf4ce1f6880c00e70a40fe26f40060d80987650f0475e40ffd5e2565bc32f0bc40c4d5795c026668717f5e249b0320c72e8f5e43c940b0a870c157525ebf2d45d85fafd0b0ee618f5d7d243af50f4ed30aabdc6a1baf11dd5a123e6779d8b2e7986f547878f194e7a39f6334a7152ab152554304ab50bb008eb49e5833a44fc0df68bae5400fc1083b2aec3031c7071287899cc73c93ef4aaaa49d3f32175deaf24111b5140ef2bf26c63ea557fc6cda4d0f9a01dc98971c75bfb23c7542a8a91fa6fb33e4d2c4e6d9f8f89379cd32238ed78eb9f5e9f36bd0a6239aed05bf624ce21615e2fe6d6ea28570abda8e6f7c3d3cd2a6d17e4383151e3a55ae97fa4eefc1cef55500ba0151d860ebe28c55cfe569720c40f459a4186dfc12e9911f315755e1789cfff8305c508108cbf04152b5af0911b1ca651e441114be4a9529ae12c83bb09859322803d6f15604c6825265a5beed20fb359e85ad30636f0affaff9233eff83c36eb38667dc629d2d02b4f35a48a7a5bf8ba3001af087876310421d9e541ab0fbabfa9f8752373004792d83d6b67d32b52f008cce1bf7486b20a3b57c8c9a2596150ccb77e7a4ef2ebaf5831a03ad99f9b504e896bdfe6f0cd8012930e4a18549b2dd1b63e2bb2ccdf0cefa5876eb752cad9ee539ac2c305f006efe0cbee281ea98bebee74925e0b9c816d3dfd20327439d99228b68f8ffd197d0190772dfb627e804fda47ba0b20b196899e9a5ad6220ba52261b8b8b542247eb338aa254a71cf43265103c1a65eb2a2836105a752c507a4047ac5d9844577dbada704431ffcef1c53b4788fa440827e1fca06d7251738a59719aa4cbd5d0e7c807e0d3a9542d2a8af9225ddb810f18d35fc33d0556349ea16e3fcd67fc8b9993dde3de8ef07351d79e166401abdb9659716c7a951a3b6d7291ef3fd6cae4ddd22225cbc941d612f3e0cfb5377da9a2860b4fa602177bea85fb5102fc7e532a81b9451c9f898931a8f1e56febe5d1a8185830a6b442fd9a1d1dff511255b018dd56b2335033f3bbd6ef91236145262c3f1c3846664d5ba79205267c46a6ac52dbc3870c5c8ff42b3437cb21257518725a86904db203574aee8d11e5a5ccd6ad36d6bdd688051bdfeee5d2d5ad0398c5dc13965e8e41d1b2b2ecc31ac261ae38ba3556e1605e3423692660dd3b7afc0c114db9b97f661fe1c649b626bb46345017cd915620d44f1c9889b9c5afc688d747c282506ff122412a7e6797cb8a0f3b8b1b7ad61787abf6bbd535ac1cd920d096a4d1bb8d302f0bd92fca909effa4a9508950e62ecf50b367a525f5804fd6b2e0d071a06bc8bc88bb0f5a6c52c821f191620f16b008eb0500ed8646b11cd6296ce3bc352321e1b30ae0432ea3ea44d3084ffdaccabb4799dd5285e388fcef1e043f1e005304fa6bf1df87afb3772f7bf369b1a88dc9e5e5f49244083dcfb3236f127ea14f0d514f21383a1fee2090339bc0b28ec90bfb34b22f413fe4c062523bd09ea9704a2e8e79fe85fcbf46bd7a5ff7e1c5744a31b57baf94666b6f3fe31b0927041fcc250181b19736e6188574896b9747ac4707c0874f732564122d6bb63fd27ff9fe845dd1014a68782172ea4956a15e6888ed2a6dc5a32fa64c0a81703e0fcaa7848c87083c1fb8347fa94a8400bffe7b755cbc5eb167862e4187e2cf7a9f1c80573a84791d7367843374bd8217e0f92236bf473b36fcb887c88980e0b8118695788641d2953ff547828f85d5447abed412b3dcb2a4f3a0d46ea71f2235edd5cfb283c885e02db8988e4d13f66581b7f07116595d0c1cfa434e909fd7186f2825788effb7cc7e363871a0dba7e99c32f8934b769ee7ba1ebd4fc9f7234f081f3b18adbef9d9e5c10ff0f7834b7408e291063808182864dca68c9a5b2512edc8415f1ba5327d83a83844d69a498799d01872d339968c35827a6ffac7882fa2bd77009ef35a5a5f4d3a8991d81aeb1886c86bbd660543e056aa36928f5a9027121198fb16c9f6290d2c7c2828a0a30311e24abb37f8b702f6f28f2cf527899753d01ebbd54ace95e53ba21d9a6055a79590ed1a2cd2f597b11546bbfe0778072d25afb734c883654bf165ec3f50dcbd10b37bb29245a41e2509f502936a23661825a523034faeb56a047cbeb3a62626b554c0413534a7da6c3e6561430a24387a182a814c7549dfe417372a028427566c54d702f7cba87f4e91a2bc5021a5580e415bbdf27b755387947e89547975c1629cba5254bc4c5d5a78397d4450dbf81a31a54e5c3beb5b37a599d9cf89ec5733d201bd0abfeece7fca01493bbce3367a5ac835e2e2a404e23b9b6360860ef0e70d27baaf28c46cee6a11eb699dfc2cc6e8ef93fef7c972f1305a908abff696d35b46592e75d32b2bc674ba6572dfd8843e44c1383917968f7322fd598556ccfaa7b38f54392f69a5d4eff8cc84ae4e6797d3aaa28392a964d6bdd1d9ba8f1d46fe37b2e3da696a699e56e0bbff75688218a9678dc69233a22948c1f005da7531bf8e637aea0901b1f79834c59dfd41e37f1d4d8e56e7aa6667cb6b86f5a62ce8058c20f1a7c32b5027dc7735430860cf13e27c5db40d8c24e7864a26f76813b51473afef8dc79d3257b05d3bb9d4775bf2059f88a6db4d2d7a1a49bf4235201e3b043858ec72f0d7361997f4ff1f24ea29b2e976238ec9eb4e0fd8ca4e52af4516f194a7401deae94aab4c027ad07ce6b51da31797499daf9bbe2566d621cca59e1906e23646516fabb803727e26a7b9ac4c999c09ce487fac6eaa11a76eb89213be276fbc31866a23ff4ac4c60f71e26c63d60cd2665aa68ce01bfa414b835b7434e7d978b1b3bc57a35078b51bf8f721c6ab435f7d749d5c5ce743ddc6f149d9e8dcb5d551772dca7b9c0b4fe83b4c317b0ac11cbe68953aa73fff30858e40c72c612d928c24ea6291fd7972f14f0a856b6fe37a05f012ee0fb7832d9e0ba1a0992d410e9e50ae0616e41e17dbfa3d3bfc2fad1c6a69852b68d8ac42d079b638727398b35ed384c96669650f7d1282565730120ac9cf575ee1efb075b7fe195bf45bab886df009530650880ef6868d876ca6884b3fc995dc854ed9e15618d8f8e5b0d013b8404fbc7b9b31af850c793c61cbabd3555d515264935a78ea7a39c454f8a5b5454a0596531b294abb7c47f0029d38fff23d353a75660b2cbad985b7251114dfc78b2d967148cbc7d384c4a1d05f45a4fd74b0638c5b87837c53cdb63b388a1d5fde4915f8860d07cbecaa4b732b2d7a128c19de9eab797338719053ba710efbcd2041a972f60b1471cbee12bc8c22712c7b81117ccea7d2bb67755a08c7719c2d3ffc86f02d0f27739b25a8276aa62d761849d728a09b04babf67f3eb74d8436de4bfbc12b0bf5869c734414bdb98fbdab1352eb408fce6712477202b1697447c5960a01a08db976949e8c3204624fffaa58d8d5759676e93ead2fbddb1ddb405a354f236c18f15fe6ca6556d1d9b744e54ef2741c336a6a039efc1103fe153c0678c40701f735f851301b6718d93e5774bf540de5cec8216ed7a65bbf818dc7c268cf2fae6c91647a68117a8050f18a1133055e3a272fa2bb903407ad58a8cb29253e21b7fd0c4f7fa089e7a30eb508373511d6d315641265a81458f45557832163cfd6e4e11c666cfbbd9d656a9266fbfb8166a8c940e8ea850e170bc8499d280cea6cb75d28ad721fe0184228f4d568f41669947f4d62a7a572d3c64aafa85651018db3f7f4d3c8b1d423006b9343edf8cd8bcfa57877a734003406b7a467e808eeeb1cf60242dd57b3418b8331d42f16830c88adf375c66033780aa44dc5ee75906eaedd7e554a809cd75708a98ac3ec7da6b3791518944b71d9d47baae9eca5c5f8d092df4b68a10e1b465a4e87393067e5d4d2fccae656e81175e0ff40d19defa0a7ff2910c1e34fb16830ab4f01ebb5a69abaa4485b4c6c39c7d32b2b696ebcbed5a705c83c2aa8df87f52a3c58db216c3866948f31df268d57fb58bd3d7dd5256fc944cbd9cca561b8fcb46b70923a16aa433ba59fddc7f69322c1126fe32bff9b4401cd5e22ba420a6d1f78997192ceb301fa638b46e0a6062366554a58c796ade002529113da6bddb10f68a943387f83cdb87e4bd3c45fdf123160c6e205f9519ceaddeba68add6b44b21194fff45a198c5c6049bb55c8e29ffdb3f30c3b878f5818accfd9a4c0b65cada32bbd02f53c5b0c5c6d46db811839f0a2c392641ec6a8e2fe6269e19192c7b4fff49b8ad70b18b2893e815d6be00a422f609493f3a9a544976050e8ad69fff9bdbc27ef562c871e8d1ccb5496fe8b1bb30c7847496eecb7fbd02095294b880b2b281196b5db6265e5f87d03631e698f71b694206eb6e2770ff98a53a9f66df758553ac01b2abbef51b63717875a0efcbdf1bbcfccfa631982ad6292944df79f879d0ba3dc196e82cfc8a1a83f587e3f07cae5f5a465af3a8b8c4b61443c66972fd4d239ad526ad60e71911e39b7987c3e19929b5182be8bc2544a8cc5f310463a6403b1ee913c9260db11898ab4d624baccfd094db59baeeb5c801cdafaf0153c4e2a44683c241d2e9cd847b783a5058dd8c85117a599d64013f12d48500cd9fd5a09b632dfef123eb40c40a637a5b170246f78cbcd33410671337c0755da341a66fb1cb6cb53b0999d5f236e4a15e5e1f36f418dfc085a4cdae07a5af1ee29e0850fbe5d2d1fda1fe8bae4b597cba3e77555e51fa4458fbd03f9addfcc7e16947cce538ffa0b3535e5ddc29e90bda848448627de92d8833b16569bc1f05a17a6ee4062bf7261e5b58cafd1db608e79815748fe3b166d307b51262f6d3a7c5359dbecf0f42a52f86255375b8df7761887e7162ce0e3667f910208c71a7ac934cc93e79a152f4f2953d9e4a9aba1b2ed7b2a4f4f27c838b70eeeea8ffad9ed42c62e31f7c0004983bd94c9d0045387070edb9b9f8d223ba0dc8479157e106b4265bdfb16df546dde4018fec16b22f28c151a3a4bbe4b54e24f13f20241d6dbf9732755dc1f84e07b8acea432ebf19aecb816b7e57b197501b6bd3f16e2961a41451c706cf65dcb1ab02bed5a5dd4cf82d1a5a35b0dd3fb6ef5651dde0fc5679d582c1c9ba4c0497e65071d9090021aaaea7add2611fd2c87a2d270bf53a303831fb4dca9647c512e7bccfe03a017961629c538c8eabb523e0b93191b8ffac044372229e7c712c586395f55a9c4789af825a7680869980314cb9c46677768fcca914b3852fb74708c011ecbbc4dc5d9dc511a088b147261e0eaa85121246427599991ce41b4d8786b1e66cbb6e10713b4702efe59b046a27e028aac715425a8774b18866ca2d070889cf32ef9673334be336540d74b1941847f77b934c727350d4d1d9fe8e56d6da349d42a71e22dc4371685e192c07ce91d5626a20a9ad336feae7bdccaa2ef8a85f8ead95c6946c95a68b4ac8e8cfb3136002975d37f075dcb94f640ad8a6b318c74012e19eaf6beab14bf740f4739155f810775fb2e8be15a470ef1ec6fc60da3a70e6ffd899ede4c496fcafc76f29a9ad0175902906fce0a4ed9a022658c1ec6c84011fcd0e97c16dc3ac0f97f906f6fd91bf3221f8f6e547bf957c54615d2514a4f8d14cc7874f3bad56ac1d6db8a0ac4688c5b0515e000cf3675adfb33b737ebcd0b7316bde4d62a9d0a1477a75a51705faeb5e223650e968479d751220a83546923e318f06cb8ac38955942dd1f7e2306b329481cca14b457833a39786fd18b8e1f1ce4e67485f1cf653955a5424411174ae1bf5b2b220f9628ecc6225ba7a9ec27ce0a6cb9dc166237b4b3c14703ebbe8267290446392ce2991c7d74d673c33930812f837402658076c30be55a83745b9ce0817817dfa0a38f9122e17b5aafe8161f3bb77842759777cd8d73662ff03368dc1c05b2784aa30fb15b3caa233f4a2d94c662639a0ef4d54aa40a2ed4d804df5b55f2d94febc85a96b07e0f43b59c67ceceb674e5a38d929151f9a6411156518fdf02cc49a1cec342237ff3123e1856209bd4875cfb9f77729c162ffffe56ec1e329ed59ea7bf7c2f03e5345b8d4b5bdd0305cdcccb138e3a9d07bdf5c972cd68b8de7407c89b9e0d00a1e3a8dc1f236ec7cfa43d2f5fa60abb93f07a029667fa6c77ad7aa4dd6667f15ae69fbb28d925cfaf46b77b363f1e2429f7396183cd94b2519eceb643ae3e34f9b4c353b4b328432ad41d3eb5565b5ff9d2b10f34b90278ebba1c7dbb27bc5a118121570d8c00b95dc219429ac38a9e618e4dbf24f2a1f858f329cbc03e37f1f6ea83c1fc20415309e5da44d6f305bff53af9e878800168d5ddb636cd09bd5a07b294593abb3ab0a1c7ae544a99b939a909f9dcac120ad995280eeb55d56a1153fba979c4c5b6cb102065da81486f41e8bf6c451448d66f6c356be959bcea1c1bb56ea7a06841c7f5df8fdc7e5bbf16d64d9cee42e5ee4efb2efaff6446c758d65b8ba599ab7241fe24552ea24cce49f7d70a907a68432b8f960f179f911f9dd615bb46ddef939fb78fe50858eb3dbd79fbb18eaa2dd63a2849e098ec3a87a3df930afcc81b11306329ce0f373bf8b5ea20a3fae64f3309b421e79eaa98dc0a2de016fe381f1482672725bf4a03aad15a44ce9fdc876fd98eae7dead96c88bcbe7ec55eee43dd6729069f24e7e7786fc6c20709d5822da01e477ed86c3d4cbbbef41a8d83763a8f29d8ea5302b0682f4894fb3637e214afecd7a9e48384373e2fa828048915747419b8f64ea8619816150faf0a248510d00f35d6811c51615d27a3842e91fbcf7e2035c0e345ff9d87a6148e2084b881393c121c7a9530470ce7cf2de0f688438a4571d951404fc3412ff2d3c3fe95245585cc8090b7a6be09e59165830408bd42ca9545c1e27d985ff3a1e2499db4da91dc71fb53c405a8a931862bce6ecd4c49820642a1ae62df30b16deddb0949504496b8ab7ab19d49337a6fa9adf605fef22d0a58dc94d468caef03c6f933c6108e8ee91c66dd12db2d60f3b0f78e02f93a3bd610d2c0005cb3ec40dab0c9afb997014f7485f8c7876fafc68eac9dde20cd1ddb6eb07b1421a5a2d16735e23a8e16ed69514ea6848ce53d0b8fdcd3feb259c06352b73412148b2ef94ed7ce1aa353d6874cab11e61c49e8686f01f130de0da81b16bf04391c31096fee25d5c185987179abf926b100c12064d5db57ed7a3017fbc5ff091f28ab5b446a9bf0914d92d6bc15d8d2f1cc22b0a90ffc6fcdd5f3ca502831ed6f3f3c6413c54f1b4077c1391ed55248e6f4876bf6037651d5adc079710e6dbe341ddc885c068a6f65f63dbaac6842b87ba3e882fe7715f5e4694d33fbd2abd960ee01619d479f140e317b2007f0c58b0c4508842d760400aa4829de64c72548eedc660a40b07facad28ccd4e82c9e565b25be264c470bd517eeb4a6ac9a023044ef294898a5c96d8987e0ee9746a4ba63b7c84278d54659daaf81d70d382e9d9370ee45b6edbd7dee570952c529f3a85b90907e1a611aa296f48843b4965dd8a34df2e5bcfed84b113ae9513ec8189e9f394a4a9951e3877578ae261dacc228396411579e134835cc1c5f88a69abc7c397d2ae29108137d85e8f9fba8d71508fa125b32f61150d92486a7415b11a075eb024611b9f7ac79a583564c6af2d3f6fd0b5673af7a4ccb46dbdd39d0ac7eea275fd88ffb9ef9365b1e0e9b9523e026427cc88dea48f360a935d4d56880f02b3cce3d477deaca4aa45aa914ead7ff6d5d264542756d97f9267ea5f3facfc5910b4b45d5c21ffc439144bcffba5946c95fc5f6fe7be41b32fdd692814ddd624ffe5d1f2e439f6373e09353816f5eb784e3725c953b2291f9c96bea2e8616f088fceea5f3dfb10bb6af5333fe3f95c882042d03c0d733f85bccd1bffaf20d913aa1219854f7de4b008c706495ea6d62967f3bb52e50b43db6f0908399f117c33caf42ecdba217645665f4e9556d0487129defa32bb67d7c464330c2da818edf96b58e2832419383902228152f329631a2494ac77ed739a883d304a0f4b505c9fd75565c8ecb9564738d31b1e1509ff10c06577c9f48c3a6ad130d47ea049005085a5ec9e5f2dbcb85787f0bec0c5933ab45a290ad85a12d450520a7315955e205fc78f90388e09f126600550e5df367321ea9b21015a381e7fb2593604720b8056f70720832908f535d265afe4721e26fc1c22cd4b631e3d7db34e08cb4ad6250532acc5f5507e192edf1e015f094134e1a9436cd39601cceb55084685558f99e1c58fd15f8908b376f54ab11765d9c1a41edb51db9740fbd4235c4b5c009774260fc145ca3bbf4e837a8d9a6c820ff100e8e90329f6ab90f168cabae85be58c2775beb28cca657ba634857c54240a01a8cf6b2f0da303b048fb2bfa8c0ca789b34348ec254e9ea7fcb929c839c8ee609d230159ff77382d4608e252262095fc5d48604d7f7a535e164ab423c21165b825883c77219020ea9b8b61abb829746e52d3fcdd6428a12b347b8fe3fc405324637dcf1938d20c7552fa153d2541fbbe5ef0e6358fe67bcbe49b35b6ef36c46a4b44f285c7d2bc63dfe7bd6fc1a40fbf62482760f01bb57ee7ec53ac7855f842cd67a611889eff1bc63df66f35ecab66d241282244a3b5859cf8270770d475752a3dd20c221d341d3e4c6e0d0cf294eb81f5db9fbe12b46661d48a2dd491856e66219137e2f2f9c7ebaacd9e16c6ad9b887481612b0dca4ae0c08ba3a9502592ad21dabcae3e71d84ff162e331a3249721e13f7a63a87b75dc62205ef9354d2717ed4de88cae1029b621700fef79b5be7700514f087c23e8a1fb641487aee7e6ff319e45e01aac395b1e2d912bd803947aba9e6dc313c46fbc96dee8a4ea6690478467b49a1cae7365cd572c0fcd75789898be1c7690ad93dffb61d6dc88bd75447af9ea8561c88588f456594a6d776bf4cbe5d8f7611d4022f5aa0bc96fb9935e0306ed73a5fee1c9e6f37ba2e354f75ea0ef21b80251f42a7b3fb982fdf16204295705dddc379bf8fe8160c3729f4d73caa3a8ad4a4e6bf69a175c2561ca079644432d49ca63c9ad65fd789d38c385f01306e52b0503edebd1ef0f419a5ff4361ae51e29e31a97b4d16095f4d32e4c2b213a59ae421a09013fa0a6f348165466aa921c2e45912deafd823a023cdb2341bd4672ffbb8587b6dd250a32d9e5ba615e5a6b4a9904d7adccdf609fdac2460aded01b3f46ba1e368a5ae097d736575dff1fc27e26f2c1e99825de8ca8979f6edb271daa562c87a6b3861c5319c0084d718934b3a25cf28ff203131890c15468518ec9c75936c9eb2df1056779cc1bbe6c387ca39b05058ea264342788cc362081697855d7474684abee057e96fee526100690619260c7879b60644ba6f6f2a2b1fbccd5e983ae30f21dba9048e5c58d80d6656c6a83a46865ba274e469b1d6b5e7c656195843ff2f3b6c09fe0122ee9ae080da8feb634c574a178ae09e12843c9b535cd359102f4895d4f687823da9a9f2f0c65f8bbdf649c4fcc4d9dd768d16843fedc40e9d15970b6e6af5404b05fd90fe3180fb8b43b793fdc78dabd64f2729f135a0df477266b7ac5b6470423676316bebb192e6a9ad9520e081c2417d1d0b2d066b93b02b9f99240d1fdc3e352cbb49a476b4a178e1c02a59d46496a8fec3291a8d155ffaf2c7bec2193c23abf5123551cb7008116d4b88d3b8b82cd1f8fc8efa6ec9c52e57782320d7c58df17fc3b08a00cce901b2c1437897493d877cc383bc5905440df1b8e392ceca0ac61a16c98a938355df7246fd07cfc5a6b5b32238a816c9647278418e2e70440f28b5f8b82e208ceda96efbe128e6dd390b678c8c4d5cb367c61c8c92e48d27c2238a89ab1c0228845bb8ed874a8c03d7023e34c25da6fff03d3df8c07d7638e4a24a084aec45812db37f9a5e51db55da2050d4ae2a09a96a450fd0ceb167561a499d32a63cb1a31d6fa818b3bb3dfdc06f13522f67e21725e69bfa27cb685c56b28335355e048dc9faa1fea360c0f8680c1aa493a1c0b101c64852aa44dd81f337d2e12696bf56d0a3c8e74c8923f8db5de147536f670527bcb4bcea2b2e97a628172e511c21427c433e9bdfd4427c2e15c6f00e3ad9ab510450373b527e91387c6915c31f945ae3c33f8e8f114e30726e5feb82e8d77b35875193ae1c1e916ad96cd220248da40ff351b5481358037c85443068197fb7a557a9aafa19ea591f527649844cb8bbbad05e3ba7a7e7e416dd879a59e683b0a629ab74d03f34e3ed03566d7ebc48a2bd4d05d7ee5eb6d3b6dff6d3eb492f446a0367d0122c325578d17a5732ed316eb0ebcc1af66b9eaaf90345339873a0d848d5c74d5c582a36266923c5e18a99770b1378eefef1358be97732c1e943eedee1c73aeedaffdab376c4f1a80e779a04ef08683c20c808f60c857c3bd31226bada52b15aa4e34e47c6efacab12686f30d3b27f477dfcb6565025a38527d41cb12e95baaabb6ebb2e33e31ce23991d108d3a5aa7a0afb842244a73a125f463073771911e75a25070402bf131326cc79e3d5f6160d02a1471bf3ab55050086bcbe719f75d1787ea96a31dcf870e1ffae62c3fe188f5466ddcf3a2160e4c76c05ef0c4277081b930c18802a6acbb06122a4d784ce6a2b0cbce5221ad7bcf179c4025733aa465ec2ae8bbcd779c33d9f630689f686432dea7fa0bb40f2afe9c0dd6523e96e518c4a78c546d6535cd7d5624c4056cd1f3de6dc1a532c46378234ee0af6d3908d3e16df0e44c87d6e3ce31a1d80f5442908c7c7d2826f62a009fcbf8eea22ae34c8022182a9386ba6d9ffa68c1efeb40fb8c3aac5911f64233df0b32dfe28b356a3902d5efc13d5bba1c0e4ce6a30ecbbb2755d155f463c34c732860d96b3c11d142395fa2282cdf049397943964176874013ee39a827968cd1a052c7b9d43f79cc47b64c348a10ebd9bd4f5a72f7e1b070ea9c2964ae8ff03173de3487f29ad6f5238ee221ad3141f83c8c083e13ec7dc678560c41be40aa0ddedc50fa25f7bf9ef07210f73379e41b28802327e71fe6d6a319b24feb194e8d74fe4ba943e6bb1b5b194b927041bb179bb74c8d40ac5bea3756edbae4bec9553f4a1ccbbf1227e62b67168f5c2505fd3b04f79b7baa2fd85ba1a716670e336885046149d368251069fb2342e1910a5d7f36748fcac035ee057240fee6e3e688d4137af6663ddd0eeb90d1e019aa3ef2ba852a17eb43ea3590f64d71600b52bdf2e31b09e7f258f4af8c055268a269558126398cb86855e4167c1349bb2a0fc3d7fa140f06e20e99eb20831c30fbdf1cedfa26e3962c3ad0ca6d732eda5a0b408bafce1bae733821f64f5409ad4d8ace55f6211c8bd22177e30a8ebabc3f5a71f9d2889a02ec54863d6f47aca8a9910549693bfb3d6fc783e755b0a197d834a1143763a328cc575c0d7136411d7a57a042a234245acaadb7eabe08bad3af378a9c3ef787a9e0314243c990dc7afad29f61c60cf7202f7640d5fc2d930630bcd0a40c05da2d3b8f2ebea2cc3dc6b62f01ccfad50f08f3bedcf48460f267378c15e399fc86e0b91ce9e7d12f622adf2598e264b8551e218e395991d258bc4009016e30eda3d037fb20144b1859ef99c3e441bd1b0355f020bf0b4a99bd32d9ddc40c5e5bf6a92dc2b772236561cd5414b7072e8f3481521c471399fd3b4cd7ac1231d3fda957ad147aa191bf8b98ebda0cd9bb51ada2bed2e5bcdfd2eb9c0d682587579fbd622c4d40f349898e73f0bccffd6c6e559d6f691a78d54b82ee75fa163d7c75bcd9694feb57367c962b88a7023cc120a0338383ffc6b2f57cabf38a50c8bf8d85ac18d22c369583ce00359212ef3700fd5fc22a5e4a79aaffc2559f27a5cb89ad1322240382c99f41df5a6606d325c94a66b6126fe8d12d112e6c1579bac18bd2bb1472ff3dd2ed996f1a9245fdbc4573832955f5580ddfc14cf0dde6d830d7d6a194451eb738b18c48a493ae91e933632ecb8f864f02e04d3d393e85ae288fddda988ce3672204fa7dcec957ccb20f0e8f7690e6f1d255262bf7af7fa0f45c1a04b750207dc63441828076ac575ad278be8a3175392e3572051ca69f36c71de0c4c363035c6a83aa29e072cefbf2086393e7a8a43bd484618fda4c46fd69dbfd89c7ecf326b2fa2f793181a454daaf98e1148a89785d7db7b68553cc1ea85024dc420b81df0cee32ddc9f07addbd947339f9d8234e3d3f0511cb734c4faf815afda4eedd5e622b08e422edcba181a2450fb0437c0d44bce794455a5feea8a916777e47163a372d4a9adb98a4ea71c9754f8c44605b01dfaa23fc4793e8e09dfc15ec4ee6624e5063fe044357819854988eb3cb28e0f7fb65f13786da2829de077c5108b4bd1b03dc8326644a05e03b1b6fb1560d9e2517bb39dd0d318475d6143a088d7ba8c9b5c1d5e35f0a2619877934b96a2a994dbe150a9ce18b5fa6f3c1f5d25f26280cc4df2950e45852ed0b09b541adf5b2513fbed8a071d687b016a8ff4860178e1bf30cf0e493141a0f16c355ebeb2d580d40ea4bf8cacf120d8d1f304fbb0e80068599804cfa0e2e630b66c3713b53b71e1fca4ba544543b4b87f49bf13d545028d24fb0205a2b2955c5dce526c7ee89852c403fbcee8fa9fb1be59d5b05724a410067864f4ba64286fb1018b0ef03856cc13ded24d53853c8d5508f9f3c5089ba5cff9b9a2b6b2d96526bfa2217c8251396165bc63f200eb855d5998d01bb09b6b42779d68661c8045f9e7506ef7d76f6e42791afefc4ba2d0ac34863588e1e36dbb0c60f9326e3442450d3c80ec1811590d85a63c6ddd449589eab728a9bc38529d6ee95791461d6719244d55c7876eda6669de0dbd5a7c6707a75b746f64e9bdc7d24c74db3bceb228adc4a2cb00265f152ee0e7abd6bf82c44dede98241f8b12575af97a22d83dd91047fb2e0d6d2aa4227f702e5a61ca7d6ca3d2a7bb1e9f78116b12a1b09c9a45348fef26936fdc319192dff44f9cea46a57e333c3b12435afe2d5af549caa45fd64b4823072d8304adab6b0a01d20de7b389d0b87dfe9e5e6595cef80bec2d1715f5d6213a4fa333c26e589d3370b360db8d31a459aa59c6fb7922d1e6c0b056ea7548785fdcfa346903eb06bf8261a45e7e3eabe34242de33b2e377fc1385ea31bcc767f51aea555911fea66efdbb291c9ae4fb53d4c97d50e39af1e74ca5cd0e7ea8e17e7b4ce9bf493765200b32ffb7edb9ed4149c9ef8a08610e98938c6ec46993128bc3c1cd21d643d2bee38232bdc9a2c63e03888c1bec0be31f31d6abad9f8fd4ce434390c5218c4a8654c6230d742371cc0ce9e5d0c491ecf28f7fd7608f9b553c839a5fd48b3f16751ee2c522387efb992203803ffbb266481d405db0daa0b2d385180611a6968aa075266966d54c148920000fa2eea10a49a898589a4a424f6fc1cd6bef153f373b793935b103ccb2d3ef3a6f35faea1db1271f099a34e9081e8e9982f164b2cd5046f986b41b983fdd03881c1fa75ab4e9997a3a6010d44d233459dc2e62abb673deb9a4f646d059024b192c216c9e93d59cdd61c1a1f41c8946ecccc404b44e8c419ac9d39c0d8516e97a9ef25c4f2d12d2ca6e21eac21507db48722391b02ecf6a74adf9589fbdf059f0af5c38444079810aa2c4899a6c62833b5561904d651fb3f25c2963db353bdff2fc32d0475c9147bdfddcbaa68bac12b7c95ab20b303f82567bd7d94f49cc489abe98e897e380b6b65ce01f7e9ca6bb6bb4273ee7242be724fa07d4601cc1205fe9960d8c47fcbc1e27ca65767bbfb719af5a198fbf6ebbb70967e4677329b3f1ae3ba1a70d74c0320577ebaa471f315edbd2a98704d6127a2ec59644466bce463628e638e02447f5388dce4cfd71b756752e67d184ebb0344623e0606fc8d0ce99d1f35e97d0e86947a1c596c937acd89464d226207007c8e5b1d6df89edd089ee5befaee48d8e51ec39466dac8e335e0a55769e1fd1a8f3b26210bb1550e1fd70da6f6ae5aa4904be247a924595d26bdf6622cf51ccabddaf53a80496fa3949add97cdbf72a41c6a5b21effa674dccb5a2eb6885e81f13abe0ae6b8717df9f44491d01a94b3878799dbf45b689548e6a1ae5bcfe65110f872229d4c9f9a38b8cb0f0aa79cfae23b7e8703ca20b38dc9e2e0f7492952e550bd66fd9c66180366306d5f69a85b611249980304210ef255b3748abe701f4dee7b2af49b123e8fb10803d02fa403306c673ec5bc2b97cff4c7f676ebdf132bf66d5d5ad89fd656a2c52cdb73a541445635457099fc963ac60489150c1f006aeccfdc5f38a917b2a387fe93a43aee5a82a426eb431ce757de544d725bc0e10f5e7f0d4986ebaae85f2d3c273ceae3b2cb189d735de3b6d6ed06b9b515ef54784ee49e9ea889562ace17cba9363adf27267a2b8fa09336f8a74f5952f28f6cf6c956af5a126c4a8cfbe7ab6cf82694eed1c69771aa5cd6d87b6fc9db18d5870dc7ea214c9b128e3c025b2572e487b14a30b26412ebff585f9eb5aa3c58ec4d84caa157b38f53be6f0d374caa88a4835ef44e7f0ab72d26ba11d7b7353d0e3bbcaa4212018ccb10d409537754cca3b28ddd9bd000d2b52e0a0dd087e34f7097e85cc3853ce5e3aa39d691c285db57a7c3b5967d2542d6f8828c14fe2f588b4cae34001361ffe1981d79adebeb50a7f74b8595c294356cb1224c2e2bfb623fbb23ca7376be73f650c389204744dea449539b6bccecaa80563be426370bfe7b0f65bad16dd065881d64245daa8ce548c1b13745652e83eb7f6ef3d219d76297666dffd7e85b870241189fed36d1c747c7fffcef5588baf3ac09073f06b7e004d58c47036615f0263477eebe9cd73af052bba8bd1575aa8c023d39eb01e214eb1b1f0c4304870305235ed3d0b72028d906d9b3c9e757657b3bbed06d5ff8d47879264727f098538e807538e2d1c06d8a332aa6e0a1f87affae44a6b118ecde5d2dbd96b3ba30fefd33ca3ad73f6671477c7ea80b7f9cedba83cfe3c965b0ef4eb305f171815a589f582ee735117657b73cef9ee949363aa2e95b51dc1f96b0201ca531fcdfdf7b01a12b1b866ab0b680b113f55e34e32a5b54ef6a48d08e780254ab4f8092e7924d6a900c9336c4555239add65bd6f23bd10b067c9b6fd211df1c10912a5165dfdc1aef792990a246b84ad84d7848b2b29908664689844d25e36a5dbe543daa98c6a1d2a7e5217a767461dfc45aec4c2e34bdb229089ad21d7d32c9e6ce0dc6c0f651f3e0e3dba8a2a8493185bb3ebaf80d930400e0e5dcc45c858fd1d303c3ff1c37b0159bff3178f8c397a2a72bfe5307f60719f50310e936d4dff8a9a3024a0d28d6586a260a8d66006e255c334e310bf66d9d39a1f7245a272a55e5db64c8777213f493f514bf92540c37d5884089879262525c328b3a23359b9fcb5e76b967d5b77f4191c60c55558fc669b99ee246666cacfd385500374f0e0876d6fee8f17f1ad53bfd3227efa38e56c5d95e63e4100bce3ff598a489e4658bf472f5cd2f50bf9e29625e59063b63d3b41fede9c203a9ae2e21d64f915424f65a0ab16617e8f91f1f220558a29fdcc44d2efe061ce6f2fbc3fdf759414e7c6399eeaeb1071fe353299fbdfe0528f609c7841869b1fe0f5751d35034222d48a10cbf9fcf48d142afdefddc0fc7a9bed091efbe38165afcc5abf766fd2053fcb644ca53de68eaf7418247def682d2dd75b26b21f9e91f700e09bf7e7bc0c397cf052c9ce585e091e260230c682a0fd124103c345a0f5bea3a7be1a83e9c81810625e457936a4f6033f211e7bc2311cf435bc508f9f0762af9b4f588c80d5335e0f22951e376daf9ac874973cdab54d0f6655d34aa445aa2d93bffcc88d67b59c545397711c2c96761012e15a2e3b764c3f6517bce4ed515ae93b1dc273ac3c5070cd0542792f74e0a43502f4d5981a1921fcafcf49f2231e672bdaf4e1aeebae612715801a19b60409eadb7ef262341b16217e3d4eaf308449d08e954594c1f11d21a66a0f4e1a386bb46933480140deda178cb8ba44be248cee6884738b0977f1a2a2a585ac013f35b823dc5b7501b6cf7b1bd1ed9febc387d0b5ea8b7698c797f62a1219aec468b0e2370b8129d8d02c6697bebcd76a8ecfafdc887fce30a0885fe5762806342cdd3d328e5e74559975396a2885661ad83f74af8a56e8e5a26e8606a6414ee7a8d4b87a3adba137e357bb5490edbdfe6ebeb68dae57f5fac72257e86f2a0af4fe608ba1cce62288966750f27ac8d41a5bcb859f66d0bfe51f01dbb7b099080c07066c43bec04c3fc5851abaa71a5c132c41936f26436b2b0050e4913302a6b2d4a3ece3dbdcfdcb22584759ae9a68fe39d824ddae15646c1e081a386cadd0c7e088afe7caaebeb3c23f49af133b5f478e3cc9668105258bf2170646f8f423845867b118bd0c8df61e135b64bf6ebb0629909b7c00e6712dc4748995d85a28c52c182c243c65b9754867989d08b6ed2c5f9a5ab98dbaf1f03e78ef9ca22145e040053bd6269811b4010714d09df4122cefc2900ed5c6a488b403934abcd755a9aa8152ecf29be9cf726d8c531a09e32d3a3c5defbd4996fbd88a63e726554a54cbe5506d38a28b89a1065de11f00f6a8d9440054e75665b3dff7881eba00f02bedf6b968d3d87fa995d7f739c2bdff17d64549d33dd81695f5b0f0caf0c496906a4433e114dd6f777ec6694e1c8e8bc6d4631c939867ee1fb8b9fed28101a8306a98a154ba83e75e20b1770e216ac0bdf205864a53efadb79dd5c4bbc66c479291ab466a3df85a490883106c766fb908d7278e3a72c18981a6f7feba62ac259f1947d11807556027a8a2fbc500a93cec71e4442c13cfee17f59bf76fd2e0b2909a3ba74cbb66c4451a3a26c9a03e1f95b075398ee3b525c6fef99622b8e80bafc5b7616df54546586b80a0143215320e1722dcb1683222de5871d60fc02083bc6ef52f47c3bafcad7783855864e5c821718f596df206fa5e7de5081be55b477c99b63376061f15bf28426e75df246a0ee6b71203bd8356bad24c8ca3c4a128ab26211049f92add4e215a95bf8ae13598b0d1ce7607e80f5f6e4f251a17b8bb3727dbecb1711f4c7571b11ef18ae71a8faf9a87bd389d2f0ea642d6de843d0417612c66073deee91ac00270aad8cabadc965a8b7b628906e34d5c48d9e0c5052fb0476dc02c34f117345ef7371371daecbf55f54ad5b5dc702ca7c9633cb846893e7c778def8df0eeb5a2d11e9d8f3aa635ebb8c8ff517c5854b87942d9a5a595da35de1267d6c93c7e5eeab0548a6dc25bf004746ab555a3d1169bd788aaf70abbdd904b27aaa793f230d9c17e3fcd428efe0dfdccc791dccb2fa40bfa11cc8b480c44b8b0422d75ea668cb194992256f105cb7240c34333e2b39a32bfe814b8e123ad94b1ac0d9374b507937008a004934e252a37c23a9536c966327e90d3475c27542693ce5345265371f66d0a655a80916f9ddf43e7d3c7205c0ec14fc5ecb5119279662551615b384649ab441ba51e3f36f94db92a7c4afb3e5b0ea6e59d992fdcb73893f83f7c3b30930caa6057db0158b00c59ea4d760e4a35f2a6eb8ec7b390055a7d6e6f2eeb46970057173923c6eb81b710afb6ecc1dc8fff652fa35264032aeb67e5a3136c1b8bfe0e7a69e048f5d3becf21282c6eec4c0dc1cfd728ca54544d8f061c66f91e5a032c15ef4a6695570c51561abe5fc3ef1badbb5999bf96da67d89809c9d2f7c3ce9b9fc7478eb199ae7446f28df1d3bd05aff6beac2c5346cce47d701e9932a1f4ad35173bd5d3bcf6845621c57400ceae63072b2e7204f72de1eaa684d65bb1331e8229f749519f9d874de9dda31ce39538fb501bc3b2692f708bf61a01d128e0eddf725148766d60a4e87ea3e8edf1e1cce99cd24bfa6b67a8d4a9515b197ceeebec9fb7e479806451159138268e4555fa13e05eb37164e85f8bb756be3d1bae222258afa5c811d910256a955e1949ecf85fee849f4d037f2ab92ae49839318f34aa53be2535d7d6585ed56080752078b46733a8c7a0d0ce0d94750644104356daf0b9fb6da75bc3e6929a249712831a6415406aaf9285a9af599e441a5a186d160e0ec862ffef7edfd744a16d9dcb2f6a209579a112612e8cd114c6c6514c34632341772aadd052e73d52e324cd3235b7805125fb91023fbddb7a2098df53ef9d465b6652d0c2aae9594769212d921e72bd0feaf2400426984524853188329da11ffe62d3ae1f934ba8fa42287dd9cbb34e8510f07ac2f3ef172af0074529244406bf4141abaaa841492fe975d0448c7b69f8bd1dd21d62dea430a1cd4a490e68b89123f2fd26b9d62727eba1f5e2775ed24252a78c0597f3beca384becda131482b78ad95e1fa5591e707022df1506d3d4a48f0e0bd8f7ccac62d8ce356a8db58151f465d83757cac178ce138d7886df94ec7a843a5cd6205085c39e0c588fb3ac208b6d3d00c8023ee218f8d48f2047d1fa825f512294af4e40eb4dd3c678846fc989a7844b991e817c4ef14e6066226e3507206302f2d9bbd71069bd04d67dd2eac12cc0f70b9480056f3fa2b49da540a60ffb4218a7f21c0cc036cb3db2faca4a1861e465e911fb37ba70274cb311bb523d9bbee5a35197cccac38dc834eb77c8fadb2422c7d3bacfbc5c37562063c97e9c09122bc0894a345d99754053d2b0cc4f79855f1fd99d82b9da278c6db62e48ed602bc92b884cdcd2450075bb803a70417b853799a8b727ee14b8d4b185238f0208ca2b712f946c6c058b440b9fddd2308b4578616cf2b5afd38e3a5c7dcd8ae43c125ae89fe271bc539f52942f008301c3b2c2418c3fdc2cf9b12fdec2192e518cda6d5041c9bc80c1a84a49bb4c1fcee75bba8fb0562df0c83c72dafd56d54bc8c9ce30df5e0e5d0af1a90de19a41b53fd6412223bb3f5f7bc17e0c8f1e885a2de633a9c88318387d72db6b7def693931f4964268f5cce67d22d475377a09274586552228e1a00342b2ac8d7dff09b5d81b1b32553d92c8c3a6429e4e36e34ceddf73884a7d68ffd16bf3a28c13d88cef8c618c74b2206d5349f385de1567fb0673d3bed7f817f77ac86f50bc636bc99c32c852ad4c40f669a6771753b01d83dc52229af1e7143bb2f7fec51683b0bf6484b7b802c00ff94af966a2a79fef1d555167c91b01e3d3a0905af03759354c190d1e884b8de1d71cbc6bc90e13ad97088e894039258f7350e719eb1fe1c44a6e9ae13133004be2e806ad3ba0118ae9d7066b0124e427f04fe6256bedb89497eba5f8c0ef8cc34bdb5fb6f8c7251b62749af591fd02a446ad7aac76de40ede6c641dfd155812df4e8f55cb69e770a524dde9fc0a6e6332a1013f6924c12f133be272571a73ea323611c48bd07aa0bc837f9555aaec2a8fb483082eb0c3ed93039d000ea8df4167fe33e40cccbbd5d9bc3c3d8a936db755fbcb799f5046df3c26615835584cc8b031b556af010f5ac23644cbf97a3d0b8faf5ae5f925bdaa1c2c6ceeb395b9f74f5418f1f1f60d212f6419a82b5f200d188784152b71f431287c4910109d586779853fbb991bd84c91c356ad0a47ef477cab3e4d99418aece36e9d3b3903cb9ec971833f0575afc9d66c2cddd69ab14b458b9afcb4686573d854bf523e61cb09f37b3426178454022305516e84647638bb4a94d19ad2ef31bec086b8d46a278cb5f2da527fb1e588fce2781c26d92a59e92adcce54d4eb688365441a9aeb948d9bf0b3828632583e8407235b1fed34a1ecb5e7fb4e9f38320b15e882ae0e6163f292fa7f9a602fe59f72b6c8db0921ba23d56b1dc99d4db6c31818eb9f49aeb80e62b3b4e4dc18df3f4093e4c51b7ee2e1ac56b676b29ad937aaad3058bea935b0078a4a89eaa930ae91bf7f10ecf4e49f99e35ae9dea4e4baf585f71b28c9dcacfcfa6e9796c73b50b6e158977b6b52ed9ee4b2f2f150ed97a2abedcf9e7c0e1afc2e97da598570173f385f1af24f4a4aa3f7c1d7323b018b705bf4be40c64369ffc409f3fd4a1799845f43cb41bb414f0c6481ee1f9d4c805e996b644e5e9670b0930f1efdb5c09abc0559e662bc69f864af7cfbf263f8af33077318fcf580e8316825fdb44571313656c2c61059a2425890d9b31dec47d8072c3bffcc53e0d2aa0ea4c915965c776ce9fa3eabf8912834c857dc8ebaacded219e13ae86176f8a5998684c148d6eace0aac27d17bc00b9f6db60865e63fe2310b549fb2ff84239c60d006ae230e839b18c6eff8fc02e2323d8383b0e952f56cedfa44ca063dc6a05da509b2915843b8b0b0ce630ea01d237b56922b4c3ee1f61f2e24ae341e2c4edef139821eaf89d04ab18afeab551cd944181d752edbc190f215bb64b271acc55b14bca665b9d9ce2ba6a7fcdfbf9c68b0d6bea25a7a87213ec1bba6a38dcef79fce1dee7d6d403618ce811018f29e857393f1f23eb232fbc4e4982ea9f863568172d8329f1906d451fb3eebf8ac70f10b43d437c93d946d27770ed267e14d1782d9699376334092c720d4746043eebe6df44aecd463ac3d868afb52e969ab63fb6091c18400e17e46638ec6b2be3e30efdfc72cc9c20037fb1931cb20f88ceb8a26089e4a3042cc1996ecca3173dab2128d89af7fc6188dee49057b54289a1dbf823bb8696644d85776fef4a744427c1c8627b274276a6d7629409b5d8eace71c0546f2d9a4cc998afe45cbe3f2c7960fe5fd5ea952af7a5d1237139de1d614dedeca4c22a992cdca6a2ee8452d3ab25ad69774f9dd2f864dbb80dfdc17e1dea6499d80b122282f5e9421db902b0d88e2328f78c19ee3dfb2237cc4dc05f6380c9047883db69dad450b3b595deb8aa6798bfb8808e58f9cbfc9fa38e568f32e2825a0d354702301930e52fb321e8ec0a5f2e77d484e654c66339cedb4dd6cef8e599ecd5e6b0928b3eb97500d45a9b95b04f6ac2e7d0b70c3b9f43a05614712c05734a38ba396ccb763a4500024a5850f2bfb4df729b5d6da54148d14e398b0e3ff3fbe47552f164bfcc518313208b8e560fca5518d0ecfbcfbca638e1a338bb9029378bc610cf1a23d2e0c6cc63a54337e4d80a1c3737d1dee6fece4003f6a72bf6af35d1b1f29d00464b9fbb48c99599885d566c43cc68f8120f10e5928f23be079d051746c101c60fab874017d1246a6fb471366360388a2754d1fba9eb7a7199c3385a9d4865d0d7bb8d31539d266d923d7595a336797c76f93f744a13f47a174e9b1b1d4c44a8678f600fd3c5fcd5635ac2df0837e13dfba0cac40b16d024b0c1fb525d420c5ec6f880b1c201d3c8d7e9e3e49f616a1d57cdbfca5f3328a32b8681662f297e02d7f08a8abe66df9430403ab41ba9cb2568c62c97cc6bd2c8ad287bd4cd4a9e30563c495291e0141013055657ee514535205127956df618eefe66a79800384559167906a817a5b3494c4347001242fefb82cef0ca046b6135b4670d60af7d6e216fe21f9a7d71f408600c7231efebf8a01b187620f2a1d6cb1590c9292cc0569b09b7c96441226c7f47028624c511a449317d0cc9e6b1f8f1b3b1e09491e55d511fca408a22e2d79642eaca97666180f87fe840f970748710a5f9bd6e8482bc2d91f6d93a0d86f479adeed337224827247535ecd130000bb0b11e5574c0b99736518d451fe94087f2ac0ea55bce70ad9f548f37c19703daffbe8ddf82816c392b1547fc15e9e6befa490f2e2d6c8186cb8a6210ce45e4f2c92197e37e781fef4b56e3c9852331a04e9a32da246dd0c0aa589231bb98f9ae7c692d796cf67839bfec503c96a3050be1f41f5affbfbf9a6e2b6538dba182297ab39018561f6eaf092d6af71226c09a9cc6731c5baefd87471b2786cd8f0374abccfdc46375672a82bd1f337ab049c4fd645a13574d89d7248a3b4e1d11fbfad9fc6bce487dbd46e80540118b2499d22dee816aa171404c8f8a191f4f8b60bb74048f7e283d7a37b49c30a3e7bb49a83b1388577c629a67ef0a265522ffc8b2f69fced2e76c20aaa5ddeb6ed4d4da9c4e27e8d3cc7a6b605b2b6166feee6f1f48534fb6151a9715fd981ff25486386d4ef4276a22d78056a355f1695145ae3065fe7b1a65c9f74fa48a0efeafc62b671015970ac215ee5bd6e118cf4fe7639ebe3669ae288c65ca13769b61ebddcaf22a6d3f9f5c516fe1fe6aa5c1ea396832142763d50a0982220c2faf1976e0538805d3219b28e9e5155f500b85628d240ac2b4497b3a058f05563e4ccf06c43a26e248dc64562dc916c4f24a925ec7d8c3ae1741bb9f2c3b0659bc57f678ffab413d61c7654658ee3641a72c992badcb752e6b1b9c5bad6debcfe53938d748db698913e1eadd32c51e9d063b547c4dd8b5b3ee8ac50b3d70e2fc477497ced8ff0a3f54926dc81ed28b191359b5dd4848af7c582cce58a39b681c2c61ce353eadc6eb6a9ad30eea774750a033bf41b36a332ce791b070bafb418533afd80d681099098bed53fa1dd6ae4a0128e5b80dd1d0fac7fcf56d5e8c2cbb8e47b281b64b462e8014df78dec5f2fccf0fda56cce19f63ecd318e87a9736a34ad993b1dde406c4f454f5a4b9e17310dea00836f8bcd52d34e29c96e001e779c57ea54f129dfd501284b207ba0fa00653647e9e9c5b1ba2e1e7a8ca0e0e7f357808b975c721e806ecfaa6be3de2addac2411f35d663150032b1cffd1591b9c8d0426f479ab187b84730e1ee23c8215e2b180d240b0e1f3418163acddc5c567cf2faef4d95221834a3aaf110e2a8932a25e77220c10d48ace91740e1548771d5d3ea542478918815ed92b6acd6b1507e4e8dbc88ab044f304fd24fb061b97dc6afcef68398c1be46adfbf6356a1f665d44ae80192694c2e31c6adae77e21daa0cf0f16c9fe2e40c60aa03b6b96b5deeddbb1c2e7ce9dbc6dfee36411f210c803235675ec003494e8663a0522f09bf9207d0fa15623a6a68defcc28cc907f53cf04c4cc3e4ec8153f0e80f9deb98e49f418a6b0a41a6a2662f06b13a70f20283a63684ab9457acbffe914f6ec4d0425aebb1f2cbdb73a98ca83e7c10330644aefbbc36858e218928c1f0732931be7b83b40d0aeddbbe5146e5b1eb04b677fb14045ae76aca7a3d3df989fcb1fa5fd1930a6a43c50ce6a319aabeee0381b517b54748b30f3f78e5b114eb493cdd184226c751896011710b755fce01ef8f2af993cb310b6eb36a72dd8d97c2a4a3d15069e482976f5a18849a76f35b5d8a7aaa75c6c1d03378347c7c4ba59c2a4a5139d897e4e0116a8206922b72b8782045933b20c8f73133245b1888834b2af53fff0826cdf1e8664ed078cef2c2aa63e9006f25a44e1ab932bec1d454ebef254c6fcb9bea947b76fde758b74f099d7bf9d0a0d5f880c315f175abadbe0bead41c16fd29f06cdd1f6f971fff212cce220dacba8fb05660124284a38ed939b7f842ab70cd7649d9bcc4fc4b3be2326284b59c218ae0b3cfc30f7a64f186d3bff1c8bef108188f3fa363e0c63c4729852396f7463d609314162c3883be6fae48d32fce6401d67941595c3d6ef0d297cc31b60b8cad5acd2e6c2ffbad4eeeaf55ef4c53c988655534c9a2a4d7319f764b62836333dfb4fcb8b3ea774ffb0976781dbeeb2680f347590121508c492f9d9755352787c417e98a8ca23b33bb594474d2485bb0adc4368616844756091a7bbbc120137283de0872ba4a7b2113c62324241045fd3ebe90c24ce248916af1817fee7a900fda143f815b4fa04aa1276e3b5803f600e7fd1b2662d87dcdf86925763736843ffdaa3e19603b19fa7f9de78572276527abcc14e524fef4ff672bd4f179a55b9b74470ab1c24572ba248175bf5e143b07b91a4fa35066b4a910a122d8215e8568bf873510a5e855cfca0508fdfd10a06df675a4f8e5665d7ac5eca18e6fb18ea4b50233c698bd6d03b26c4a6cf3c0f7df20ae8a93132a3459a1792201901e36c0631f14103552123b672851c07c604a2044fdce28bf59db6f4b812c764ab768e8d92c03ff179b9540a3595f4e0aacdefff81789ff1b0a0142a06e94518497efea7dca0c6902d929a5137c4def122efa37ede67b710a609f2665f4d3f2bd78b4832127e63226ac171c07858f57bdaf3b4478679c0dc1159bf22574e46d1e5899bdbb8b85403a4ceafce9d76726d22dd8ec435fc27ad65641c6a9064a96ad24576a18d45b4ab69e951059d92cf1ab856d4ce49a4f62ffbee56dd0dd75be617d323e2d53632ab35760bdf4a2809b310db9fbf10f5d25b02cb04abf23acc79b9e17fa9169e3014d3962c23cd4807a5cc6ab53083ec717ffd2e76e362e058c46710b4fffa54110e43939b2ba995eec77ac2fc0e018b18e5a95b94b69388f4a4aa2a84391641f303fdd0d013f0495cc7a3b2d4e2e0aa1c426c940154dbd1423825c498f1dbd9fa9f6db7561dd147b896140834ca634ba76ff9f85a967f5b3a708a571f27cef30e3f7ecd1ef4a2aabfe3e32e09c4ebeb9073b6a5c626442afaee4fc3c7b4a9989caeb51149e53c69b0528bbec05421443b8b1ecd19cee7d1633c0729e3e6f27333eee90c46b6ee49a994e071a27f1fdff4e12e3a486d14497b5ae2ee8c616dc640f66d32aeef324c8ca79fd1588f05a7c90dcaaa940a9d128379bb4d7aa6d173c658ce55d37ffb380d5d0c4ce67d7de2c98437363a77f4bb888ee796ce91e2c2891a87bc6f799f0bf04e44cf9a495410f297958fabf135546b74522e80ade6b8a16f62f0fd695b0217050503453625ebf0fcc177e9cb80a37498d9e6a1450243643bf185cca677cd6729c77b73430829a92e5f804a43c839a078a7d0a863a9a6030c72a2118eb7a24b579ed49733cdca58aabff9dd43cec3f13fb51c47b43b626969014c21740de8954c2031e147fb82bafe8347eb939d5972c20a81c8eb83e81e16c8fea7bbdd7c6560ac5f71f8076d069d4923517deb42bbb095d03a96d19b7b250d460ee664a2b9a549557c31643ad88101b71d1ae2353b8f4818e984e63a42265f8e537c21f8282c5b7bf709516d38245e037ad655047c6d555650dbed86c4701249a68312aeed19e9053eed5cdeb2ab92f3859f3e8fa9dcbe09d786d62205e9aae518dcbfedd0f143c47cf14dc5606b3af8f9e827c5ee750f17171a1b9019910916c9a5aafd50ea7c2da63825ee0066695ed9cfea760bd729d421006034afa96767cbc85e08d75aee773b1713ae4e7c19ab4678767b03eb9717f3a9816116fbfe08e0a82acb9afba1fbe3d30ef57b8a3a4cf82346163be2069006066555c989b02ba00037e8f65e8ffa36835bacab151a538c42d29b8e29e233222d23163b132beb72a5c0c266306bbc558c481b71b7ebd47e81295887c314d1e3be0b10a3062a0119c64c977a6e5925c34e7e84457d6dfb8ad6d07ef9497fb9ff2615ef11421e6b192a9d54537f3fa4ff514fe22a924a45104bf09394988ef8ee0b884f3d7004f1f678184c6b4f136e37709d5c98c9577801b472761b5bd0cddf9bb9255b50840b4985087183485066695f7ab41dc2e7e3c9196b3bae60850edd01f9731d4c47109f682cb3c948e05405ae2e66903a25357b04a0e1642f094cd74e68e634a9a042cb8ecd4789816306e857ca3f91a24b6d9f5c71b7af050417bfb45f852586350c90512141f3e2359459d850d68eb696dbf6a5e942c96c4b72eb52c1a2ebaa7d0798b73ba891683e8971c8b66e9b7d8af2f5149cfad6d55d8d228f9582b6e0686f0afab904632cbe55359274b0a265cdbdfa210ae9d657dedf553da4027274cf765a6f393ae3ea579e468444972697cae6403dda4a9fe6d008867f849b27b8863bf92b6abf2739012fca0a2ff4ed4d4fcddabc2265db33c7f21aecd2d5c350161a0a496a50d0829cffe07892ceed65a5bfaa5228461fcd8a421cd844fd31cb03b0a8f07ec4fd385506bd0e62815af85adec25d215e5b72400046406e8018391f6842f64df5fa49349d39f272133b1f020a1699a86fd6b08e49f52724e81ab9e42510b86031983deb7fa733c1895d10e589f31f8f3096256d59c45d20e3c3aa56df50bd3b0dba6f162b81fdb6f8008fa6cf4c0f6749c31b8ccc74e02a60b95a21e86a7ee5a56f10f8e1225ca55e0c45a3487daf23c148a6b139286295a1ea6d851fceaa795d2b3a236f484490899f46ed4c4e9bff1eccd21bbc850e6afc66a104c31a3eb0ca50c85473620e76f896603780756256efa0a35b2a21fb5a9433be516ffed26150342d53ddd12599949e6ac443d9562089948d430d94fa2847e04f8490a5a895293f14fdba9b1fabeedc1ec382234aeab9d32081f35522ebcc14e7c2478a37f66ea5007c6faaaa906ebf9b6bd795d1d47756b297d7a0438ae8b4d86e92ab0669a5e1edfcee58ba755473f30c30cb556cb3862e32cb734101352069cfb73f890ea808ea5abf03b3a9267f32d2412d21bbe980261e54dea5ed6cc37e436f6024eb53e3153fe3f5bdc27695318d4fcbb1f7be96f6e7ad4b1fafe8fe235f99a450656df4457e3a472c06994017b152926bf2842e4a2943fbd1deed4105a562f8a307e890ce25104fda241eb7eae2c047615978d76da48668209051e7d37b8ea2e004b13e7fda8878f5d165e421dd5445d6b3f626c701ac4752cc20ee8070d2b8ce6cab0615cb49c507424bfc512329723243f35bb954501e511ef4c18f667036954d7c575fafaefb0706c507fa8c7c2ea962ec54a0ba68bff74b45eb79de76c455501ec8f4ff93cbc38e045c5d045fd991ddf2b208dd9bf39a591f50e6ec793416e2867f54e8c6c7e89b68c2e58a3e21b43526546904f196859a010f0b335adfee6e145e035797defac6c4e90737b92f8825f5ed0740482819f3fba7826297908bbd44ff00b64ee95d262d60866319c7cf09c3d5b2926ea9d9f068801c8ee0724dac66604b03ac50b18295775fb8b0b215a51fc05bc152a12ab32d44cda758721c5df53f2aeab1b1e3490aa5a7c2bec3ee81ba68b2b0774cca68183c38d02f893dc03f6168782e46ac73cae8574cc6310a34054475fea1cd5432006aaff3c04bb2b429eea938c362e3d78c33c89ca40639d0bb71502306afdbc8646f6ef362b79c54a8f9211aa290ad8b363575fc30ab04aa494f8ab239fba636663b950ccff763bd3b95a3c214ee2344ec895c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3eb25a2092f0752b754e933008f10213c55dd5ce93a791e355b0abed9182cc8df9702b9e051e82b32038ffdb33a4f7eb5f7b38f4cf6f514e4182d8898f4eb0b7fba8d56e53787d13dcd36716358b832e296eac07b2c93853afd5af19ae48b24de1ca0a806d64c8846007a55d946deafeb67397c1d1c06f3fbd18577d4676b5011e695cb6cdfd208a68a6318a952201574427d10637518ee3a1d1353cd4d2e4d70fe230e979f14ddda1cf6b43aa4997f416f9aa32d6f4bfebb80e9901d08ba3e58047e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc0082db4a1a2ac01f08c512dc0eb7fb96f15b4992d8e3810701b9ea322d005529a8b54115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac639c64fe27854993de85c10e737c5484969183c83e74f6479d57f12a1b0900549e402af2f1f7b2945ad4f4c79c86098c872f419dccc4f61bd3758e2606ffdc87f3f808f0aa32fbe90fb9c9c846917faff3fdd4e236c284b76c02dd33753dc9017742d8fad13bc28fc726775196ec9ab953febf9bde175c5845128361c953fa17f4cfe678a4446900f4081ab8d74ef3d1f8b1002edbf8cae3db292fcca0637310ed108f280badfe5ec5168738c4f70a59bc6ea9d1e9243ff2b951386fb668e935028aee734ce55f6ae05b5b63986b238e6c833310cc4861c7f1ec9d18b7e6ce184b737f1c0b2481c8c498ac76f2c6e453c1513c2b63001f661e849fe60d9048476f6aa9131a91cf0f4cf0fef03936939b6a1810ea33b9e7ae0fa980b413f03c854910c4f1ea1349d94ef626dcdb5d05584ef571c2095cb6675d50f978addb675da7c3fe7a58dfbd2702fbc70c789633176db3ca4fec743cd1bf326f87ba7144a4f244a9838cd081289c517be6eba0f81211502e9076056ee0a13e975002894e9bd5058b06eb72fb9c0d38f2fb0c899c12025de4abefcaf417e78e93f39ba534cc19eb41b0bd75a4e5bc70c6047b76d18587a98d01d7ae707c6382e423dc5f3bbb2b4f970e43b0cd70508b34eb63875709c66f38a60f4daae9d43cf2f2b1433412a9e098532bd37661535690389700570a4d57981349c3592df9c39f10ed6965bb816d1ead7738ebe591e2b40f891d20f3dd4e851c5cf08eb679fb7c3f4ffecbe0a3a4309e15a62b12657605ff3298061f236da13794c8d5609e8173494369fa04f220314c567b0121e491bbb374dc0092e53f717c829e954101b082e9ff5b6f59769320d80636c7eff836953b0690760ea7344932cffb4f1e8ab2b2897bc9390cbad426cd1ebf434e5169242a5789fc9b16c2cfa92a0029be21e88b8aa1f2f063b248488f98da27af5e4c69a8a054ab62dc883e71a38ad3252a77a09158a73f7f39a06430ebecc0443f9831aec5de107e44c319787ae8cfc9e1d1e7b01ff42acda32255296eb35e7bee14302e0c3b22ac2ecef904e2bd4dcaf0b7720d719f6fab31882a14792c5f3c68e97bce3f8eaae7136b33874800b812b197aa76ea8927e0d93aa13cc84b6bbb64c04cb4a085f508ddc3fc81ce4b820e68a916dfa1f4d0caf1fcfd5464ec6d2a9bc2d74d98492008d9a95247636158aa84aaf46d2e462d4010ec0222137965bc47ccf458267f3a38743c5b88ddd6c2679ff543b82e259e73804fd8a755d2ec26178239f445880274b91e18a1fcc3ddfd99c9db082e78271b35d993e7d32f54740b90dfd6ff0c76066e9b4408829d50a0c844ad927d963408fedf32f628c25ffe7499848a3925958d03702a7b7120fb8fc8997a7a134ba59aea46e6ee757d0390790d1e2f802a1d9104f7d8559c98acfeaeaee0198af417125d2c2f9b295f019d4562c50b6f1bd04b588a85a13d3410c9d48b48664dae31befbf22f61971d231cd28065d88dcb1be505cd3dc7d1a006209c4d27001079e3fbc7fa54e92120c774c9c8e29d6374540203593aed16a00ce3bc00fb1499377644bbb343a272759de6a2fef1dd03e4971b16c3b6f4376838ce853d1128b38bdd4e4df0e42ba874a9f7d05bccc37c475bb9abf4727170584ccf9cdf22634ae3829bcb9ae3699c9557284144b5bc555c2aefce9d95b24cb3b8136ac5c38509a3b50b3f0303dfeaac87b80d2d1e543aa38d5be77b0eac93c3d04fe7e3c8eaa71a7786672202949ad2951e69c2f573202f0892dd092ab8e9d6132374e91eaa873abc4318libLLVM.so.7libLLVMTableGen.so.7rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootllvm7-7.0.1-lp151.2.15.1.src.rpmcmake(LLVM)cmake(LLVM-)lib64/BugpointPasses.so(LLVM_7)(64bit)lib64/LLVMHello.so(LLVM_7)(64bit)llvm-devel-providerllvm7-develllvm7-devel(x86-64) @@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfigbinutils-develbisonflexgrofflibLLVM.so.7()(64bit)libLLVM.so.7(LLVM_7)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.4)(64bit)libstdc++-devellibstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.5)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.14)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libtoolllvm7llvm7-LTO-develllvm7-goldllvm7-polly-develncurses-develpkgconfigpkgconfig(libedit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.21.907.0.13.0.4-14.6.0-14.0-15.2-1cmake(LLVM)llvm-devel-provider7.0.14.14.1_@^^@]]\u*@\iL\Martin Sirringhaus Martin Sirringhaus Michael Gorse Aaron Puchert msrb@suse.comJohn Paul Adrian Glaubitz msrb@suse.comDirk Mueller Todd R John Paul Adrian Glaubitz msrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.coml.lunak@centrum.czmsrb@suse.commsrb@suse.comtchvatal@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.comnormand@linux.vnet.ibm.comdmueller@suse.commsrb@suse.commsrb@suse.comfcrozat@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commeissner@suse.comschwab@suse.dedmueller@suse.comjimmy@boombatower.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.comafaerber@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comjslaby@suse.comidonmez@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtchvatal@suse.comtoddrme2178@gmail.comtchvatal@suse.comnormand@linux.vnet.ibm.comschwab@suse.deronisbr@gmail.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.commimi.vx@gmail.comidonmez@suse.comidonmez@suse.comidonmez@suse.comro@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comrguenther@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.com- Fix dsymutil crash on ELF file. (bsc#1176964) * llvm-fix-a-copy-and-paste-error-that-would-cause-a-crash.patch - Add fix-ppcle64-build.patch to fix ppc64le build. - Add compiler-rt-sanitizer-ipc-perm.patch to fix build in the SP3 tree - Change Provides/Conflicts to be versioned like in factory and required for newer llvm packages. - Add Conflicts: clang-tools to clang7 and llvm7 packages to properly handle newer llvm versions. (bsc#1179155)- Add patch Fix-big-endian-miscompile-of-bitcast-zex.patch to fix miscompilations with rustc 1.43 that lead to LTO failures (bsc#1173202)- Add llvm-fix-unordered-stores-when-lowering-to-cmpxchg.patch to fix build errors on i586 of rustc (bsc#1171512)- Use the documented LLVM_ENABLE_RTTI to enable RTTI instead of LLVM_REQUIRES_RTTI, which "is an internal flag that individual targets can use to force RTTI". (boo#1139584) - Drop obsolete llvm-build-tests-with-rtti.patch.- Add a clang-%{_sonum} symlink, which is referenced by /usr/lib64/cmake/clang/ClangTargets.cmake (boo#1138457)- llvm-Ensure-that-variant-part-discriminator-is-read-by-Me.patch, llvm-test-Fix-Assembler-debug-info.ll.patch * Fix crash in rustc (boo#1126907)- Allow use of Gold linker to be conditional - Disable Gold linker on ppc + LLVM currently doesn't build with Gold on ppc- Update to llvm 7.0.1 * This release contains bug-fixes for the LLVM 7.0.0 release. This release is API and ABI compatible with 7.0.0.- enable gold unconditionally like with llvm6 and older - reenable openmp support again for aarch64 (like it was already in llvm6)- Use %license macro - Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Remove ppc from Exclude field in spec file - Allow use of Gold linker to be conditional - Disable Gold linker on ppc - Add patch to fix SUSE GNU triplet on ppc * clang-fix-powerpc-triplet.patch - Add patch from upstream to fix ABI issue on ppc * llvm-D51108.patch - Limit list of enabled targets on ppc * PowerPC;AMDGPU;BPF;NVPTX - Ignore testsuite failures on ppc- llvm-drop-llvm-optional-clang-specific-optimization.patch * Fix ABI incompatibility when libLLVM (built with clang) is linked to a program build with gcc. (boo#1119092)- opt-viewer-Find-style-css-in-usr-share.patch * Make sure opt-viewer installed in /usr/bin can find resources from /usr/share/opt-viewer. (boo#1112730)- llvm-unittests-Don-t-install-TestPlugin.so.patch * It is only used for testing and is causing failures when processing LLVMExports.cmake.- Update to llvm 7.0.0 * For details, see the release notes: https://llvm.org/releases/7.0.0/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html - Remove no longer needed patches: * llvm6-fix-gdb-index-crash.patch * lldb-fix-build-with-python-3.7.patch * lldb-add-pthread-dl-libs.patch * polly-cmake-Trust-pkg-config-in-FindJsoncpp.patch - Add tests-use-python3.patch * Prevents tests from failing because of missing python 2. - Add llvm-better-detect-64bit-atomics-support.patch * Fixes build on i586.- Updated llvm-remove-clang-only-flags.patch - Exclude also "-Werror=unguarded-availability-new" (bsc#1106000)- Update to llvm 6.0.1 * This release contains bug-fixes for the LLVM 6.0.0 release. It is API and ABI compatible with 6.0.0. - Remove no longer needed llvm6-fix-InstCombine.patch - Add lldb-fix-build-with-python-3.7.patch * Fix build with python 3.7- llvm6-fix-gdb-index-crash.patch * From upstream, fix lld --gdb-index crash.- Do not requires gcc6 for older sle versions. * llvm6 is not built on <= 12 SP3 and this was preventing build on 12 SP4.- llvm_build_tablegen_component_as_shared_library.patch * Build TableGen component as its own shared library because it is not included in the libLLVM library and is needed for ldc. (bsc#1086445)- Add patch llvm6-fix-InstCombine.patch to fix InstCombine init * Will be fixed in 6.0.1 release- Do not build stage1 with debug info. It was accidentally added with the use of %optflags. This should fix out of memory errors on 32bit architectures and speed up build everywhere else. (bsc#1092697)- llvm-build-tests-with-rtti.patch * Fixes build failure with gcc 8. (bnc#1087136)- Do not export Polly static libraries which we do not distribute. * Updated llvm-do-not-install-static-libraries.patch - Use external jsoncpp instead of the bundled one. * Added polly-cmake-Trust-pkg-config-in-FindJsoncpp.patch - llvm6-devel must require llvm6-polly-devel * Files in llvm6-devel reference Polly.- Update to llvm 6.0.0 * Added polly * Notable changes: - Retpoline Spectre variant 2 mitigation - GlobalISel by default for AArch64 at -O0 - improved scheduling on several x86 micro-architectures - Clang defaults to -std=gnu++14 instead of -std=gnu++98 - support for some upcoming C++2a features - improved optimizations, new compiler warnings, many bug fixes, and more. - Use alternatives for clang's bash autocomplete to prevent conflicts with other versions.- Remove liblldb5 and lldb5-devel from baselibs.conf. They are only build for x86_64, so no point having them in baselibs.conf.- Use %optflags, except for FORTIFY_SOURCE which is not compatible with compiler-rt. - Exclude static libraries differently. * Drop llvm-split-static-library-exports-into-their-own-export-file.diff * Drop clang-split-static-library-exports-into-their-own-export-file.diff * Update llvm-do-not-install-static-libraries.patch to not use EXCLUDE_FROM_ALL which is not available in cmake 3.5. - This fixes build on SLE12. - Do not force gcc6 on OpenSUSE - fixes build. - Reduce the amount of concurent link jobs by increasing their memory requirement - to reduce stalls in OBS.- Cleanup %ifarch conditions, remove targets unintentionally added to s390/s390x. (bnc#1078436)- Limit the amount of parallel link jobs, but no longer limit compile jobs. This should prevent running out of memory during linking while not longer slowing down compilation. - Remove build dependency on procps- Reduce disk size requirement to 30GB in _constraints. We no longer need that much since we stopped building static libraries.- n_clang_allow_BUILD_SHARED_LIBRARY.patch * Allow buildling clang with BUILD_SHARED_LIBRARY while the rest is built with LLVM_LINK_LLVM_DYLIB. (bnc#1065464) - Remove clang-devel-static.- Place gold plugin to the right directory. (bnc#1073210) * It must be in /usr/lib/bfd-plugins on all architectures. * Remove llvm5-gold from baselibs.conf - nothing needs a 32bit version of it and it would now conflict with the 64bit one. - Reduce _constraints requirements on 32bit architectures. * Since we had to disable debuginfo on them, they require much less.- ignore make check error for PowerPC as bypass https://bugs.llvm.org/show_bug.cgi?id=35871- disable debuginfo build for ARM as well- Delete intermediate files during build to reduce total disk usage (bnc#1074625)- Update to llvm 5.0.1 * This release contains bug-fixes for the LLVM 5.0.0 release. * This release is API and ABI compatible with 5.0.0. - llvm-do-not-install-static-libraries.patch * Updated.- Increase minimum memory and disk sizes required for building in _constraints.- Rename python3-lldb to python3-lldb5 so it can work with llvm meta package.- Rename python packages to follow naming conventions. - Remove unnecessary dependencies on python3. - Make opt-viewer not require python2. * opt-viewer-Do-not-require-python-2.patch- Switch to python3. - Fix %check tests when used with python3. * Define LANG=C.UTF-8 when running the tests. - Add explicit Provides/Conflicts to llvm5-devel, clang5-devel-static and lldb5-devel. * These are required to be validated by obs repo-checker.- Use LLVM_OPTIMIZED_TABLEGEN to speed up build. (bnc#1064786) - Fix files of lldb4 to work correctly with update-alternatives. - Remove Conflicts clang(LLDB) from lldb4-devel - it does not exist. It would be provided automatically, but no such cmake file is installed. - llvm-do-not-install-static-libraries.patch * Do not install static libraries instead of installing them and deleting after. * Reduces disk usage during build. (bnc#1064786) - Do not build unnecessary parts during stage1. * Speeds up build a bit. (bnc#1064786)- Updated baselibs.conf to reference version 5 packages. - Deleted rogue llvm5.spec.r29 file. - Deleted arm_suse_support.diff, llvm-add_a_LLVM_USE_LINKER.patch, libsanitizer.patch. - No longer used, applied already in the source.- llvm-normally-versioned-libllvm.patch * Change libLLVM naming scheme to match our naming guidelines. * The reasons for the original naming scheme are no longer valid, more details in the patch.- Disable all thread related tests in libcxx. Many of them use timeouts to detect failure. They can fail randomly if the machine is under heavy load (happens often in OBS).- Drop llvm5-devel-static. llvm5-devel contains shared library with the same content.- Increase disk space requirement in _constraints to 45GB. Otherwise the build gets stuck in random places. - Skip build of lldb5 python on distributions with swig < 3.0.11- Copy from llvm4. - Update to llvm 5.0.0.- Use LLVM_BUILD_LLVM_DYLIB instead of BUILD_SHARED_LIBS to build single libLLVM library. This is the recommended way. The old way was causing various issues. * llvm-split-static-library-exports-into-their-own-export-file.diff * clang-split-static-library-exports-into-their-own-export-file.diff (bnc#1049703) - Add lld, linker for Clang/LLVM (sr#517692) - Include clang++-MAJOR.MINOR symbolic link (bnc#1012260) - Remove unnecessary dependency on flex and bison. - Make sure all binaries are managed by update-alternatives - Add llvm-add_a_LLVM_USE_LINKER.patch and link using gold to prevent memory exhaustion on some build machines. - Reduce debuginfo on x86 architecture. LLVM libraries are so big that they exhaust all memory on 32 bit machine if linked with full debuginfo. - Speed up build by skipping parts that are not required in stage1. - Build lldb in-tree as one of the llvm tools.- clang-ignore-stack-clash-protector.patch: ignore -fstack-clash-protection for now.- xlocale.patch: don't use obsolete - libsanitizer.patch: fix use of undocumented types- build fixes for armv6 (skip testsuite as it requires 64bit, set the list of targets to include ARM and remove triplet hack)- Include provides and conflics in baselibs.conf for llvm4-devel, clang4-devel, llvm4-LTO-devel, and llvm4-gold.- Update to version 4.0.1 * Minor bugfixes- Use gcc6 only for SLE boo#1041469- Package libLLVMFuzzer- readd arm_suse_support.diff which was accidentally removed in the 4.0.0 update- Enable AMDGPU and NVPTX targets everywhere except for S/390. The AMDGPU target is needed for Mesa Clover (sr#485802).- Use gcc6 on SLE12- Package license & credits- Update to version 4.0.0 * See + http://releases.llvm.org/4.0.0/docs/ReleaseNotes.html and + http://releases.llvm.org/4.0.0/tools/clang/docs/ReleaseNotes.html + http://releases.llvm.org/4.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - Drop the following patches, fixed upstream: amdgpu_revert_r280589.patch arm_suse_support.diff clang-fix-substitutions-abi_tag.patch clang-incomplete-field-types.patch glibc-2.24-libcxx.patch llvm-install-CheckAtomic.patch revert-cmake-soname.patch- Enable BPF for all arches bsc#1026191- libc++ must depend on libc++abi- Stop using otherproviders() due to an rpm parser bug, use self-conflicts instead as suggested by mls.- Add amdgpu_revert_r280589.patch to fix an amdgpu regression bsc#1021577- Require LLVMgold and libLTO in llvm-devel, otherwise we get in CMake: The imported target "LLVMgold" references the file "/usr/lib64/LLVMgold.so" but this file does not exist. This happens when requiring llvm3_9-devel directly, not llvm-devel.- Update to version 3.9.1 * See: + http://llvm.org/releases/3.9.1/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.1/tools/clang/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.1/tools/clang/tools/extra/docs/ReleaseNotes.html- Update to version 3.9.0 * Clang now supports the G++ abi_tag attribute. * Clang will no longer pass --build-id by default to the linker. * Improved C++1z support in Clang. * Clang now has support for all OpenCL 2.0 features. * Added support for all non-offloading features from OpenMP 4.5, * The static analyzer now checks for incorrect usage of MPI APIs in C and C++. * LLVM no longer does inter-procedural analysis and optimization (except inlining) on functions with comdat linkage. * LLVM now supports the Intel CPUs Skylake Server with AVX512 (-march=skylake-avx512) and Knights Landing (-march=knl). * More at: + http://llvm.org/releases/3.9.0/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.0/tools/clang/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.0/tools/clang/tools/extra/docs/ReleaseNotes.html * Fix the following patches: + arm_suse_support.diff + assume-opensuse.patch + clang-resourcedirs.patch + default-to-i586.patch + glibc-2.23-libcxx.patch + glibc-2.24-libcxx.patch + lldb-add-pthread-dl-libs.patch + lldb-cmake.patch + llvm-fix-find-gcc5-install.patch + llvm-remove-clang-only-flags.patch + revert-cmake-soname.patch + set-revision.patch * Remove upstream-included patch: + llvm-nonvoid-return.patch * Remove patch for removed files: + glibc-2.23-libcxx.patch - Backport upstream patches: * clang-fix-substitutions-abi_tag.patch * clang-incomplete-field-types.patch * llvm-install-CheckAtomic.patch - Add clang%{_sonum}-include-fixer subpackage and associated libfindAllSymbols%{_sonum} and libfindAllSymbols%{_sonum}-devel subpackages. - Add sanstats to llvm binary list.- Change update-alternatives to use %postun instead of %preun, which is now what Factory maintainers are requesting. - Use the minor version to set the update-alternatives priority so the most recent version of the LLVM, Clang, and LLDB are used by default. - Add LLVM rpm macros so downstream packages can have some idea how LLVM was built.- Rename libomp to make it possible to have multiple versions available.- Split the old llvm package into this version-specific package and a wrapper package. - Implement update-alternatives to allow parallel installation of many of the subpackages. - Rename subpackages that can be parallel-installed to a version-specific name based on the associated shared library's current .so number. - Various fixes to support the above changes.- Sort a bit with spec-cleaner - Remove the latest switch for now, things should be either coinstallable or not, we don't need to bother around with compilation like this- Update to llvm 3.8.1 * See http://llvm.org/releases/3.8.1/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.1/tools/docs/ReleaseNotes.html - Use versioned libLLVM (to libLLVM3_8) and libclang (to libclang3_8) - Change versioning of liblldb3_8 to liblldb-3_8 and use a variable to control the name instead of hard-coding it. - Use bcond_with and bcond_without to enable/disable build options instead of hard-coding them. - Put buildrequires as requires in -devel packages to avoid linker errors when building packages against the -devel packages. - Add ffi support (disabled by default). - Add oprofile support (disabled by default). - Add valgrind support (disabled by default). - Link cmake files to the normal cmake file directory to allow autodetection of cmake interfaces. - Remove unused lldb components from main spec file. - Split llvm python bindings into own subpackage. - Split emacs plugin into own subpackage - Move additional vim plugins into vim plugins package - Split libc++, libLTO, LLVMgold, libomp, clang-chekers into own subpackages - Make python-clang, llvm-vim-plugins, and llvm-emacs-plugins noarch since they aren't architecture-specific. - Make packages besides llvm, llvm-clang, and the shared libraries conflict with other versions. This will be important when multiple LLVM versions are supported. - Various spec file cleanups - Rebase patches: * arm_suse_support.diff * assume-opensuse.patch * clang-resourcedirs.patch * default-to-i586.patch * glibc-2.23-libcxx.patch * glibc-2.24-libcxx.patch * lldb-add-pthread-dl-libs.patch * lldb-cmake.patch * llvm-fix-find-gcc5-install.patch * llvm-nonvoid-return.patch * llvm-remove-clang-only-flags.patch * revert-cmake-soname.patch * set-revision.patch- Start conversion to use cmake macros with now introduced compatibility for ninja - Reduce number of threads if we don't have enough memory - Add patch for the nonvoid returns: * llvm-nonvoid-return.patch- for ppc64le set memory to 4GB in _constraints file (failure in Factory:PowerPC)- glibc-2.24-libcxx.patch: fix libcxx testsuite for glibc 2.24- Build LLDB separated from LLVM. - Re-enable python bindings for the LLDB API.- Disable libcxx/lldb/openmp for SLE fate#319582- Update rpmlintrc to whitelist libLTO.so- Re-enable glibc-2.23 patch for Tumbleweed- fix arm_suse_support.diff for armv6hl - adjust compile flags for llvm on armv6hl (fixes Mesa build)- Update llvm-remove-clang-only-flags.patch to remove - Wcovered-switch-default flag for gcc compatibility.- Use gcc for stage1 bootstrap - Add back libstdc++-devel dependency for clang since libc++ is only available for x86-64 atm.- Comment out glibc-2.23-libcxx.patch until glibc 2.23 actually hits the Factory.- Update to llvm 3.8.0 * See http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html - Fold lldb build into llvm and disable python support - Drop clang-disable-ada-extension.patch, libcxxabi-exceptions.patch and cmake-host-triple.patch - Add revert-cmake-soname.patch to fix soname handling- Add glibc-2.23-libcxx.patch to fix test failures with glibc 2.23- Remove FFI support because its fragile- Enable OpenMP for x86, x86_64, ppc64 and ppc64le- Enable all targets on x86, x86_64- Update to version 3.7.0 * See http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html - Merge aarch64-suse-support.patch into arm_suse_support.diff - Refresh arm_suse_support.diff, llvm-fix-find-gcc5-install.patch - Remove llvm-fix-parsearmarch.patch, upstream.- fix build on s390x (one typo in ifarch and one change in filelist)- Update to version 3.6.1 * No changelog upstream- Add llvm-fix-parsearmarch.patch to fix parsing armv{6,7}hl archs.- Update to version 3.6.0 * See http://llvm.org/releases/3.6.0/docs/ReleaseNotes.html - Add python-xml dependency for regression tests - Removed the following patches, fixed upstream: * arm-remove-xfails.diff * libcxx-libdir.patch * llvm-config-lib64.patch * llvm-fix-intrusiverefcntptr.patch- Add llvm-fix-intrusiverefcntptr.patch to fix build of LLVM tools with GCC 5. - Add llvm-fix-find-gcc5-install.patch to properly find installed GCC 5.- Add a gcc dependency for clang, this is heavyweight but we need libgcc_s which comes with the gcc package (bnc#893359)- Conditionalize libcxx{abi} build on build_libcxx variable - Turn libc++.so into an ldscript so it links to libc++abi automatically.- fix constraints for armv6l/armv7l (there is no 4GB RAM on 32bit)/sbin/ldconfig/sbin/ldconfiglamb66 1608126974  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7.0.17.0.17.0.1-lp151.2.15.17.0.1-lp151.2.15.1      !""##################$$$$######################%%%%%%%%###########################&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''(((((())*+++*********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,////////000111000000000023345467877799999999999999999999999997::77;;;;;777<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<77=============================================77>>>?@@@AAAAABCCDEEEEEEEEEEEEEEEEEEEEEEEEEEECCFGHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHJHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHKKKKKKKKKKKHHHHHHLLHHHHHHHHHHHMMMMMHHHHHHHHHHHHNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOQOOOOOOOOOOOOOOOOOOOOOOOOOOOOOORRRRRRRRRRROOOOOOSSOOOOOOOOOOOTTTTTOOOOOOOOOOOOOUUUUUUUUUUUUUUUUUUUUUUUUOHVVVVVVVVVVVVVVVVVVVVVVVVVVHHHHHHWWWWWWWWWWWWWWWWWWWWWWWWHXYYZllvm-configllvmllvm-cAnalysis.hBitReader.hBitWriter.hComdat.hCore.hDataTypes.hDebugInfo.hDisassembler.hDisassemblerTypes.hErrorHandling.hExecutionEngine.hIRReader.hInitialization.hLinkTimeOptimizer.hLinker.hObject.hOrcBindings.hSupport.hTarget.hTargetMachine.hTransformsIPO.hInstCombine.hPassManagerBuilder.hScalar.hUtils.hVectorize.hTypes.hlto.hADTAPFloat.hAPInt.hAPSInt.hAllocatorList.hAny.hArrayRef.hBitVector.hBitmaskEnum.hBreadthFirstIterator.hCachedHashString.hDAGDeltaAlgorithm.hDeltaAlgorithm.hDenseMap.hDenseMapInfo.hDenseSet.hDepthFirstIterator.hEpochTracker.hEquivalenceClasses.hFoldingSet.hFunctionExtras.hGraphTraits.hHashing.hImmutableList.hImmutableMap.hImmutableSet.hIndexedMap.hIntEqClasses.hIntervalMap.hIntrusiveRefCntPtr.hMapVector.hNone.hOptional.hPackedVector.hPointerEmbeddedInt.hPointerIntPair.hPointerSumType.hPointerUnion.hPostOrderIterator.hPriorityQueue.hPriorityWorklist.hSCCIterator.hSTLExtras.hScopeExit.hScopedHashTable.hSequence.hSetOperations.hSetVector.hSmallBitVector.hSmallPtrSet.hSmallSet.hSmallString.hSmallVector.hSparseBitVector.hSparseMultiSet.hSparseSet.hStatistic.hStringExtras.hStringMap.hStringRef.hStringSet.hStringSwitch.hTinyPtrVector.hTriple.hTwine.hUniqueVector.hVariadicFunction.hedit_distance.hilist.hilist_base.hilist_iterator.hilist_node.hilist_node_base.hilist_node_options.hiterator.hiterator_range.hsimple_ilist.hAnalysisAliasAnalysis.hAliasAnalysisEvaluator.hAliasSetTracker.hAssumptionCache.hBasicAliasAnalysis.hBlockFrequencyInfo.hBlockFrequencyInfoImpl.hBranchProbabilityInfo.hCFG.hCFGPrinter.hCFLAliasAnalysisUtils.hCFLAndersAliasAnalysis.hCFLSteensAliasAnalysis.hCGSCCPassManager.hCallGraph.hCallGraphSCCPass.hCallPrinter.hCaptureTracking.hCmpInstAnalysis.hCodeMetrics.hConstantFolding.hDOTGraphTraitsPass.hDemandedBits.hDependenceAnalysis.hDivergenceAnalysis.hDomPrinter.hDominanceFrontier.hDominanceFrontierImpl.hEHPersonalities.hGlobalsModRef.hIVUsers.hIndirectCallPromotionAnalysis.hIndirectCallSiteVisitor.hInlineCost.hInstructionSimplify.hInterval.hIntervalIterator.hIntervalPartition.hIteratedDominanceFrontier.hLazyBlockFrequencyInfo.hLazyBranchProbabilityInfo.hLazyCallGraph.hLazyValueInfo.hLint.hLoads.hLoopAccessAnalysis.hLoopAnalysisManager.hLoopInfo.hLoopInfoImpl.hLoopIterator.hLoopPass.hLoopUnrollAnalyzer.hMemoryBuiltins.hMemoryDependenceAnalysis.hMemoryLocation.hMemorySSA.hMemorySSAUpdater.hModuleSummaryAnalysis.hMustExecute.hObjCARCAliasAnalysis.hObjCARCAnalysisUtils.hObjCARCInstKind.hOptimizationRemarkEmitter.hOrderedBasicBlock.hPHITransAddr.hPasses.hPhiValues.hPostDominators.hProfileSummaryInfo.hPtrUseVisitor.hRegionInfo.hRegionInfoImpl.hRegionIterator.hRegionPass.hRegionPrinter.hScalarEvolution.hScalarEvolutionAliasAnalysis.hScalarEvolutionExpander.hScalarEvolutionExpressions.hScalarEvolutionNormalization.hScopedNoAliasAA.hSparsePropagation.hSyntheticCountsUtils.hTargetFolder.hTargetLibraryInfo.defTargetLibraryInfo.hTargetTransformInfo.hTargetTransformInfoImpl.hTrace.hTypeBasedAliasAnalysis.hTypeMetadataUtils.hUtilsLocal.hValueLattice.hValueLatticeUtils.hValueTracking.hVectorUtils.hAsmParserParser.hSlotMapping.hBinaryFormatCOFF.hDwarf.defDwarf.hDynamicTags.defELF.hELFRelocsAArch64.defAMDGPU.defARC.defARM.defAVR.defBPF.defHexagon.defLanai.defMips.defPowerPC.defPowerPC64.defRISCV.defSparc.defSystemZ.defi386.defx86_64.defMachO.defMachO.hMagic.hWasm.hWasmRelocsWasmRelocs.defBitcodeBitCodes.hBitcodeReader.hBitcodeWriter.hBitcodeWriterPass.hBitstreamReader.hBitstreamWriter.hLLVMBitCodes.hCodeGenAccelTable.hAnalysis.hAsmPrinter.hAtomicExpandUtils.hBasicTTIImpl.hCalcSpillWeights.hCallingConvLower.hCommandFlags.incCostTable.hDAGCombine.hDFAPacketizer.hDIE.hDIEValue.defDwarfStringPoolEntry.hEdgeBundles.hExecutionDomainFix.hExpandReductions.hFastISel.hFaultMaps.hFunctionLoweringInfo.hGCMetadata.hGCMetadataPrinter.hGCStrategy.hGCs.hGlobalISelCallLowering.hCombiner.hCombinerHelper.hCombinerInfo.hConstantFoldingMIRBuilder.hGISelWorkList.hIRTranslator.hInstructionSelect.hInstructionSelector.hInstructionSelectorImpl.hLegalizationArtifactCombiner.hLegalizer.hLegalizerHelper.hLegalizerInfo.hLocalizer.hMIPatternMatch.hMachineIRBuilder.hRegBankSelect.hRegisterBank.hRegisterBankInfo.hTypes.hUtils.hISDOpcodes.hIntrinsicLowering.hLatencyPriorityQueue.hLazyMachineBlockFrequencyInfo.hLexicalScopes.hLinkAllAsmWriterComponents.hLinkAllCodegenComponents.hLiveInterval.hLiveIntervalUnion.hLiveIntervals.hLivePhysRegs.hLiveRangeEdit.hLiveRegMatrix.hLiveRegUnits.hLiveStacks.hLiveVariables.hLoopTraversal.hLowLevelType.hMIRParserMIRParser.hMIRPrinter.hMIRYamlMapping.hMachORelocation.hMachineBasicBlock.hMachineBlockFrequencyInfo.hMachineBranchProbabilityInfo.hMachineCombinerPattern.hMachineConstantPool.hMachineDominanceFrontier.hMachineDominators.hMachineFrameInfo.hMachineFunction.hMachineFunctionPass.hMachineInstr.hMachineInstrBuilder.hMachineInstrBundle.hMachineInstrBundleIterator.hMachineJumpTableInfo.hMachineLoopInfo.hMachineMemOperand.hMachineModuleInfo.hMachineModuleInfoImpls.hMachineOperand.hMachineOptimizationRemarkEmitter.hMachineOutliner.hMachinePassRegistry.hMachinePostDominators.hMachineRegionInfo.hMachineRegisterInfo.hMachineSSAUpdater.hMachineScheduler.hMachineTraceMetrics.hMacroFusion.hPBQPCostAllocator.hGraph.hMath.hReductionRules.hSolution.hPBQPRAConstraint.hParallelCG.hPasses.hPreISelIntrinsicLowering.hPseudoSourceValue.hReachingDefAnalysis.hRegAllocPBQP.hRegAllocRegistry.hRegisterClassInfo.hRegisterPressure.hRegisterScavenging.hRegisterUsageInfo.hResourcePriorityQueue.hRuntimeLibcalls.hSDNodeProperties.tdScheduleDAG.hScheduleDAGInstrs.hScheduleDAGMutation.hScheduleDFS.hScheduleHazardRecognizer.hSchedulerRegistry.hScoreboardHazardRecognizer.hSelectionDAG.hSelectionDAGAddressAnalysis.hSelectionDAGISel.hSelectionDAGNodes.hSelectionDAGTargetInfo.hSlotIndexes.hStackMaps.hStackProtector.hTailDuplicator.hTargetCallingConv.hTargetFrameLowering.hTargetInstrInfo.hTargetLowering.hTargetLoweringObjectFileImpl.hTargetOpcodes.hTargetPassConfig.hTargetRegisterInfo.hTargetSchedule.hTargetSubtargetInfo.hUnreachableBlockElim.hValueTypes.hValueTypes.tdVirtRegMap.hWasmEHFuncInfo.hWinEHFuncInfo.hConfigAsmParsers.defAsmPrinters.defDisassemblers.defTargets.defabi-breaking.hllvm-config.hDebugInfoCodeViewAppendingTypeTableBuilder.hCVRecord.hCVSymbolVisitor.hCVTypeVisitor.hCodeView.hCodeViewError.hCodeViewRecordIO.hCodeViewRegisters.defCodeViewSymbols.defCodeViewTypes.defContinuationRecordBuilder.hDebugChecksumsSubsection.hDebugCrossExSubsection.hDebugCrossImpSubsection.hDebugFrameDataSubsection.hDebugInlineeLinesSubsection.hDebugLinesSubsection.hDebugStringTableSubsection.hDebugSubsection.hDebugSubsectionRecord.hDebugSubsectionVisitor.hDebugSymbolRVASubsection.hDebugSymbolsSubsection.hDebugUnknownSubsection.hEnumTables.hFormatters.hFunctionId.hGUID.hGlobalTypeTableBuilder.hLazyRandomTypeCollection.hLine.hMergingTypeTableBuilder.hRecordName.hRecordSerialization.hSimpleTypeSerializer.hStringsAndChecksums.hSymbolDeserializer.hSymbolDumpDelegate.hSymbolDumper.hSymbolRecord.hSymbolRecordMapping.hSymbolSerializer.hSymbolVisitorCallbackPipeline.hSymbolVisitorCallbacks.hSymbolVisitorDelegate.hTypeCollection.hTypeDeserializer.hTypeDumpVisitor.hTypeHashing.hTypeIndex.hTypeIndexDiscovery.hTypeRecord.hTypeRecordMapping.hTypeStreamMerger.hTypeSymbolEmitter.hTypeTableCollection.hTypeVisitorCallbackPipeline.hTypeVisitorCallbacks.hDIContext.hDWARFDWARFAbbreviationDeclaration.hDWARFAcceleratorTable.hDWARFAddressRange.hDWARFAttribute.hDWARFCompileUnit.hDWARFContext.hDWARFDataExtractor.hDWARFDebugAbbrev.hDWARFDebugAddr.hDWARFDebugArangeSet.hDWARFDebugAranges.hDWARFDebugFrame.hDWARFDebugInfoEntry.hDWARFDebugLine.hDWARFDebugLoc.hDWARFDebugMacro.hDWARFDebugPubTable.hDWARFDebugRangeList.hDWARFDebugRnglists.hDWARFDie.hDWARFExpression.hDWARFFormValue.hDWARFGdbIndex.hDWARFListTable.hDWARFObject.hDWARFRelocMap.hDWARFSection.hDWARFTypeUnit.hDWARFUnit.hDWARFUnitIndex.hDWARFVerifier.hMSFIMSFFile.hMSFBuilder.hMSFCommon.hMSFError.hMappedBlockStream.hPDBConcreteSymbolEnumerator.hDIADIADataStream.hDIAEnumDebugStreams.hDIAEnumInjectedSources.hDIAEnumLineNumbers.hDIAEnumSectionContribs.hDIAEnumSourceFiles.hDIAEnumSymbols.hDIAEnumTables.hDIAError.hDIAInjectedSource.hDIALineNumber.hDIARawSymbol.hDIASectionContrib.hDIASession.hDIASourceFile.hDIASupport.hDIATable.hDIAUtils.hGenericError.hIPDBDataStream.hIPDBEnumChildren.hIPDBInjectedSource.hIPDBLineNumber.hIPDBRawSymbol.hIPDBSectionContrib.hIPDBSession.hIPDBSourceFile.hIPDBTable.hNativeDbiModuleDescriptor.hDbiModuleDescriptorBuilder.hDbiModuleList.hDbiStream.hDbiStreamBuilder.hEnumTables.hFormatters.hGSIStreamBuilder.hGlobalsStream.hHash.hHashTable.hISectionContribVisitor.hInfoStream.hInfoStreamBuilder.hModuleDebugStream.hNamedStreamMap.hNativeBuiltinSymbol.hNativeCompilandSymbol.hNativeEnumModules.hNativeEnumSymbol.hNativeEnumTypes.hNativeExeSymbol.hNativeRawSymbol.hNativeSession.hPDBFile.hPDBFileBuilder.hPDBStringTable.hPDBStringTableBuilder.hPublicsStream.hRawConstants.hRawError.hRawTypes.hSymbolStream.hTpiHashing.hTpiStream.hTpiStreamBuilder.hPDB.hPDBContext.hPDBExtras.hPDBSymDumper.hPDBSymbol.hPDBSymbolAnnotation.hPDBSymbolBlock.hPDBSymbolCompiland.hPDBSymbolCompilandDetails.hPDBSymbolCompilandEnv.hPDBSymbolCustom.hPDBSymbolData.hPDBSymbolExe.hPDBSymbolFunc.hPDBSymbolFuncDebugEnd.hPDBSymbolFuncDebugStart.hPDBSymbolLabel.hPDBSymbolPublicSymbol.hPDBSymbolThunk.hPDBSymbolTypeArray.hPDBSymbolTypeBaseClass.hPDBSymbolTypeBuiltin.hPDBSymbolTypeCustom.hPDBSymbolTypeDimension.hPDBSymbolTypeEnum.hPDBSymbolTypeFriend.hPDBSymbolTypeFunctionArg.hPDBSymbolTypeFunctionSig.hPDBSymbolTypeManaged.hPDBSymbolTypePointer.hPDBSymbolTypeTypedef.hPDBSymbolTypeUDT.hPDBSymbolTypeVTable.hPDBSymbolTypeVTableShape.hPDBSymbolUnknown.hPDBSymbolUsingNamespace.hPDBTypes.hUDTLayout.hSymbolizeDIPrinter.hSymbolizableModule.hSymbolize.hDemangleDemangle.hExecutionEngineExecutionEngine.hGenericValue.hInterpreter.hJITEventListener.hJITSymbol.hMCJIT.hOProfileWrapper.hObjectCache.hOrcCompileOnDemandLayer.hCompileUtils.hCore.hExecutionUtils.hGlobalMappingLayer.hIRCompileLayer.hIRTransformLayer.hIndirectionUtils.hLLJIT.hLambdaResolver.hLayer.hLazyEmittingLayer.hLegacy.hNullResolver.hObjectTransformLayer.hOrcABISupport.hOrcError.hOrcRemoteTargetClient.hOrcRemoteTargetRPCAPI.hOrcRemoteTargetServer.hRPCSerialization.hRPCUtils.hRTDyldObjectLinkingLayer.hRawByteChannel.hRemoteObjectLayer.hSymbolStringPool.hOrcMCJITReplacement.hRTDyldMemoryManager.hRuntimeDyld.hRuntimeDyldChecker.hSectionMemoryManager.hFuzzMutateFuzzerCLI.hIRMutator.hOpDescriptor.hOperations.hRandom.hRandomIRBuilder.hIRArgument.hAssemblyAnnotationWriter.hAttributes.hAttributes.incAttributes.tdAutoUpgrade.hBasicBlock.hCFG.hCallSite.hCallingConv.hComdat.hConstant.hConstantFolder.hConstantRange.hConstants.hDIBuilder.hDataLayout.hDebugInfo.hDebugInfoFlags.defDebugInfoMetadata.hDebugLoc.hDerivedTypes.hDerivedUser.hDiagnosticHandler.hDiagnosticInfo.hDiagnosticPrinter.hDomTreeUpdater.hDominators.hFunction.hGVMaterializer.hGetElementPtrTypeIterator.hGlobalAlias.hGlobalIFunc.hGlobalIndirectSymbol.hGlobalObject.hGlobalValue.hGlobalVariable.hIRBuilder.hIRPrintingPasses.hInlineAsm.hInstIterator.hInstVisitor.hInstrTypes.hInstruction.defInstruction.hInstructions.hIntrinsicEnums.incIntrinsicImpl.incIntrinsicInst.hIntrinsics.hIntrinsics.tdIntrinsicsAArch64.tdIntrinsicsAMDGPU.tdIntrinsicsARM.tdIntrinsicsBPF.tdIntrinsicsHexagon.tdIntrinsicsMips.tdIntrinsicsNVVM.tdIntrinsicsPowerPC.tdIntrinsicsSystemZ.tdIntrinsicsWebAssembly.tdIntrinsicsX86.tdIntrinsicsXCore.tdLLVMContext.hLegacyPassManager.hLegacyPassManagers.hLegacyPassNameParser.hMDBuilder.hMangler.hMetadata.defMetadata.hModule.hModuleSlotTracker.hModuleSummaryIndex.hModuleSummaryIndexYAML.hNoFolder.hOperandTraits.hOperator.hOptBisect.hPassManager.hPassManagerInternal.hPatternMatch.hPredIteratorCache.hProfileSummary.hRuntimeLibcalls.defSafepointIRVerifier.hStatepoint.hSymbolTableListTraits.hTrackingMDRef.hType.hTypeBuilder.hTypeFinder.hUse.hUseListOrder.hUser.hValue.defValue.hValueHandle.hValueMap.hValueSymbolTable.hVerifier.hIRReaderIRReader.hInitializePasses.hLTOCaching.hConfig.hLTO.hLTOBackend.hlegacyLTOCodeGenerator.hLTOModule.hThinLTOCodeGenerator.hUpdateCompilerUsed.hLineEditorLineEditor.hLinkAllIR.hLinkAllPasses.hLinkerIRMover.hLinker.hMCConstantPools.hLaneBitmask.hMCAnalysisMCAsmBackend.hMCAsmInfo.hMCAsmInfoCOFF.hMCAsmInfoDarwin.hMCAsmInfoELF.hMCAsmInfoWasm.hMCAsmLayout.hMCAsmMacro.hMCAssembler.hMCCodeEmitter.hMCCodePadder.hMCCodeView.hMCContext.hMCDirectives.hMCDisassemblerMCDisassembler.hMCExternalSymbolizer.hMCRelocationInfo.hMCSymbolizer.hMCDwarf.hMCELFObjectWriter.hMCELFStreamer.hMCExpr.hMCFixedLenDisassembler.hMCFixup.hMCFixupKindInfo.hMCFragment.hMCInst.hMCInstBuilder.hMCInstPrinter.hMCInstrAnalysis.hMCInstrDesc.hMCInstrInfo.hMCInstrItineraries.hMCLabel.hMCLinkerOptimizationHint.hMCMachObjectWriter.hMCObjectFileInfo.hMCObjectStreamer.hMCObjectWriter.hMCParserAsmCond.hAsmLexer.hMCAsmLexer.hMCAsmParser.hMCAsmParserExtension.hMCAsmParserUtils.hMCParsedAsmOperand.hMCTargetAsmParser.hMCRegisterInfo.hMCSchedule.hMCSection.hMCSectionCOFF.hMCSectionELF.hMCSectionMachO.hMCSectionWasm.hMCStreamer.hMCSubtargetInfo.hMCSymbol.hMCSymbolCOFF.hMCSymbolELF.hMCSymbolMachO.hMCSymbolWasm.hMCTargetOptions.hMCTargetOptionsCommandFlags.incMCValue.hMCWasmObjectWriter.hMCWasmStreamer.hMCWin64EH.hMCWinCOFFObjectWriter.hMCWinCOFFStreamer.hMCWinEH.hMachineLocation.hSectionKind.hStringTableBuilder.hSubtargetFeature.hObjectArchive.hArchiveWriter.hBinary.hCOFF.hCOFFImportFile.hCOFFModuleDefinition.hCVDebugRecord.hDecompressor.hELF.hELFObjectFile.hELFTypes.hError.hIRObjectFile.hIRSymtab.hMachO.hMachOUniversal.hModuleSymbolTable.hObjectFile.hRelocVisitor.hStackMapParser.hSymbolSize.hSymbolicFile.hWasm.hWasmTraits.hWindowsResource.hObjectYAMLCOFFYAML.hCodeViewYAMLDebugSections.hCodeViewYAMLSymbols.hCodeViewYAMLTypeHashing.hCodeViewYAMLTypes.hDWARFEmitter.hDWARFYAML.hELFYAML.hMachOYAML.hObjectYAML.hWasmYAML.hYAML.hOptionArg.hArgList.hOptParser.tdOptSpecifier.hOptTable.hOption.hPass.hPassAnalysisSupport.hPassInfo.hPassRegistry.hPassSupport.hPassesPassBuilder.hPassPlugin.hProfileDataCoverageCoverageMapping.hCoverageMappingReader.hCoverageMappingWriter.hGCOV.hInstrProf.hInstrProfData.incInstrProfReader.hInstrProfWriter.hProfileCommon.hSampleProf.hSampleProfReader.hSampleProfWriter.hSupportAArch64TargetParser.defAMDGPUMetadata.hAMDHSAKernelDescriptor.hARMAttributeParser.hARMBuildAttributes.hARMEHABI.hARMTargetParser.defARMWinEH.hAlignOf.hAllocator.hArrayRecycler.hAtomic.hAtomicOrdering.hBinaryByteStream.hBinaryItemStream.hBinaryStream.hBinaryStreamArray.hBinaryStreamError.hBinaryStreamReader.hBinaryStreamRef.hBinaryStreamWriter.hBlockFrequency.hBranchProbability.hCBindingWrapping.hCOM.hCachePruning.hCapacity.hCasting.hCheckedArithmetic.hChrono.hCodeGen.hCodeGenCoverage.hCommandLine.hCompiler.hCompression.hConvertUTF.hCrashRecoveryContext.hDJB.hDOTGraphTraits.hDataExtractor.hDataTypes.hDebug.hDebugCounter.hDynamicLibrary.hEndian.hEndianStream.hErrc.hErrno.hError.hErrorHandling.hErrorOr.hFileOutputBuffer.hFileSystem.hFileUtilities.hFormat.hFormatAdapters.hFormatCommon.hFormatProviders.hFormatVariadic.hFormatVariadicDetails.hFormattedStream.hGenericDomTree.hGenericDomTreeConstruction.hGlobPattern.hGraphWriter.hHost.hInitLLVM.hJSON.hJamCRC.hKnownBits.hLEB128.hLICENSE.TXTLineIterator.hLocale.hLockFileManager.hLowLevelTypeImpl.hMD5.hMachineValueType.hManagedStatic.hMathExtras.hMemAlloc.hMemory.hMemoryBuffer.hMipsABIFlags.hMutex.hMutexGuard.hNativeFormatting.hOnDiskHashTable.hOptions.hParallel.hPath.hPluginLoader.hPointerLikeTypeTraits.hPrettyStackTrace.hPrintable.hProcess.hProgram.hRWMutex.hRandomNumberGenerator.hRecycler.hRecyclingAllocator.hRegex.hRegistry.hReverseIteration.hSHA1.hSMLoc.hSaveAndRestore.hScaledNumber.hScopedPrinter.hSignals.hSmallVectorMemoryBuffer.hSolarissysregset.hSourceMgr.hSpecialCaseList.hStringPool.hStringSaver.hSwapByteOrder.hSystemUtils.hTarWriter.hTargetOpcodes.defTargetParser.hTargetRegistry.hTargetSelect.hTaskQueue.hThreadLocal.hThreadPool.hThreading.hTimer.hToolOutputFile.hTrailingObjects.hTrigramIndex.hTypeName.hUnicode.hUnicodeCharRanges.hUniqueLock.hVCSRevision.hValgrind.hVersionTuple.hWatchdog.hWin64EH.hWindowsError.hWithColor.hX86DisassemblerDecoderCommon.hX86TargetParser.defYAMLParser.hYAMLTraits.hcircular_raw_ostream.hraw_os_ostream.hraw_ostream.hraw_sha1_ostream.hthread.htype_traits.hxxhash.hTableGenError.hMain.hRecord.hSearchableTable.tdSetTheory.hStringMatcher.hStringToOffsetTable.hTableGenBackend.hTargetCodeGenCWrappers.hGenericOpcodes.tdGlobalISelRegisterBank.tdSelectionDAGCompat.tdTarget.tdTarget.tdTargetCallingConv.tdTargetInstrPredicate.tdTargetIntrinsicInfo.hTargetItinerary.tdTargetLoweringObjectFile.hTargetMachine.hTargetOptions.hTargetSchedule.tdTargetSelectionDAG.tdTestingSupportError.hSupportHelpers.hToolDriversllvm-dlltoolDlltoolDriver.hllvm-libLibDriver.hTransformsAggressiveInstCombineAggressiveInstCombine.hCoroutines.hIPOIPO.hAlwaysInliner.hArgumentPromotion.hCalledValuePropagation.hConstantMerge.hCrossDSOCFI.hDeadArgumentElimination.hElimAvailExtern.hForceFunctionAttrs.hFunctionAttrs.hFunctionImport.hGlobalDCE.hGlobalOpt.hGlobalSplit.hInferFunctionAttrs.hInliner.hInternalize.hLowerTypeTests.hPartialInlining.hPassManagerBuilder.hSCCP.hSampleProfile.hStripDeadPrototypes.hSyntheticCountsPropagation.hThinLTOBitcodeWriter.hWholeProgramDevirt.hInstCombineInstCombine.hInstCombineWorklist.hInstrumentationInstrumentation.hBoundsChecking.hCGProfile.hGCOVProfiler.hInstrProfiling.hPGOInstrumentation.hObjCARC.hScalarScalar.hADCE.hAlignmentFromAssumptions.hBDCE.hCallSiteSplitting.hConstantHoisting.hCorrelatedValuePropagation.hDCE.hDeadStoreElimination.hDivRemPairs.hEarlyCSE.hFloat2Int.hGVN.hGVNExpression.hGuardWidening.hIVUsersPrinter.hIndVarSimplify.hInductiveRangeCheckElimination.hInstSimplifyPass.hJumpThreading.hLICM.hLoopAccessAnalysisPrinter.hLoopDataPrefetch.hLoopDeletion.hLoopDistribute.hLoopIdiomRecognize.hLoopInstSimplify.hLoopLoadElimination.hLoopPassManager.hLoopPredication.hLoopRotation.hLoopSimplifyCFG.hLoopSink.hLoopStrengthReduce.hLoopUnrollAndJamPass.hLoopUnrollPass.hLowerAtomic.hLowerExpectIntrinsic.hLowerGuardIntrinsic.hMemCpyOptimizer.hMergedLoadStoreMotion.hNaryReassociate.hNewGVN.hPartiallyInlineLibCalls.hReassociate.hRewriteStatepointsForGC.hSCCP.hSROA.hSimpleLoopUnswitch.hSimplifyCFG.hSink.hSpeculateAroundPHIs.hSpeculativeExecution.hTailRecursionElimination.hUtilsUtils.hASanStackFrameLayout.hAddDiscriminators.hBasicBlockUtils.hBreakCriticalEdges.hBuildLibCalls.hBypassSlowDivision.hCallPromotionUtils.hCloning.hCodeExtractor.hCtorUtils.hEntryExitInstrumenter.hEscapeEnumerator.hEvaluator.hFunctionComparator.hFunctionImportUtils.hGlobalStatus.hImportedFunctionsInliningStatistics.hIntegerDivision.hLCSSA.hLibCallsShrinkWrap.hLocal.hLoopRotationUtils.hLoopSimplify.hLoopUtils.hLoopVersioning.hLowerInvoke.hLowerMemIntrinsics.hMem2Reg.hModuleUtils.hNameAnonGlobals.hOrderedInstructions.hPredicateInfo.hPromoteMemToReg.hSSAUpdater.hSSAUpdaterBulk.hSSAUpdaterImpl.hSanitizerStats.hSimplifyIndVar.hSimplifyLibCalls.hSplitModule.hSymbolRewriter.hUnifyFunctionExitNodes.hUnrollLoop.hVNCoercion.hValueMapper.hVectorizeVectorize.hLoopVectorizationLegality.hLoopVectorize.hSLPVectorizer.hWindowsManifestWindowsManifestMerger.hWindowsResourceResourceProcessor.hResourceScriptToken.hResourceScriptTokenList.hXRayGraph.hInstrumentationMap.hTrace.hXRayRecord.hYAMLXRayRecord.hmacros.llvmBugpointPasses.soLLVMHello.sollvmAddLLVM.cmakeAddLLVMDefinitions.cmakeAddOCaml.cmakeAddSphinxTarget.cmakeCheckAtomic.cmakeCheckCompilerVersion.cmakeCheckLinkerFlag.cmakeChooseMSVCCRT.cmakeCrossCompile.cmakeDetermineGCCCompatible.cmakeFindLibpfm.cmakeFindOCaml.cmakeFindSphinx.cmakeGenerateVersionFromCVS.cmakeGetSVN.cmakeHandleLLVMOptions.cmakeHandleLLVMStdlib.cmakeLLVM-Config.cmakeLLVMConfig.cmakeLLVMConfigVersion.cmakeLLVMExports-relwithdebinfo.cmakeLLVMExports.cmakeLLVMExternalProjectUtils.cmakeLLVMInstallSymlink.cmakeLLVMProcessSources.cmakeTableGen.cmakeVersionFromVCS.cmakelibLLVM.solibLLVMTableGen.sollvmhtmlAMDGPUAsmGFX7.htmlAMDGPUAsmGFX8.htmlAMDGPUAsmGFX9.htmlAMDGPUOperandSyntax.htmlAMDGPUUsage.htmlAdvancedBuilds.htmlAliasAnalysis.htmlAtomics.htmlBenchmarking.htmlBigEndianNEON.htmlBitCodeFormat.htmlBlockFrequencyTerminology.htmlBranchWeightMetadata.htmlBugpoint.htmlCFIVerify.htmlCMake.htmlCMakePrimer.htmlCodeGenerator.htmlCodeOfConduct.htmlCodingStandards.htmlCommandGuideFileCheck.htmlbugpoint.htmldsymutil.htmlindex.htmllit.htmlllc.htmllli.htmlllvm-ar.htmlllvm-as.htmlllvm-bcanalyzer.htmlllvm-build.htmlllvm-config.htmlllvm-cov.htmlllvm-diff.htmlllvm-dis.htmlllvm-dwarfdump.htmlllvm-exegesis.htmlllvm-extract.htmlllvm-lib.htmlllvm-link.htmlllvm-mca.htmlllvm-nm.htmlllvm-pdbutil.htmlllvm-profdata.htmlllvm-readobj.htmlllvm-stress.htmlllvm-symbolizer.htmlopt.htmltblgen.htmlCommandLine.htmlCompileCudaWithLLVM.htmlCompilerWriterInfo.htmlContributing.htmlCoroutines.htmlCoverageMappingFormat.htmlDebuggingJITedCode.htmlDeveloperPolicy.htmlDocker.htmlExceptionHandling.htmlExtendingLLVM.htmlExtensions.htmlFAQ.htmlFaultMaps.htmlFrontendPerformanceTips.htmlFuzzingLLVM.htmlGarbageCollection.htmlGetElementPtr.htmlGettingStarted.htmlGettingStartedVS.htmlGlobalISel.htmlGoldPlugin.htmlHowToAddABuilder.htmlHowToBuildOnARM.htmlHowToCrossCompileBuiltinsOnArm.htmlHowToCrossCompileLLVM.htmlHowToReleaseLLVM.htmlHowToSetUpLLVMStyleRTTI.htmlHowToSubmitABug.htmlHowToUseAttributes.htmlHowToUseInstrMappings.htmlInAlloca.htmlLLVMBuild.htmlLangRef.htmlLexicon.htmlLibFuzzer.htmlLinkTimeOptimization.htmlMCJITDesignAndImplementation.htmlMIRLangRef.htmlMarkedUpDisassembly.htmlMemorySSA.htmlMergeFunctions.htmlNVPTXUsage.htmlOptBisect.htmlPDBCodeViewSymbols.htmlCodeViewTypes.htmlDbiStream.htmlGlobalStream.htmlHashStream.htmlModiStream.htmlMsfFile.htmlPdbStream.htmlPublicStream.htmlTpiStream.htmlindex.htmlPackaging.htmlPasses.htmlPhabricator.htmlProgrammersManual.htmlProjects.htmlProposalsGitHubMove.htmlVectorizationPlan.htmlReleaseNotes.htmlReleaseProcess.htmlReportingGuide.htmlScudoHardenedAllocator.htmlSegmentedStacks.htmlSourceLevelDebugging.htmlSphinxQuickstartTemplate.htmlStackMaps.htmlStatepoints.htmlSystemLibrary.htmlTableGenBackEnds.htmlDeficiencies.htmlLangIntro.htmlLangRef.htmlindex.htmlTableGenFundamentals.htmlTestSuiteMakefileGuide.htmlTestingGuide.htmlTypeMetadata.htmlVectorizers.htmlWritingAnLLVMBackend.htmlWritingAnLLVMPass.htmlXRay.htmlXRayExample.htmlXRayFDRFormat.htmlYamlIO.html_imagesARM-BE-bitcastfail.pngARM-BE-bitcastsuccess.pngARM-BE-ld1.pngARM-BE-ldr.pngLangImpl05-cfg.pngMCJIT-creation.pngMCJIT-dyld-load.pngMCJIT-engine-builder.pngMCJIT-load-object.pngMCJIT-load.pngMCJIT-resolve-relocations.pnggcc-loops.pnglinpack-pc.pngllvm-exegesis-analysis.png_sourcesAMDGPUAsmGFX7.rst.txtAMDGPUAsmGFX8.rst.txtAMDGPUAsmGFX9.rst.txtAMDGPUOperandSyntax.rst.txtAMDGPUUsage.rst.txtAdvancedBuilds.rst.txtAliasAnalysis.rst.txtAtomics.rst.txtBenchmarking.rst.txtBigEndianNEON.rst.txtBitCodeFormat.rst.txtBlockFrequencyTerminology.rst.txtBranchWeightMetadata.rst.txtBugpoint.rst.txtCFIVerify.rst.txtCMake.rst.txtCMakePrimer.rst.txtCodeGenerator.rst.txtCodeOfConduct.rst.txtCodingStandards.rst.txtCommandGuideFileCheck.rst.txtbugpoint.rst.txtdsymutil.rst.txtindex.rst.txtlit.rst.txtllc.rst.txtlli.rst.txtllvm-ar.rst.txtllvm-as.rst.txtllvm-bcanalyzer.rst.txtllvm-build.rst.txtllvm-config.rst.txtllvm-cov.rst.txtllvm-diff.rst.txtllvm-dis.rst.txtllvm-dwarfdump.rst.txtllvm-exegesis.rst.txtllvm-extract.rst.txtllvm-lib.rst.txtllvm-link.rst.txtllvm-mca.rst.txtllvm-nm.rst.txtllvm-pdbutil.rst.txtllvm-profdata.rst.txtllvm-readobj.rst.txtllvm-stress.rst.txtllvm-symbolizer.rst.txtopt.rst.txttblgen.rst.txtCommandLine.rst.txtCompileCudaWithLLVM.rst.txtCompilerWriterInfo.rst.txtContributing.rst.txtCoroutines.rst.txtCoverageMappingFormat.rst.txtDebuggingJITedCode.rst.txtDeveloperPolicy.rst.txtDocker.rst.txtExceptionHandling.rst.txtExtendingLLVM.rst.txtExtensions.rst.txtFAQ.rst.txtFaultMaps.rst.txtFrontendPerformanceTips.rst.txtFuzzingLLVM.rst.txtGarbageCollection.rst.txtGetElementPtr.rst.txtGettingStarted.rst.txtGettingStartedVS.rst.txtGlobalISel.rst.txtGoldPlugin.rst.txtHowToAddABuilder.rst.txtHowToBuildOnARM.rst.txtHowToCrossCompileBuiltinsOnArm.rst.txtHowToCrossCompileLLVM.rst.txtHowToReleaseLLVM.rst.txtHowToSetUpLLVMStyleRTTI.rst.txtHowToSubmitABug.rst.txtHowToUseAttributes.rst.txtHowToUseInstrMappings.rst.txtInAlloca.rst.txtLLVMBuild.rst.txtLangRef.rst.txtLexicon.rst.txtLibFuzzer.rst.txtLinkTimeOptimization.rst.txtMCJITDesignAndImplementation.rst.txtMIRLangRef.rst.txtMarkedUpDisassembly.rst.txtMemorySSA.rst.txtMergeFunctions.rst.txtNVPTXUsage.rst.txtOptBisect.rst.txtPDBCodeViewSymbols.rst.txtCodeViewTypes.rst.txtDbiStream.rst.txtGlobalStream.rst.txtHashStream.rst.txtModiStream.rst.txtMsfFile.rst.txtPdbStream.rst.txtPublicStream.rst.txtTpiStream.rst.txtindex.rst.txtPackaging.rst.txtPasses.rst.txtPhabricator.rst.txtProgrammersManual.rst.txtProjects.rst.txtProposalsGitHubMove.rst.txtVectorizationPlan.rst.txtReleaseNotes.rst.txtReleaseProcess.rst.txtReportingGuide.rst.txtScudoHardenedAllocator.rst.txtSegmentedStacks.rst.txtSourceLevelDebugging.rst.txtSphinxQuickstartTemplate.rst.txtStackMaps.rst.txtStatepoints.rst.txtSystemLibrary.rst.txtTableGenBackEnds.rst.txtDeficiencies.rst.txtLangIntro.rst.txtLangRef.rst.txtindex.rst.txtTableGenFundamentals.rst.txtTestSuiteMakefileGuide.rst.txtTestingGuide.rst.txtTypeMetadata.rst.txtVectorizers.rst.txtWritingAnLLVMBackend.rst.txtWritingAnLLVMPass.rst.txtXRay.rst.txtXRayExample.rst.txtXRayFDRFormat.rst.txtYamlIO.rst.txtindex.rst.txttutorialBuildingAJIT1.rst.txtBuildingAJIT2.rst.txtBuildingAJIT3.rst.txtBuildingAJIT4.rst.txtBuildingAJIT5.rst.txtLangImpl01.rst.txtLangImpl02.rst.txtLangImpl03.rst.txtLangImpl04.rst.txtLangImpl05.rst.txtLangImpl06.rst.txtLangImpl07.rst.txtLangImpl08.rst.txtLangImpl09.rst.txtLangImpl10.rst.txtOCamlLangImpl1.rst.txtOCamlLangImpl2.rst.txtOCamlLangImpl3.rst.txtOCamlLangImpl4.rst.txtOCamlLangImpl5.rst.txtOCamlLangImpl6.rst.txtOCamlLangImpl7.rst.txtOCamlLangImpl8.rst.txtindex.rst.txtyaml2obj.rst.txt_staticajax-loader.gifbasic.csscomment-bright.pngcomment-close.pngcomment.pngcontents.pngdoctools.jsdown-pressed.pngdown.pngfile.pngjquery-3.1.0.jsjquery.jslines.gifllvm-theme.cssllvm.csslogo.pngminus.pngnavigation.pngplus.pngpygments.csssearchtools.jsunderscore-1.3.1.jsunderscore.jsup-pressed.pngup.pngwebsupport.jsgenindex.htmlindex.htmlobjects.invsearch.htmlsearchindex.jstutorialBuildingAJIT1.htmlBuildingAJIT2.htmlBuildingAJIT3.htmlBuildingAJIT4.htmlBuildingAJIT5.htmlLangImpl01.htmlLangImpl02.htmlLangImpl03.htmlLangImpl04.htmlLangImpl05.htmlLangImpl06.htmlLangImpl07.htmlLangImpl08.htmlLangImpl09.htmlLangImpl10.htmlOCamlLangImpl1.htmlOCamlLangImpl2.htmlOCamlLangImpl3.htmlOCamlLangImpl4.htmlOCamlLangImpl5.htmlOCamlLangImpl6.htmlOCamlLangImpl7.htmlOCamlLangImpl8.htmlindex.htmlyaml2obj.htmlllvm7-develCREDITS.TXTLICENSE.TXTllvm-config.1.gz/usr/bin//usr/include//usr/include/llvm-c//usr/include/llvm-c/Transforms//usr/include/llvm//usr/include/llvm/ADT//usr/include/llvm/Analysis//usr/include/llvm/Analysis/Utils//usr/include/llvm/AsmParser//usr/include/llvm/BinaryFormat//usr/include/llvm/BinaryFormat/ELFRelocs//usr/include/llvm/Bitcode//usr/include/llvm/CodeGen//usr/include/llvm/CodeGen/GlobalISel//usr/include/llvm/CodeGen/MIRParser//usr/include/llvm/CodeGen/PBQP//usr/include/llvm/Config//usr/include/llvm/DebugInfo//usr/include/llvm/DebugInfo/CodeView//usr/include/llvm/DebugInfo/DWARF//usr/include/llvm/DebugInfo/MSF//usr/include/llvm/DebugInfo/PDB//usr/include/llvm/DebugInfo/PDB/DIA//usr/include/llvm/DebugInfo/PDB/Native//usr/include/llvm/DebugInfo/Symbolize//usr/include/llvm/Demangle//usr/include/llvm/ExecutionEngine//usr/include/llvm/ExecutionEngine/Orc//usr/include/llvm/FuzzMutate//usr/include/llvm/IR//usr/include/llvm/IRReader//usr/include/llvm/LTO//usr/include/llvm/LTO/legacy//usr/include/llvm/LineEditor//usr/include/llvm/Linker//usr/include/llvm/MC//usr/include/llvm/MC/MCDisassembler//usr/include/llvm/MC/MCParser//usr/include/llvm/Object//usr/include/llvm/ObjectYAML//usr/include/llvm/Option//usr/include/llvm/Passes//usr/include/llvm/ProfileData//usr/include/llvm/ProfileData/Coverage//usr/include/llvm/Support//usr/include/llvm/Support/Solaris//usr/include/llvm/Support/Solaris/sys//usr/include/llvm/TableGen//usr/include/llvm/Target//usr/include/llvm/Target/GlobalISel//usr/include/llvm/Testing//usr/include/llvm/Testing/Support//usr/include/llvm/ToolDrivers//usr/include/llvm/ToolDrivers/llvm-dlltool//usr/include/llvm/ToolDrivers/llvm-lib//usr/include/llvm/Transforms//usr/include/llvm/Transforms/AggressiveInstCombine//usr/include/llvm/Transforms/IPO//usr/include/llvm/Transforms/InstCombine//usr/include/llvm/Transforms/Instrumentation//usr/include/llvm/Transforms/Scalar//usr/include/llvm/Transforms/Utils//usr/include/llvm/Transforms/Vectorize//usr/include/llvm/WindowsManifest//usr/include/llvm/WindowsResource//usr/include/llvm/XRay//usr/lib/rpm/macros.d//usr/lib64//usr/lib64/cmake//usr/lib64/cmake/llvm//usr/share/doc/packages//usr/share/doc/packages/llvm//usr/share/doc/packages/llvm/html//usr/share/doc/packages/llvm/html/CommandGuide//usr/share/doc/packages/llvm/html/Frontend//usr/share/doc/packages/llvm/html/PDB//usr/share/doc/packages/llvm/html/Proposals//usr/share/doc/packages/llvm/html/TableGen//usr/share/doc/packages/llvm/html/_images//usr/share/doc/packages/llvm/html/_sources//usr/share/doc/packages/llvm/html/_sources/CommandGuide//usr/share/doc/packages/llvm/html/_sources/Frontend//usr/share/doc/packages/llvm/html/_sources/PDB//usr/share/doc/packages/llvm/html/_sources/Proposals//usr/share/doc/packages/llvm/html/_sources/TableGen//usr/share/doc/packages/llvm/html/_sources/tutorial//usr/share/doc/packages/llvm/html/_static//usr/share/doc/packages/llvm/html/tutorial//usr/share/licenses//usr/share/licenses/llvm7-devel//usr/share/man/man1/-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.opensuse.org/openSUSE:Maintenance:15340/openSUSE_Leap_15.1_Update/4ee3ef5db0cdce71453408be6e4147f3-llvm7.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linux              !!!!!!!!! "#$$$%$&$ '()*) $&+ , -ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a0c1130b05a1e9690f2b7a7de67d87452909891b, strippeddirectoryC source, ASCII textC++ source, ASCII textASCII textC++ source, UTF-8 Unicode textC++ source, Non-ISO extended-ASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ad9d68fdcc749e1e906800102b9f014c778cad87, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2d677eef5ea82e3d3c9effe07cd497b7c96fa484, strippedASCII text, with very long linesHTML document, UTF-8 Unicode text, with very long linesHTML document, UTF-8 Unicode textPNG image data, 606 x 326, 8-bit/color RGBA, non-interlacedPNG image data, 626 x 459, 8-bit/color RGBA, non-interlacedPNG image data, 604 x 234, 8-bit/color RGBA, non-interlacedPNG image data, 560 x 234, 8-bit/color RGBA, non-interlacedPNG image data, 423 x 315, 8-bit/color RGB, non-interlacedPNG image data, 495 x 254, 8-bit/color RGBA, non-interlacedPNG image data, 543 x 399, 8-bit/color RGBA, non-interlacedPNG image data, 381 x 315, 8-bit/color RGBA, non-interlacedPNG image data, 531 x 687, 8-bit/color RGBA, non-interlacedPNG image data, 489 x 339, 8-bit/color RGBA, non-interlacedPNG image data, 555 x 495, 8-bit/color RGBA, non-interlacedPNG image data, 713 x 331, 8-bit/color RGBA, non-interlacedPNG image data, 437 x 286, 8-bit/color RGBA, non-interlacedPNG image data, 886 x 259, 8-bit/color RGBA, non-interlacedUTF-8 Unicode textC source, ASCII text, with very long linesHTML document, ASCII textUTF-8 Unicode text, with very long linesassembler source, UTF-8 Unicode textC source, UTF-8 Unicode text, with very long linesASCII text, with CRLF line terminatorsRuby script, ASCII textGIF image data, version 89a, 16 x 16PNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 40, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 16, 8-bit gray+alpha, non-interlacedGIF image data, version 89a, 16 x 30PNG image data, 250 x 88, 8-bit colormap, non-interlacedPNG image data, 11 x 11, 8-bit grayscale, non-interlacedPNG image data, 1 x 60, 8-bit/color RGBA, non-interlacedHTML document, ASCII text, with very long linesASCII text, with very long lines, with no line terminatorstroff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)  RR R R RRRRRRRR RPR R RRR RPR RRR RPPPP8߹sMgsutf-84415aaedd7496f8abdf24533bfb8677d11168ec56863996de9b693ef8bfdcca6?7zXZ !t/H5C]"k%"^ :cJwT.g{Ϋbq.Ybho1Y&FI ?r[1'od_ft3א gIk.)ϊ`DZL5wW=x#y4Cy-un? xOIl42vfrp1=-fU}Yp_Bgn1 eF>A© >^d1Rhykr`y\rg)e[K۽y-~^|4K(,ɷbL=9b%hkZòj=WF;]ﴃH[a.K /{SSx_dBmf[dH&^O^ed2Y=ڠhf p696uzb;#!.r)IvS2T6,B9vܺ^\k14aG٫6yhF%p@ۗo&\>}e*"aH5o<6v|Cڃot4^<I7"_pmA+VI1$: ԆL8;Nu}mv+ M^{ٿ5k0\uCG*rFʯAC1/o`)Z/P5M6?ioIA{/B6LebML'VA4KGŴajX5S# #kƬUTe|%s=[8#ӠxVJ ]YFp LwZx 碈yqc-Umyt鼩t<&W&A2LK3I 3S_2&օhܡ$+Q_}7 ̘uă,ĀxHnѡS7zފkw3GY3\=-o+_ u:9Boډ?tXġ0hCtػ xtýrGZe]Zcd oW.-gҤ%T%ʚ,$abob^17DpjA ;S=ٸF$̩fO(zɵ &KN׵ǻWS [E~db0NQ8r^M&QbV6>i"(|vPd5ǔ<[ $&p㣆\A$B{xp6 [ HEWPH;[KSk@):F5Gz9)uaN5xߍ!w9B%'XtlޫjOC3H<ѥgC<兀 h DZyM G 8d7塍́$A~W=4 ͌s61kՏH/[g!LNu&{7}?X V]1,wʾ4U_Ő+h1v=|aew+}85ԹukDI҅S0O)3?4 T.~8=D7 N}A#8zz_ؒp-ʘpKxM摙7ã)7ezȈ7m"8wV=ȃO֪2i\(]שaL| l܅P?$b5L<56Q '\KA[7z%gv*UDHU_t9˥ Uz;nY <6W]*3[a.KEl6kusnt# )C!ˡߞ|T#8QCX,izâߒ}{J+8+N݂aU5&Nj =:焺5mn&w9"餵vgvVVKڱOǑ//=眞8c@wGm'J)b|#^ x6J4~fK#:xa<0MЅAx,Y4VU^R\5@7X3U ~xp~s:#Q3W=,+Y̷,bJZ#ٺj2{Ð]1jQ@DC(綜86å))kD;笞;̤48y]'yxJf#..Ƴ(B# @/uK7z정"Pcw/,6(-(w3pJ= ;Zl} m#cT`5}P*ZvC2iY@Ng/vMpt2xJb›z)pX;rv8ŴicoCTc٠_}`rKZoV1<[<1a`:}9 AMR(7`_#! O]TS=Ҷ1Q:2>xl@u޷m]j]S]X)2J,^_PdArC=yǸǖӰg \ ݁kV%EO} Խ^gf$R^yV2uu,9[_O7.@y4^ڕpV!6xQvZ],-dwERhط*s6HQ BYWɵ^CY̞g̃ Yڌtd}bOUƓ_u ]KwxQ T!4\=|!\F|5Pt=G0iEtԞD$މFMb;rhMbF)$(d@kO?[\߶H+£ժL60nbP']"5Ux%h&<P@ɘ6ͥNsZ8z`Va{/K,a8ZXkGzB}U :1) ټ=|]; $[iٱfni[L%[2P#iU>n+Emְ7NPO"įUe=mi*I>rUT#\H8d8;Yȁ͵rb*2@fI+CJFKő?yU1K '.} -Dnr=0\Wz X,:L>d^)roD$u_ l"-SxOZgqtb=q<Jh0~˚ݛHI&2\y >npɈd7xOa$w g n%d-#ix!Oh?99Uח oNIkiN^Z*b ]%|Yf  Cmhs*o<Ȕ#Janl0hRH3;t nfADh;aiڹZޒ>7Yd K8Z\Sζ*Yv3 tҊfMQB㲽[V2дuZ8v6TEzW6n/FN^|$ F#I5oe OgLn]38_fS1$pr  +C:>zVHKUߜhT5}t(^j9ZI7&%^4M3ϙqHFOؔ =CG4^|& A;kbЋ=)=A~<;߁6 $; tN:TxtF|&{K}Zᰚk$zH[0i_.;SX 37!b$S) Mpda4@tU?M;{Ǣ 讹G'rsb-ʨV?A$C([bx0`nf=Z4;RvϾ.zގd)l.(]sd O}}i  |,[!5Y:s/$G.h6"ޚ@P05  ëF/]ONg[~%!' d/·3>'ګ3lgNk) [jZfp̮*$DS-ve92i]h2$]$tK9*?u@cFrU%*MR ?[*"ǒGGO9SH]Q,%,9İ21=h?Kqy8iTungo/gWex&D1 0JX(6m2at?uz*DLJ̉·Dʱ&@lq\XDO3Xj_*W2/`dﺌ 2FH3f]kџ9Zkz:kb+- Rq e"M23UZ)xGbEwcOwtye:Wn<} Һ$33dw}IqQsк=iuc.MX9W;ÖI7a\~w8qDa>JL1::n@G Nh8~ F%o-0rH.'G/;.4Slj`|0G(Q$:am^tyžtJVdJ\j)'ϾO]}i}sǓڈ =*Q-?I 9*K4̫9+, r{I_c=+q8E8ӵS洷.'@;<*èR ..Y*""d̴DyQ4TS^#5prDP0e]QwMj`M7RoToh@k F\"z/hv4'ZYWpV>]3x[Oȥvc@ lX8=7O)C !T#y& h_ f?,z;yŌuY)Ά sc_0Zb_f)1M,Fj WR zId_*oeѝs (WFlZ>| !uo!xˑ3~\@hH ƋI7y)t?1s>4@q؃cdwPift(?%1s8V$1poP:Qa G#>twwt-klXk읞jI1p gob&W|>9X8K*_}Ǟ&R C:DiΙ?&'(@MQANǵTe?΄^ϬD׏҃'Vdf~zNpҨjkY5#[c(ʰ_q?6, j%W|V>C4fG0]ޯi,T5S]v4r; M|@f3O0sȊ?{~\Yүa]!fߔmԤ _$%.sH0\()L ci%^]<9P)@CXZ"(^gwۣi|)@Z ^S r*rOA+Ecpo" " zB q'@ C_5ppYְHlїQ܁">>R6I`N 9c/3(qȲ 0`cm;XGNljQI֐. ՀhRLtKxB_cSC1 JN^)a'贚|~vaife '"8\G𑵶EPJ}dLM5 FKfIcca^6*0qwF82U6 -q7m*f]!Nq5M<1oU$^|^ȱ)K2>vLsfNҙ>XA% uJ[8tOAؾ /B`S@vPeAHq4 dSd?ROI 36DӍi޴`),S Cmp_1&9Ɲk<{u7e#/ݠŶ7kqK%8%Z2G<#K0q=^~Ѣ8Yrgp^,A+vɘU`Ax C"F#Pְj}Lm:L*-c r8H̻ՙ7foWAwc&tƏ]p!AAВ@Cgvp>y, 8,"B }$qyM-K.z@.t+͆YNkG9Zk嫧$ ].˦epwŶ^MG[#=pUmtpMvAҭu>jXS GeQNKk8+.fU^]8FE(p[BAilE|a"'BsBQM2ؘ6dV*&:}|wW_l`*,R8g3z|Y1C, oxtRja*a #.9R@K悔u,+ތzў3_-:;҃T2gېNҗxW2ڹoĊo&&_2z!&?-sisݕӄ`.:(T7,umr:c|=Rq`?SX@gZ"%.8_l[d G4`cTX^?m#d{{x{'M"7t SGeiW?Ц%.mK˃rYضgibWИuG 9O:jBf+QiZ+GWK#HxPyig^2nv8 #gvsW6 v!}?& `N)O$M7cc;pVF}tffC&do>]5I_P0h>a'Ű%;K:( T{[_^qSCO#2i:2w!!°~NOMѰݱ7]H.oC9zsPJ98)1WbԑH.Od)b|wT}PQ|Hdg9$+A5NأjΕYաJ퓛WW|5qu904gIB]Eni# ʙ137hՋl,a@z?򡌱entsu,#1_4IʵR J]bʌp$Gj{AQ16٥4Zܟ vUc7:ors&DTuKbtYbl ?.(.;X^Gy۬Γj¦k7S ?-*.T=7ڍ<dbOh*@4=RUy6 }-3zq+`*YU5&֊`%кDbhV~Sݞ)dWB6UOH- VM7.wKې~!٠|,YwEnwjٞ $R9iWY0Q.<İV>t/ rIL sf]xɘh4oQI xDFFׁ1+ܤssܶj(v'(xVi.CSYNj\,HڸAH>j'r$4JgO .ޗ,5\R)oMz>8;&qDy?p0Qp 'KtwD Hf)MvNbRFr4@(>.]H12 ]4H+\Yf ^7W[Ոg"euJ"Pŷ!})kH]j /H\^Zs" HuYQ- o8g6Q۞A+|Y#oYfcٷjH]眕iQf!:^F[%(YҏN&P8CPXI+[z ERm$Bhe?\zďBJ3:bBgJ3ryt9`qzMm5DfA f fU&O%)"@?1g-}7K|TWH`=6z|΍߼3ѲZw<&f.#Ju^QZ9'}xXm4́$]uwEG`i$kOImq\9AQ.JLA=#+D#!O˓,&1sxzB!mx:aC !Te1=6@ d8[^}0y5+>NIB3PLYC0QB֫{كdcsC/.[ԓ4Hs۲.:di> /"ivr+h.q 3b4k} b<5 Pi,n$9ujA\b!NPIm" T]0IJc)4A8%AopL "AҤD'$,R)@yo\}dA'⣺zY(3v @–"-Zf 7lx6ĀŮLE`vbp` ;JO~&!o #&"/z7hmIfGxoHc9?ʜ|/1ӫ⭮bTދOLѼV ieny{o)r^$apcg;НiMѭb Fy2<#W7>YE MQV96*X-E ?9SCך_JJq-.6RqKpO9 |lQ}(}RIS&qn3*!O-b)9+ؐ+!M=诗*rΊS^po_ElhfQ;~\=uSy#nZ9Ak-;cЈ.?qrS{c{›~KcZI /CÜzgGERy;S3M~jB{*Q_zY~Zkdpd~Sj}lRߥ؆eHڑ\}Â^w v| 49㮷vށn!50&R}lEK>v B0w "ۋati>9E t+^>VmcoI$?j YZ