why3-examples-0.86.1-1.fc22$>,r>4kcy>8?d  -X\    ), =D L  Qe(~Fd$(N8X+9+: +GHI(X0Y4\D]\^ubdefltuvwдxCwhy3-examples0.86.11.fc22Example inputsExample source code with why3 annotations.Uarm02-builder02.arm.fedoraproject.org`Fedora ProjectFedora ProjectLGPLv2 with exceptionsFedora ProjectUnspecifiedhttp://why3.lri.fr/linuxnoarch0fB j' $# 8  c [v g[)&L9x9n3(V ^8!zLCZ E!(#&&e3{f-e<%DC:d;>Y<GqUlu8)S)M~ 2-#""w%y>3  *Vb(_"_a%ipghb7[EX!6EY9 +GJm !7Er0QU:7+}E Bpyph;&^  Ro] 6l tRhNF F>6 *We >v.u *4=Ae +g5EU0<('| ]0!x  e b'Y@8!) RB UD&^ ll #./S{H SXI g5L! =/E   M-'y1%]&3  9<3b{  o )<  Xg'. `$,I_6RS;;~>7304s,3199-8?@=?j;m<C#'D;9<;ZBUUSYS1UYZ4[Y$\@_di2jKf`@gyz4s~0|idc3^a?bLF^F^HH~IIEM7]XB4]|] [Rqs'x uyrzz-*v2k~kj,NL`JL`J+i d{kjk{{pzTyyyyk{[XQD/R.7aJ,1>Ef;B6\:]h# 20,@;$dAJ cq#*"%#Mjy0z<E E"0k* *,)*'/w0-% ){$**(/R/1#14:Y O!X ,( F cR Y H2 ) 2X ,A +,MPY ,j[ {;(JD#Mw/3,7t8  ?iE 9n!r[NQnP7jqL = = PK9 '?UE6$$ 5v  a? Ax >-  7 DPVo&#&h##+O)'4H 7 Tjf- Z g xVz|-LS^ ~+ H5TGk%_ so.> Z)(} O I|AKC9e&5!F;bQ \/ Ro+& i NC *  s ,  u _JY(rd ,M .U! 3/q  V)HY &'1V40)w!z &U"buA) ,<0q'JP4;u 4 p |~-' % *@/h6Lv7Vo[D f NZo_ M> u zt #j( )  4; "!8e.Vzv 6 ;n  hAAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤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큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAA큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤UU]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]UuU]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]U]a89e76363e3daeb71bcfbafd098bddee82e0cff49352a3698ee3ae785e6436e77782e650d6c382338e0fcebd4ba1ff9c037461d8d9d9229062b69f62d05a72c834374496ce5962cff447b292c48c845887cebcda5388a8d34e464b4e304f7f6ec8fc23760301d4b55f3c5c7976495ddf1a50804283e11706a57fe109f74e0737ba252d31289a999d8937f551300ea0beae571228850c3dd530b9320752de518eff2570ab9765f2257648bad3b66b604a6a6f3f80ef011ac302e2f69a10f32557243fe934f798276afc93b6967e867405caaf94bba0299cbac5136b6b68bc3d118752efaf0bc358bc9fe55d608736f073c71d6c063e1455931a20d283c30eb162955b7a930acd8e2e4ba8aeb4ef75ea85627d9891cd9b151a43b5ddf032a2cbab3d1460327c80f13cdc4ed3b649a8e7b838d071290b05e0c75d8b6e9d6ab41241c27427ec050025ec5c29d8e5c0f5d4284add7742b0ae3a31b54c09597c3406c8c12e3b65136f8d6136e68f5063f85c15e914c18cd47d80180fb724ccfa60763e434bfdda850a75bf89751c40da6204cc68f095c30c00276e9ab67fcc872bea17bb6175c490aa875220bdaa0bb8b707dc4dbfedea58990a31515a4a2be8ec6f8a272ac9e1e6d2ca1a894a0ba50f128ff80051eeb4da090606df710cd20e884b3620520757cba2e319c013ff731b9aa6be90c8da0ee26eb8871c887ddb51318e5be71d73dcd18297750591a0122875d6b358a0512045533a388f8fd99649ff385fb0c7d497658d666853deb7fc429a297b106fd41475a8d5da83c89bb9c8f93698484f5b9886268db83bb117a107004cc1005d34330bbb07bee8c6299be8226523734a948a64dedd0ee09a34eabd3367acf84ab4552588e68de22bbda44ef24376349cdf10ed2f5067415204524c177dc3676bf7c22386a343231e2465a8b2b2f09d195ec7a9d85055a53e44a47f4fda11b5c6e32089797c523f23336cfda9452a8e87dc8a95902b3309d2f2c5cccabcbf45fe52b33a3413fa3e59ff2483a09123dc6271248da1415614daa3eac0390acf117d4082d206cc93bb3930115c0c1bc10a019396bdb5a0fe7827bb3cfa7eed6e81f4fecce8ae1b4bcf69735865f8551911c2791c453096a82b4d78dda12a22bdc3373d23a074d54b583abad048e5481ebef737da4a4e68c9f7c799241494db23708fca784e1d8295f07aba2dfe7f69efcd4e8c98cd785bffb1c7904fd968c49b62f3e2d5ed16739ac6701d7610d3d10a2543d4ef65f2a21f9109c801fb1e80df958c49f115e18e52d79942a66d6ad4f9ac73670af3abed54ac6fb4695131f4099be9fbe39d6076c5d0264a6bbdae9d831bcd2697e96e847af9d5f3f71615c8cc3990fcdb10d66f617a34127235048639f218259f3830d97e66f9f548ae1070e4d57c90a9ae1f1c7a0d76026e47d84a60ac290920027ab09735dc37a4d91badce9c4698c807db63b956c08374217c45d57063df011504c328e31532f6b7429a41d35eb4e64acb5c87a5d323fc917a0f08129ae5f445de63e97b064c1521e085c1d3174a69d52d3afe4bb1f7a11003486c0f1c1b172341445b685f9b994e71ed36785541ce77b180a3645e05474244db2e763770dc5e9f69484a0ab1aabf9e361f091322ec24e7c13ad25f0a0589a45d7224a9117093e673786f7b7d1e0093c512a95322c273e64b991e4ea15349ec424431065f79ee3b05cb2f6c05038eeb6b31d96a6ad95d8563e806a777769be023f8545744e13a9af1d1cc3a317a65be9c536e8d9e54aa2236c86997b0eed30f696b7fcf3677c9677473983531aaf79493f28291bb547e8abb7e51085b1e66519124db44e54efc582ca5222c9dbf49ceaca35b7cf24635ecd1a19b350253776c57593b169b948874739087105f51619570ccbfef41c5912048ae97d0fca045babfe99a1ff9bac9717485dc661e9d9577e1f3bcabd3bc7e461b3fe1b913e8946f4c4862082cd3ae908e1e75eb47d529f6787133adfb4a8a4bfa205eab684469d93d69c51da5992d761da860676ddd7c935c568fc0f7bb1819a216d6e24d4efc14757f83094fff03d52a4f70457f630ee648d42b6f9b251e00069baa2512cac7a96eb677d417fc21bb11f3f93ffa119053cd72e679ce461ded9c1fb3f3f0ae9e0adadcff0bb0e9b57748a6ff06fc80486fedff7bf568e4247ba2de9b10cd5d69387b904b7d0b58f9a07da057118de462afc0edc2267f029254dabc4d709857ae6182e0c83dce06c40e9270508a7e5839500408fb38ea642e806183248dc2723e98419a8b7847af89c980aa6613a45fd62328b180628eb9b3dbd15cba208b2122d0c908a9d207b09db6dce2ee19473eb7b2d12558b8b813ef794a6e955f8dec6d5be8dd29a032f9036733125fff3b90c6c523fc306b7879f5199a6363381b38bc4683616587b5b2f4591db63e65eeec2daf326733795fd4636344c98c8b97686698297f93b40af88f7b976de5aa1ab1b65dcd71f86b75aa76e014583e927658c13c3b02211ddc65cb4b99f885bec2469b7edbc18448969431278563ecd286e85eab24e7b12dd50c618e20fef734ae4f1d5f743b7aec54e506edd2f243c7036727e01644245a39fa738f8768503896e7f650aab7c3e1f5d39559212240bc83f544b78870ec2feb6f556d2290d6267a47b3d34e7fd568d648bc665531975020310c26edaad3cd18121f97491f45de0dff8f8569dc5f313c5b45d9dad121b996a747e2bdcaeef72ac3a41de1a4bf76df836e5bf3b9517072328621e1d35dc8af1d252353f566b00b882594b9c009e82cafe5dee99c540fbbc71278ee72f08520ea903c99c304a1bd03fcb53149bddd55902792bbcbad4ffb32c93320f541aaf261c86d31cca0f9b2fa40c5423a99519d00d282fe0c392d1ef1f76107974befe54a95807a3808210935319fca24131d1f69e1f7ffabced1d75f60ec17c552d6fb6ce4d62c41cba888bf480e7e65d9f44834de7d50f1ec77d77a19b1cc712204c47af663ebcf01e54fe7459e9f489cf2681e61ee4705a0c67bf37f7771ebd5dcaf71bd915164a804a6f11bc7b7d9ab1773ece6bcd4e1e090ac1cd048256660017ab61822252d7c6a770da20e61139830c6d2a1b49190cf179d0efbe57080c6da9109def00abcccb822406276c10e6cdedce5d4624f15bff801dcda44577d545646ace81ad61cfed57324024afb667ea8e000484cc26516add200bcc1a4030e21b8e423b718f41decca9c2cb4777eb0df1aa0296e06deb149caedee215f318bf5559c99d95c982c923e045c8f4f7cd1157feb7864b9b240ca953287c6615016f4a97e0e1086fa5e58e98da77527dd95b7391e731db9f511876054aa62f843c9a0deed65f07cc4794882afe828d218cc4589ecf5a670d3034bf025154429568dc419ae293b474acf4eac313cb7965c8c286681d6936e6dd9eb48b4938fdaf9e021b9e5a8f3949759fc8fb78ae45824d0f200ec9b125579c27bf193babce5535f7aa5bd94c6591caaac6bfe87004311a5a050338ccbc7abaeb53d62ecd8109129cbad6b74f1a0ce472c61e2cc777052abd569c665c2f690405e5157c36b75fce5e7bf8c4646a26ae086003786c0ac33faf4d2b477b91b8329937762025bdb68533e598724a7a64fa8a165011cf3d4fb8fad65c8313acbe5922d0d4188f555a7ea460a67a30e270fe37844b94324ce827ef0bd21bbf8db7ba139fb055a71eb308fe83d35eae90e0e90dfcb65a1920d2fd264f856f3a5ef6c747b6e192ced0f0cdbb6500ad46a54effe001dae3244aaf670f37d1e1b760f3e4543cca8c2b0e38ba21f0972afc64cb12fec7272482914786d109f7c8ffa2e36e05caddce1827f1083a6a640edc409e67bf91280bf66b948f6a2701057f1e1cdedf38f83a1aa4bfad25669fadd1a7a2274f7c8fca1439c8ffb21eb572bf0ad7c40e5660037ae0a7c87ad9545816f4184ba61e7d616cc0db2cb34fe4a7dac9a1aed224b97093d6d4cfffaeb13040192b4cc034de5c9e0464cecaa5f5908c0e5b0802f7b9332c1b0ff7ea0500bdadb7e80c1a8b4c976bd982aed50e6974b4001e42de7060981a5a44ea734eb8b06580d7aa8587cdf68913e5d400e6aea5496fba7e5c2d0b04a41f19b3f684b6310221e5666bef9b8318d0fec71d9baadae6783370ca2460b86c1c6d43f1c01a01312d01f08ec4ec219368383a6d67a03b23dbf78555e6fdfff18752ae422f8f6012a39a965e11e25716d3e62f9c330adb12e30de22ed824b45859314433e7cc55d784930c517f9e819545c0ab54710621cef5d386df5efde5c2c8f492a7539c507ad9f23f298f554d73e4916a05411f5168659ffc934c7ddfc5f6be0b440a0f5ade7fd3cf7e44bd31582e205d4e0e3572233db2755d8eae4631ac2aea417e3cfe78dd9503a5394e30758a6a312bad3e6bfef55779451bf14eb6c88475bb4bf8ca7e97e0acf23451530fe452afe0ab70f2c1f0025a70765a181d844c59d301f93382029de2283358cff5116c2971494e60811bbb746244e82ea8f281b930a2963b17d0c46e2c9528983cbe30a1073794a7e7bbd470ceb0f13ded17f0f0b7a7f69485c43057234ab7f2462a9bb3159669cca4dc788d07d4ac3dadc42213a19291052014ea131f8e087df59fc077f08ae4d0655c19bdff6ff2549456f9ed208e870bf202cc00dd470ed870cd7b6fe34535f8096d7b06dbcbaa28fb3a337392355126b849518ffcf306fe136953d6f2575b58b239e91f2738759e827ed259bad30996142654db56325217c15c8f298510a8c4e3d864c24f3d5598a682c71f2a6b20235beee64813beb6a0ef527b9fbcc288dd76896e6dd41401eec86f661f9caef1e27ab567a117299cf19bf791f1b799d9cf2f6c69b9a3c472df294874a754dc796d0f9bff25357d36645f87fbfcd05d37ff1b7221a1f83dfb72e94af4df360b67ed93529cf1527f972287810d844d66927b368b711508473d5096379c642091858d3824c0d7b51257003fd213c0b445885a225b42bc10e2aa3f0a912b4f91426cfe362e9e705423795c6c8695d621fa6d80cdbf94744ea54b5cd23adb670b4657747fe590844ffaf2287ff74a7f30f12920c212a9526229c78f9a9a3a837ef8307bb3e52cc64f21616e2f6d7066c0564a8d16a1dfde8a8900bd87d62612579f95ed956eb19d12eebe9718abecd118fcaee975182362a2ef504619be248eb4709ebabdfead7bcc7847f47fa18b7867e70a3dd60cd7ddb348eca702f171f10f4844ead2cc1449ec5af14e3e67149ac6a1277dbbf86b965a8fc60f394f44bbec4f5e20e5060d97c67267f93f6ed31c08937b1d1deb38075fd4a5e587d6726b7d70787f24c3f390e80d0a6cd9aad1c855fa10fd475d10b3cc7814dc6345d95ad9a104b57a4edcf754e2926c05d8a67db021bbac1eb4751d53c526166858e5460906c6c54e5af7c7c9e05cf64192ff50a2888aa22aec48821f70ed47a8f03ac3c4218ab325fdbc7abfb1cfd7b183d34349477cc1716e5363b0bff1c2c65c83dffeb127821d46a8feece9c5510e4bdf21b7ba5dbbe8094b49eb8b513e5226af9e2d66c999296092cc37ee0018a8b39c3f95ef0cdb008f57cbb392fcfa03c3cc71432b55b5492b454cded1d9d707841b3c480ab3c5d915794cb00dd6246b08390b83d0d0a5efc0e64a97213d2297ea130a0e7a5413e033a1c25ba690729289d9d15fca1f1526db6d7ade510765539a3f4e2c85039456b8a137c717fe7b3d3d617fe041f840f449379cb15bd26e6bbad512daf97a650094d49bc5d04c64bea3e5cfc3e4a64d7f3041f8e6e577334125c64beba9b64995cdba833363000e616788ac13989f46bac1e2a0ff5138ac7b1c28eaa5d6e9dbaccc5d2aaff9800374839229da47340c3d48b0563188797503621f704e6e1e8c6c7cc374ae58681a0d670d155257feb06ed560641b1025156f959c6dfad7510c3c8760a2b7e2fe124161e8f1f3a805b65f98da4566a3d708978b48128c6e89cdae2e5e9cac6cfa94bc36f5ebdf6f6e8e40c0edb6ae7eb22f88883aa381fae05e1ea04c52e40bf4b7357b4755fa38a3423578556c0adc65ae206f5c574f6e69a82748c6e2a812d3f22216df7d920f7ac6c3ee322d2bfea8faea7b15ee774aa5ccc083cc569f81456035fc726265e55b9d8d9111886d632ed5909bd2ed6e08be8756ef53e326f48e61c4d8f7c77c284a661c6d2627e21db3ecffefb291bf9da299aa63ab11d01685e52b17eb36f16756171962ab99bfab898659753e2cc8f09cf6fb7feaaad4c539684f300277f5146295cbb820af5a0fde6a64e5a45f5932a470fa3f818b0c35cc3ce966c8c2d19a79a86f45b55a360dfcf1ca13c241adb73e33778c95c802e494998a2f95c18a79d010c84485357b80921fc2fc14d6b589a18dcfd6c7bd84b8007c248169bd8afbb767388e1b3b6c3b8a6c95711b8e9151ae838945acf94a9f6cee113ba8a6df941b15d9f38155b0a226850243fb3c758b0c463530257e81609df342b933c0f1b56d19be4ab2d4eae8c464a7542a45e54c10fcc92acb860f6357523d87ff288297c1f604eaf965f51aee0891ae98ddd00097a1ddeff5aade3910f901a8fc2b916fb228e269da4a65986c7c77f7fb8a4fab89901cc33d27e93b64981b64cd4d4b168ac7ec22b5f4f1796d6736e5102dcbcc04dd4b4cc9c5841c0bd8e7d42ddb30d11357e1d4abba35c485a47b053a31698d4feef11326b972ec49a550c96723c003b285ca567bf5856ac7916b6be205104f752949fcccaa382856ef2f35ca0ae28d6f4570db5185d8fe5729f562fdd96aac6ed9c3d86496debd7cd5289c8dcf26bb877b47a750d52ff272c7dcdbb5c7a5a62e37eb511643db07b3371be543fd84443bb1cf52374237a08b6c98851a97cfecf503d0158670f3379a729206f08fd1147e3d266b824efb03b993f02460599249c3df784efe28a430ca4102841fbe64979a0f920414bae06025a07e917b61cba8b3f4af935d4b5b869cb86fd458b7a2964a015447a2b472b4c76804f0ada40d4c9254ed765634addc8f5c8f94df67047a70976d1220b83ea933ecb98df6e58e1890eceea83f2c1ad6668972ab56fe6f3a3fcbc5d31861195c2a270a7f9b84521ab17fd19a195c7ebb35953b2736fb1a283188d4dfec306511f4a152c698b11a6c5e69844547f28a5623400e4d01ad45445265940f5b7504b12da94041c18dd4e75c4f4a9bd2e168fe6c6ad885d27de4e35a1f4604ffbf1b1764f0032181d9cfd2a48cc1e34365198d82073428cdaf8f8eac3a872805ceb45ece72baa80107d5154d680fe6d6e64e071b481e9ae2565fe2c0c7b013d7cc1832a9df96a12debbb4ce27f1f6a640695ba86b671454d51ea8246d29024367fdd499f90d31eedda75d03b653f27914180eb45268a1e7ca2535ffb4bb52e5336fea55a13fb875a97f5a5c3562346b20c600291a1dcf136f9d951317cb1a9a5e9384d6c2215d595c3d4f21dadcc6fd4b47ef9ee2ce175a24487103f4f7a90ec4f1c8479d49f427eef0d8410480841821be798aa726c73744c3a76dc51116693010ca3ee6f9f91fd858735e661778025a41f7e22b9d50ca6d8a53576e95597b8f1fa9c6504bdf2cce1899d4952f6e273dd389d025bfb9528315bce906528192b3606da13f1c222edee562abbbd6d9493c2111af60a60fa892e7934aa984b07001383fe6a9ae2a921fd004bb02c014f1adad9d5c82df8be7e1942f0483d307318a34b0820a1977e10b27a0553d6fbd4f8e76519185ca0f9ef428e037cabf4ae1565d80506df69f409083bee9a81c201eef484650ca5820d0b425022e1fc0235cbb5a94373d0c1af7490509e16fcf91ef24bb0df9bd0137caaa28401656ddf584c16d1583299178e5dec088e1aca8674a33285a52313717da63aecab2c4ac031edad4594286dab9780775d441b05fc7f3685df7088a8c35a76ea30995390f000cec71774b0afafebfc38357537ed7e8a31648cc1c06c0daa0e5b6e40dcd0c11f618f4f1798389a389b0f04805e60dfb9d2aac033fc573f384bf09e94f749c309d66e31aea1a4447dead6af46fa4cc54bb0c30d3f36ca22762828e3b1c7b2f8814e92ba5b3d51adbdb3ec7a3e806c1a3ba8d54796cd40e7bfdde78e8e7709d8e49fea5553b8677c5ad4bd20f512edd5faeb7011cf6f22ad0695c9a37eb1be9a6f1fdcaec21fd056d8409af949a778ce44b41e8bda043648614ec1e883ebc40b9f8384d8366390c044cca3e4c6f0662341b22ef513b528b81f3d2d26939d4e27a22bbef875745a416e607caf581766dab0fddd943d50faf6e24f0958f62b7dd574f3134af1c9fe5b9762a461b8d189c9f62c0f850f626493e667c5b2d8970ebd72837ceb14b2c02d8a16ca3c7d6c59815a36f45f463164f0df5de991a9124730c08755648ae3c3306ac40c59f7871fbfc9244363d3612f2da3d41c4de8dc762b6cfd062f4ec57e48d7710f5484fd3b4fae6bd04ce697a3bf90084b86ca5081026372fea074d7a51b9800bb93a5de9285542437a2c173182ebbb78817d36ffa0877e1e95a1aa201f73089f266edfad41c7bc287fc5c4bb72dc8cfc2652338bbcb016cafb61ac32018ca73c38101a1bffe65942ab1c3286a7f11d475fea5f00cefbec1f8da2c506dfd90edf837a5accf8e4dd105506c7b4fcda9caa0c6156a312c821e005a877e6715364fce058cdf96e6cb7a90bd2f793edc67f73bb7bd39def06ae8449e9c2e859c88a231a798a0e89b3fb22bb4c00a2e97adcb40eec861ebbbaf361893d6f05a37d106884422e70f8c4766549ee5b17c2735ebdcf82fd10c1e71787ccf9046f3db365d638e5bd943248a6216297d3ade23f0d88eb3ad1c7040d641d56dc1a8ff4a62c316a21afd2d1ee1d1a2617ac3ee401280df495e1969797d2e8123a0b1934cfd3a5e9ca2a8f21607cfa8fd2a9f7c1493438fe3db98b011f1e4a67290f3363ed11bebcb3761aadf45fb80a2c2813686fad681da0faea7cd0725b75f8242aef7d791c266e9c43a3f7dcc3636aa838bd22836e42ba502cf2332fa3ec24135e1adda2b1b570a9890344ff516b902daeb48fce896b5124d3cca8b75924c95930a5292ea3917eff327e527c4cff6a94761efdbfff3657208544db6d6f3aaa9af59be29a0cb991139d7a5cbcafd4812c959b8f41daf8ad96fa093749279fdb3044461621d34c729eca516a71a1410e85644ae2c400764955af0b48c9f5e0c19715ab6c8a904df0165b7bedcfafa5e9aaa4b9a823ca8b242dd088b8e513d2249e07be8e4235baa669d4fde43c1a31235da95a8c65641e22630dc57ed6a7ae604ed25a1a7ae11b621e12eb20e2cb11f0a3dc0cac9db0ffd914df7e8a509271024554123813d63fc8b40d57268d5930ddaa184cb9d1e5d721b158f075e277ac61b91184138a2f9cd618f8b2c775710ccd8fbfad40feade17774124524defc536b0ff21a639ed82bc66a65f75962d4b1f2694fd5324e712b69a7bc2a9a063374e325021d6827332f240938929fd06a25fbe5883c8ed78cf8a5952a75c3fbb064f24cc199a0979b9185aa3cc89ff68e34a04727cbe6177c6400effbba43d91036a1ae6764981d2a8cb4cf9c190efa16a272614d881b3698691ef51fed336a50bd11e9804f54b8acd8e0e7331bd6d070d138b776a67952ac900d9789c247566bc0f04dac6c431a6cea8b42a7fdd08bfe7ef7df7fb37898e998c3dc84d471c7937a6cd4a9b847d414afb196520a6c87196be2a1e76b2bcf0c6b5816478e8c572ff16e249fdd97e8a1905ba769b69b7c3f788f4538157d26f1b5ade5f612751062d1bf19cbefeec2d616d1f0dea29cdc57bc4100794604d17dac6c501ac014dc883325ce3eecc0e295086a26f9d6094ff4fd618513d339a14c5b61b686c11cbec369fe5f1f291ba527fe3a522a03483f83d9db6031ea659d417e673047f9757d4b0fc4f6f972581430d7377ca60fc03273033ee12d575a5fe337a055e6e911642972dce8045d1a1f377ae68621dca4e0fd290a40e6ec78e3e6c91d9a0b16e27c719dd204e1a41aed36ae21a5724305e32b44f5ee786b8e18c150960d9adf0ba66023e38a0974bff6b646e89f91707bd52999ea568b79c11f360a0605828f0e21cf08ec17d31b0e01ba5253b873a51952fd21fca42221da9fb867e3681d94d3d27b84a38216117005a601b37a7bae0dbb9065ec7448faba08fecb3359218282dcf8a0e16e890f3359adb91ea1e2977682815f0d3d269a39284cd29003e2581db5a30faaf62ca64288b9be276a4d7654dd4d88cc4a59f99e9f294f7e985a48b9b2b4124debe680f17856b4dea27bff09b914c6f48bdf22c405d1073f1544285fce9202e795141397edcf14f4a58ac4947e48d0f2cf71a603452fd34d4a540799a76e1fcdf71abffdcc43305ad44a55eeb751c04fc24e77bb690d801f06899ce1453c95b15594fd4ab85b97e56a0394d5928c8a4790da0398c87e2e8306a77504ef9bb204f17fb303a82161dac492749b1ecfaa08f115ef06de70606b5a420fdb90310ce1e3b3d932220c86ec9d75fbd325196129dfa9f902b3b9cfef77ae00d57f40febf182fdc1c82330e25266587e628ffed6a34d732897a172bde2f3567e96811fe72c6412745c8f28852507dd14f98e0362ca98c0eea28dcf18eb9265244ee84a0fdf22f0064fd5f7d6592a1b201ad8ba9efae44408c8671c47ffe67c4ccc98f4e6cecc448a0cd9354d5bc7b988d9bc00fe577e7e8b877623c72a10c533f61489c6ba6849ed3b2bf9612d8e1d657514fd83b9ed5766a6aecc5721819ba04167d023d49ffb34a213deffa28ab6846e29df2418293155b697e8d4ab1295d8385ecddb35778cf87ca3b5d8966ba8693a4d73fe48008225155be328385f270d7771f30398a8f22fc94dca750803421bcf9070ef140c33869a61f2ca4dcff28f9c62838c1ae887e3cc96c5cde0938a0fa0ccb0477706f8c4ed35f7cc8192941be2a1f2d8a102ffa94325f17e3ea8289a0d580be8835f632e5b874edbc5250a57ab6e0f0dd9b2db20582aebdf1369412a044aaa8bef533f39c19eee05b1367f31b24ca46cf6ea52c138c01a6fd06608452ae7b68bc9820a5f9c245ef0e846f642520ad9bbbcf1cfaeffb57d2e99359296974a870e941917bafab6f1fb27e2f87a9a3fc16d47eb4025f5fdc7c30d3e87dbccbc2862f9b8d88be12226b6f166e21184f6cbffe8fbbb1bf4c508f99d7a2905e3f1e421757dae4bf392242bdb7f070870abdff6008d40f26b35856b340a3de95f574fa81574fe13805255b7facf8d65ed9c933ebe97427d9e4ce3ce29b3db9643314d217045ef012c4c04c79792f13697efec8083b470d0f01fae43fe82c8b02a48c603196b440e29e4f98d49ed8e5836b0b03d1a73f0e64fe78836285d0386692c70e9cb0c90f4ee2d82ded663b0046c3c68aa9b5caf18d992808139b18feeeec03a073e9e33dad71b9b0054d3d3314ef5b90aeb962fad0e5980352578a146f4ef134e7a9e3875f5973248c853bd6a74389296241474369579b13ca3f71e08ea46cacabff663b8accab94179195139fe5de8be3303add3b76a12f4c1aa1ad71f5bb9d912f182cfbc8d38f56d430e026a4e511720651f04970fe13be6509d46be475db067aeea89d72d458cf1911dd07935d8410b7dfbfc9b371b57eea1a9943454a70c1544368424cb186d07410daf20db1f735aa0af515ecff19899cbdada147eac84a9708348a27eb59c62d708349609148171def2ce9e680b6cb71d43be54fb53a0f402fa107930381acaf86ee48bc2af827dc48f6941a72031e0e1042c405a2224b2be4ddb7a1e0be828540696459d1fbf35c2682f951690606ec8328f21c2be5c53d521b4252cf300747bcd01b99d34a26bab38147d3c8248040a290cdff9cc02ceb9bbccce3eaf0845e4e30cd1799be23fa7b168db5e9cf95d0073da11e39cb625099c485a6b4f3ef85ca1a4b9ebb51acad8060e9c7058e11f42b0a423d8a286a14042e9f906e166db26d45da4ebf9ec2ea8d62240e12bce0c46b59a0ad4da2859f2fb733970f971c5cf1ebf00e56777b4fac68bd632d104f2fe63258fcc122876f36216715518d157c36c1800f235b7cfcd21e71f7a8a96f4b0d8645cf86d94ac31fad14d7584b10b3108c0e7a2d10960cf743e7e5480ebb82177e5268a475ed3320c1d65b196e0d4a318f643a081b411b52ea3013f9f28eb1883870d4fe285a4e48892e3baec57cb96f34a4708fc68ae7db7c44f8d5680a06558242029106ae12da5c5aac0df60651a72ff8c372bd32fd122081201e2b516dd8a57f5a81e3ff68565d37c517cd6696ceb806b713b6a21aef2da5a3d8d506ffe8c0869c24c72166000c82429656adc05e710684de4056ab46cda40787639c938eb6bf12c1df119c8968bc58d794e006051e61e7c9c8cd2ddd006432e4512ba5ed28b637c1603bb5ed115faa6a6271a7fbecbb56177d2b9dfe208a6dda52f170d9bf65f6bceb1a807e03c6564405601aac137e6269b7bd294abb72dea843a4afbfa0b09a667fd40b78a48e6c2cde5f96adf1b70b9fc82bffd14e8ecf2c9e059c884609e88449cf0e10215a0c9b21d595b8fc4817fbea84e1572e2fa31b74ae51adbc600db33e4752508d7a41f5480b10dc6bbab5b5828feb0dd56a60bcf4bb7719c96965119c95df8e53dc781285f79242612ae0702483cc0a72d4e4f9cd5722d5f1bb399833dfd56b8f521783369de0abec369500ff292eed1228d666871707f91dc39d603b1a36ef499e3f8636471c8b60833ed89eee79f21986817bd04aaeb89a5a23a058ec98f0b0c2a782a4d2d24163f8035f96dd1a0f8696341c4e4d33d98c13c8ece2c7d01a386deb3ccbfcfe948941219a13b9cf6011fc05bea455fc8f414db2bbec426914deb7f74c4109ef65c4c1d0aeb0710a91c4c213d40ab231844b8c8967d93f0a702574dfe02490b43304ee609c4d6e419b1b66ff3f320e0463e2192d83b2c44557aa906c531b7ad71612691102bfb97cd58f784bd8f1966a1ab0b6dedd127939f1f8a677610a2e8c6fd876d3a49ba7ec9639581ddc31e464bc47f59821b9474ee2405a00a80f091f2d91c2da55bc7f357a43461f48ee6eccc214b109227b88a363e09a09d89202b8aeb31c6503f0c2d9302cb104992491e8b6b1cd04e6449acd47f1bda36a96c00fb671c835d49e70f64876f7bde265de40b859127485fb7a61f1fe39ddaefc956417fde60da9b7adc9431ef0134e677d31657f3d247799e10a38925c006fe5162e9a03671f0f0c405de7554fcfddf004ead215162fbb46cb1ba4f5afeccea19ac0c8b2790bc3f060917b3206a02220d34eb05e32f0ff52b2dd11d8da734a7761286664b3c6af12338bdcc230066740b74fd33fc3e73bf907940d7143ef4bf552fcf9bca6536f3a103a64e3deb088deb77cc7ee5c7fd7c79b882797ab4e64e5699877c1d27c862885a73c397c480abf95818df40b422c3f0a4353fb3a883aac2df3394240da5a7837df36678583b99409c97c0e8d9f2d1933be7f43073526595bb9773fcade6ea2180779bd051aa839eec8db48257c4b4b14f2c18645ba97da25c4b4684369a003a8d533997ec8fc18c1121d0efc14163961215c823c5b5bb659ef615e06a709477038aaef20c1086e1b1d608395d1e3b01743eccffd2428ee9e2494e25971fd0a36e301de2ef123371bbb680592f10215a3be8738782ed91f5a595da3cf5cb986ff18b875f25ded1f1a37fee49a90acf55829075c2b1acaa46304f893dec41f06d607b5fb5d55faa5d55afb84f79d93a87b999dfd3c564cdc495f5de1763ce6a98b413bb861341ddd116e5701cfa467b26b17969eda02a29164ba601d328f80b74f4880030e81cc80f00c66f8f4681e80f1bd38752a573116e14c3211259e688fb82d2d69a6e5aa2ad1b0135da64eee76b65c4cd90f3cab5eb4b33a60503c27259f5a07daa731d0cd47ab1acd3913958c6ddd3e7a567fabea3298c7a6cb9e61a3e680f76b2de11edf0d6ebc7c69f5aac0a3f2c2b15f9a3ae31adbf7c54a8af106c40c75d23a0d71cdb5b72594e4675e2d46dff0e62873865744fe1eec49f51d236d464cc79ca974e04a1f49e7f381a9556e9fa0abb621734d1f201b05bcd4a331252284e62615037845f0861e88e442a4492a3df3c21dd685a8266c3ef762385f1954b1c8504115920130d65a455b9416310dc3e4802150da0a865f40ae1ec1d97dcd60591bb79817f6c01e1bb53d21cb502cf729878e4f91f57e46fba2ce7c1e68f50a9f87d2332937be0eb08a31bbe8e4938eafbde47e4ccaf8505f9087c62daf975964e137999e388f7a098a35b1265b65377d2a58d997f4b585407f91b44053dae22bd147e7807a1ae85c78b0ca5aaad3f2f56252b16ab59a1b56f35aa59b572076948d647761c4eab4dda8fb42ca6373553b65efafdaa1ce2a5810dbdd35f98710b02fba5a5da2ce9bbd6e2c207289a9ec26e022cfc7c4adb0c6de25df991dee8da0261d079f3f42732042241eb61825d15d90e75035031990cc682a2a120526d6d94b67a6ad7ea5257be79e138192e4f5a181f8629313a6171eac75902cc9b6672da25e6d28bd4b3b75d677cca3903265d953cbf6d63283a1a0d8fe9025f6565a25c6506dd6e9e7b2956e8db2750b34bac78dc28a9c6f05d2fd369c9b26c05d3532c9eb90f928b44b8564b288df35e3553d33c093f85e90627e88d3fd8eb27fd3b63ed6ca4c5df531fb9dfa3ff763fca2afbdabf047da04c7c90ff06b3ea2066795397d7481c74ae886293bc0b1bf6a8cd2bbcc62a79d3f281bec5268e269ba6bc7241017ed7a8d3b4af6ae198477c0efdf9214d04a80f4d0289944c4cf0688686d08683ad29e86a58686bc1851fcfc54eb2e166704df5ec0e96a8084d57fe08c73ffa2602caacfd6202880a814bf12857aecbab41afe2d8160cec4c377be8f90852a00e42aae6d9481d3146c0a16a0794b2485d296cc88f19737de6c31f1358687eb9818e93ad9aa58443f6b5a2f8520f3e68393a35a3d6295811a633c86e77ebe070f5d539f519053493b18aac88948746fa067c3717c92786e18e9f171e4d976895c6a22de1e4ae1fe6bf5bc4f94548b371765803fdf1ca1e33044ca241e2e33c48ccedf116d1759d9fa87a5a87f04c2cd224d1ffd334253560ee00adfc011afb727c475229d371835c243292f98825e24986430dd7a1115f9619ff5f9919fd0dbc6df3ccd9ffc6fa76cd64836ab382d95912dab9cb2ba4e816cfb93542764761a4d09a160217dbd941b41ac2b63790b248efca80419a70fc3d4b4fcf9c8039343184b7ef4d82a40e887ab175f723d917bb6a55a36b4f7eed69f6dd7e2038931da9abb7388c73e09422bcb79ff90699f1fff948f8e0598642c6bd87dbac06fc85e87c34aff241333098906e5134883bec859158b031fc254cb7362bb10b7140d1e1ec58a38491fc0290c2fc86466af6c8416dd268ea98815d3f180a4519d2759ece97dcbab93dee4238c7a4eaf18ce4c3f63a8bacd8576c1b810dc35a6e1086b85ed8a4bd002d154934e16bd6bcb26890e68bbe8daf2c20c7423829586c31d2c6269d18caebb6abb7ef06d16bb5f35c14e90651ed58f74f2dc730f1d3b36496579b6322cb0405b6b34c3a880b6e29f17d29db82bbda14d22d5d2f0554bed637c25453dd777de7638541a9921b1d30f56d99f239ccdaf43db6b48ecfca0b27e88ec65eaa0746045bf3f854587b796f5093db15c321f9c602c4850605012f3707daa9ebb3d3c558389a2f52070c90eefe1d18e6e9aec4f334921d36a5e7e9c699c6dd80bdb863a6d170379ac5dfe8b849ceba7bbb677cfb8f405584159a5f9f10e15d7e31df82281838e4994a7d30a67811c794959752df07e49a5040c518a8ad723dbdc98ee7855157e8d7d3984add7a1324006c5b3f6e88e1271965a15641383e09a0cdfa55817a783f0b8083f3ecc6a0d2cfba884c163e4e317b8c9763d22d17922be0b19635766c0f77d598cb8a3340d86ac0d19aa7b2d8843730ddbd4ef001fff709678294211c5ad1cff7c9dc11a91346022834e1c9665eb3611d58b9a10d4a74cf0d7bb8fac4dd3732251c93a322b0b676029c791cc3ff28871928dd06cfa90e0526974823be1c114683e2d415a71d168c91c8959edacfe34e1317f798e0b8299dd8eba8381bfca0018d08facdd341437bbad18b921a91b00e859f79e1adde1bd451f06516dfd9ead9e48cdcdeff83e0a727a0b709f6e526a1c8c004fbcb17243763de5f31fc09670d972c53a18ab6622d7ba54f3c72c2023b4c00b39883b5a00cfaeacec51bb7878abc8e5a0aa308231ea462550199dafd3b85996cc620baa81cb144e5b68d6d0db65798e7897f654267fe0765e40fc04aa480e04c50bf4dab9fd0e335c15461387d78236c30f5616ce9f6467efdb09674099827203f113670b57541b7a6ca0d74594cc6d5ab5b6552d3780a5d97140a4faa2eb6b3628506e821abac910c67c12773c69e984c723b37553bdd3b3e23d369f57705f4e0d57d767142c556d44ce7aa2e1f100cd22dc66be4d5b91742f79bcc8043aea7c123e8929db04b7a45e50e794dce661b50900dd3dbdce7be18e58f8a9d132bf572154e0d83b65e9fe56cfcc832c143b91042586ba56a78ce26db8b71f6b935175ad8cc226521e677967e4ae858f07639472491a48478ae5565bc526dd33c4bee417508ad26316b4e766bd38e1437baddc3c0d0499c60de9f04ada90093dcc7e640546f435445f8cd6df1ad923513b1239fc53e0dcc204e3ab94a64d75b4aa97ba4422b6a4dc82e40998c5d6f5ca5345de488b36d86a4ae2e42c26597e271ea7558d2043ef33e566e668ff1ebd7782e7ac871685c850c1b5ddcc9adf7f6c5effc00269dad28e5de350e3e2ca97fc6d3b22ac2ffd94d9a6a81e58f3ea955db27ab0a0be32bc117d34add8e87834027cc6d8033060782e5810b117e69e53a459e751d85c359121bacfc908fb0e09d189cd5e60631ad245f7ffdbd83e5e6a65e5b76079750c776827a6fb326ca28f79e4ef1c9309ddf2f57e312720f9c160e0d362385d36db868fecc5d52ec7bcd16427d1c3b6ab9e8c5fe10fbc26f1fa177dec629f88d4a53267bfd299c491a2f0300b9ec6af43eabe8348e526edb660a468cdb20597a5871eb168d7bf7e1fdb76528fae9cc406a8c6f247f4bfddf274c07efbca19ef7897bc211992bffda91b4b6c24ba511d73131f301a10499108e437b575725b37978e076493ce3da667180880b88b061eaa311a861b0af491b35d85f1d4d5d1cf76fff337d089e0b3cad34edb1b5eab83b7d98fd111a4ad6025349ee2473c4aeed2375abb6b86b018fb50f99d9ef9318aec66b7d48a3c68531a7fce2d91b493c25e92b46c094eacabc73a312e1179110a75ce9a40282b045eb09df71570c6f3b12312cf7bc98f2ca39bbb599b13d6badfb149c0fe0666ee970e68cfc3abe62563547ed4058ebd34a38b738f5ccd4be27e2eb5cf09b20905f44eceb87248c035e171a10d77148642f9d5e7bba3bdabb25d6f19e60645c01f5cd947050fd8e1890d7e7521aaef91d4dae8643d014c25f75cb5d73c6a5b1ecf8e0d14e478790a07920661d70d4a6a66770e2456908ec4b12180971bc4dfe2c0d4f5b44d4c1ca122bf9785742d4980245e43ab792116cf613995479cc50b99911fafdb80078ebaeda1d6e99c628f874582780c92204cb6a95f12f144656c23bcfd76f56d10cf8b43c4e20210527d6d062797f38525dafa28fc0b5a9f99de78bf97f26ecf150480bb6e6db12366adaed997de4603b4e931ce08fb3696fecdbb2107247daabc5e552643d8dc2bf730058539d50493360b2c82e16fd0f3ba31da35d55ddd1daf128fa4d5232f3a412baff6ba1d3f59c079fddc4316d1ba67d3120aa995674fcaab6e279dfb9cd543b45c112a10b3d464840873fb75cb3fc1512dae099ecc5b849904275fbf27f4e6f8cdc6c4cd39c0f21c6793648ccb5e37777905a71af901fc7e0b016d3cc978065ae6f8cd70d88a2746b57885d5d28236d529d382d7b0572616931f040a585ce9aba808888eeca3c977953ac335bc9b004b1522e99bb0c7611a36acc5034ad0479f72b704b16fa69c9443dacf0c03a61ce876abd301dc65d8285ae6de51d6959988f63fcaf6310ffe03909ef6175a8664de234f4b2d458497aa1e5ffacc188e102be37d977a4f1b7d99e01bad078e58e2e62de67af146f2c924afd02d103b75d91edd61ab58b601f9dc6d4539fc01545c21f14a850da168242948fe1af1c8a719f82cef82ed81050c05127858b3769e5e790f7b0f6c1ae06c2c54d0bba938de23b14c6e6a125b5d4be4c83ea8fbc582c074c4f28332be24170a35696e2a45ee1f92344637879e9f2db1a8c4e4998d25f2429c5332fe67c834a1abcf811237e1796427e124f710d53de883e76c1b03fb06765564ac2dd1887b333d86c92d94528340a05a702b24fec7e6c3780825236a6142175fe703033973cc22d3bc3846f3e9fb665955fa6d24c70ff2f640a4f87187e7ac6eb0f0434fa6ce1bfab47dee5000950045b5cc560858bbfb17c94de3a9da4cd7d9a176b972e6d0ad80fa57d4e44505f894ca5710dea34b1bd696b53b2c0d3a0a0d3373252de6e4c5723d15cdf5ffe39fc70e15bcd4b55dd42f291fbf34a1934bea443614a61a10c8a2c3a2a0aa3a4a104a328323563ae71aed94f7821b2bb12b51c11c3a19eed18a874df376671e90104323da407b5a174dc5b6b95b1db14f3a8912f330af183a83fd2de845c6972256eea09d88024daf57eae178e7ab1a738af3384310edbc7e224572045d1000aca112b114b17b65ef67b8976896ee6bdd2e783c54113c6a0a9fb0daa06faa0fd8a80ca8f68b8753627bce90b176819e8266c0cb41e0f0eb74ccce0d1cebdbeb2c672302415b9123e8502b0949e493c7774c0ec77f395cdf4b0ce1dbb3888d4852df66f661f995c858ba8061a079d010e975f3659f0e72ae49dfb92ac37ac5ebdc4096495cf2233df9ce933486ac8c2eab83254e10210b8f9140187edcf588698d947f4b3f080deb6ccae63bd337fcee881476743f235d42dca65bc1dcb3bf99c806d7cd26c46c836073a4b85cc97eb6e78d3f33d4386e6f906d11c9a5d06a2614c1cfa06da36f60b11f7671b6e3f1c859819b26fbbe7da378e2d1addff5d69e3ceef25a03ab78cc6df207f5fe9bce57341cd69d8c322cf3e7b293556aef3cc115774a7129bb6c76a93aceacc60bbea6fd863df1fa800c4fe992d18c45593d15d24ba71a6f8d8fe88a8644f066a16dbb5e8805e07450e08eae97f5d2762866462d166dc62c664aa531ebd0ba6d690ef99754895cb80c80fd2835e3b90af2e904f155c4fd748ecc33f89352638cc617f505176fc0b0bba0f0d0c59f98ac89201c19d484698c86491a450ade9bcf3c34f7427b2ffd1b8523d135b3117f91db24ef14020df9806f56d10b4250bc8ce53dedc0b32a6c288035c28f9c072f42e3357b6925f6e18c863166ebc1f1db5ff0ad69fd6ba3d320e4ff01f7c1313e62877d6968eafc300e46175358d11bd78fc11ec7ea0ada3eb43399c9c99eac1977d08e6df9a38632b20303494751e3097cf84bc1f2707718651f4e7c7aeb2dbd5844aba9bc18028a5b2e1e855eb280a1df4279260dcd183ce4f751aa548fe101ea49557f20f1153240fba87fcf1f95039aa2538b376651a3182717385805543aa57f5a8f5ea45da203f396730eaae658767024f9f244a66e6b946a9262586ca5654c40c6ecc0d0d63450acafb229e6c7455fbdcac017da826a9e635dd5a39dfe7e4638651787991d7a268908c503a32b5cdad498ee8b2b8c4f147e6a6245e5c76f73139a7f4f35e65c52131b8bb39b4e19295d82981edcb59e5024c0255bb77dac0a78b31be195cceaf3ad88eaa74d67bf09e2d271f97c8287c3fe34a03f4137ecb2a5690a8943a6badae2b40b05e0b5ceb9d72179a680e7026c68bd4dbf62bd77373e4166965531bbcb7d377e5c4b1cbfb360ed316563410d68bb2369b900cf39ae2f54de8d057e74a2a2ec66520d1be3dc676e5aeb1c279764f1b9102e8194f5c5712cb24330c5ad054532f80a4d6b3567a8b2b62229ff4a7cca795c7bd35ff859ff7fd5e80733b474d625c88169c345644462560ff3d4f1004ba61ef2e05b9db07a2a8e18a242744106d2580452fa32bcb6678330c45bbfa2af380f89c66e84628eda60c70edcf5b4819f691460905bf904011c861c12cbec5873d17e7a0f9943cc1a587c05a0345fb3ecc7c75a72402d71457ea264e7c91216b86ca6011ccdb385fc5cce23db7879c19ff1bd81b9a233fa47754e7d92023d29b7d78ec2c743108acd98a2ecdb36e76ed8873bc0de500faef4005df9e626c020bb2c2cdb65ee70fb0cdb46dc314361384bfa69fadd5ebc057e4bfc16623a1374724927e168e594fadba76e87355df8a7bbeec4321686af0a73a5d215e890baf1a86ad57cbf9fc1b795ee72d3538db85e93556c9ad441c7d17822665ed09ad0d272b78304c2fce544ccf324b43d885d04fba5f3e287e3700e99b1a7767875c10677f1b1ffe0f5619f20cdfe47d7cf6ec17ea650ba30693adcbeafc88b7e3bfae693eef1615f93969b008c46c45660c89f948f1cb9380f5318eb348fb3ed55dc0d1cdd9c3a513a5c8d2622f8447c0a217d5749aca2bcbdd56b358dbc07c381c656052dedb3da54c1c82846e96f9795dc2ffcddc6a0fc6e0b09e6ed7724381cb63bf16c29e7afb27e6a3f4d987d019453a36569b53f5c663f9a02aebff394c860b14abfdcc53fccf328c218819dab5d4c754f8aa3a12aab0f7dcd48009f88117edf6cdd32a3d96f61697b02c421d184ed91143a3eb02e1b40f207be6e01b3985d7a1b1f149fca3cd8751d17fade308752b76ac60cfb599b2ab78c23f9e787e20c95104d21c63d0a2cdae8ba394a62de023816cee41bf855c32543ad8706bb7c96609b7a73adcbe6036233fcf1be611bb652e12c448dcc3608fdbe6f1e3e35a5b21587008831029c7cad5294aa6cd9e4b2c9a1fc0d3da1d56bf0b90d3997906e6b2e5dc5fbf79595fb1bc0a1c71ade9bbdec559a6933eacab6551d319949c141172cb911292455df3734e664ace3b503bb362994531288e6788351e7edc673273b44987901f037ff3d55928f335d0b0fb4fd02ed71c6b7c559269fba8eda664b5f42b08294efdd2e7b0fb85334a0c03324704e09dac48c5258321a1097450bd9b0d37144a616955a9526f8ee32092e8f2c921652df5b0a3ff577fcc0d09d3b9abee3b11e84c7211f1a53fa214fd9b3bfc54be497807edb4831c588e6c40f750ea6f735a75c97a36150f96998f37bbddb8cd1e93ac8435003343f7ae011df983ee0c190a5233f3fefa8a9dffcad6ba1161cd6232882903f9d0d28e4951e3706166d4961ed97c8646113ba70157e82223b25f882f0264e680cf490ba44f046cbd3bff2a3a58bdc03e9a4adf8b98e24346dee7290a98a9cce83a488cea9fb7b9de85c780c1e4f964809abb876df6633b69b1811dbad6b11d8ade40c5202d2ceed2823e5847a23239e0dff066f17493fe99abd1478dd11b4e7e2f355b8eb809b9fdd972d9272f06211e6df50ae8814b53521b0e57ba5e6ed0aeeb153bf8644667c1453729f0e006dd280d6126a69ed5e170b5169c46108b5eb5224a29e84d200c547888506c4fb16fe4772ec0eb9f7a95425f2ee7b572e32f3da7a2aa07c2ef0d6d871cd061f75c028c00e0cef2664c4221004bcf537befd188f1b7df42d5370451befb78167c579f410e97e75e3451becf612f94b51f454d9a89b50e4efaeddafaccddb8215f4365ba735b153980f4680c502f0785dee5e26a6b51f3255d461788313a3d4bf36f20ec35e96485fb34cb70a9f3f6afac19ecc27124386640c27445edd32b489dea69fd3aa81eaaa7d432365339f6ac30ab91b7105ae818d721c014f8a1b1568b6538ca37c277175a101602c83390bd8cd1dad9e5d7d8cfbadb74d4f7bff56fe193a16efc5787f83889b4df68e762f9c20b8b525486dbf94295671dd5b3055ca17476b5e22d92df813e9dc75887465f2cb9c2d792a3ae6f4bb7292a7c5caf62f83cc82e2af689c5b0d3de4362771bbd95d0e89ed990cf82d93bc00624ded1e3c4ca74e1b3c831e6a47d006e09fd0c5a7c829b07684f4d8b3dda093c878ed989545bcfb8f9084add2f31910db41e141f30f3932e686f94b989d371002abfe6fd667669194fa30c8279ba5e37b865767f251d8d7aee3697b9675efd1fcd78ae4848a7987ec7f1813a17f2cf921fc81d29e4993c2068eb1f4e62d978d8dd68dc831529ac4e403f46801e0a7ca0168eeab63fd78c977acd4cc12254b97f06c9a8ac118cd5f34503ceefc404f6ebb0fde643a9e4e654648af73c85ae8b4f273c1516265e8e8985ec9f9774471d6ab9f1716cad86427c5f26c5ab3dc976a76ebee3a42e9d858c8e8102c261011b4acbcc844468994f4b1f0173a2453e9dc5d865257d52224f2a4c0072473ee4b78ce939934b910bd2cf165d51926823ba05209d60c55997d5de7552505dd0b9d4ac40d04b9f5ef2427b6fe36b1559094d66e622c1ac3e8c682628bf5a12840fafb3cb7f2b0401d48ab4645466af9d6381611c17a927397b7d00a3fa90a6fc0ad47c6dd47dff2ccb2808f42f3f4a8ef884eef5396abeda5d92ff21d0aa39669b85b9b10cd3a5d49cd7d30ff46d302be07ca6d8e92da339e9faf0c8b0cb7df910bc882d785f82414f5754cc46409ae35ba1e6157cae4644b5c86f78770065252ff237528b1569fdc4374ce29129d789939f9cc43ac1b467e7994e24f75addc39c895bb4d502e621d62941e5007094fb3fe205f6aad0bbbd390e0dc3754293752082d5ac139b1988b6497b0ce8aa967c59becde6453b71da45b89b3558cdcc0cea12e8fc52ea82c2bd959bbefabb91ef53b0b788f9e0d09ca202c5717f9ece3c943833b59a76498ebf85e2c6a16bf75ce9067dbb0c068db9dca9c04de70697df503551d1dfe997067de54074fa0e9edd5ed1164d6dfeb16417070a7d2df4d297173876cd13d3be1042074eaf8e6cc8f2450abc83d09e6fbca58982a743ddf4a49a607a4ed22e36f0414ef2838c60c815db8fc1c2eebab9c9d5387c6a2efb19634c670ac5095fa4c9035a04b4f7c09bfe532f0d893fa293242c5bd4d0cae885073f51a43e2e69a4d62e777a98f0cee141448419bba93e6d4085a4dd2f8c93f1ea632cfdea7dba771587448ec89cd659c29d55ab3e0793050581e64b0d9c11dc78be8fdaf0f35d31072d67e6ef975035491632c3231a7cbcfc716e77ddb4923c6857cc6efd55191195198e160447b5c0787a0be7d2326e2f6c5b17b1f3d74a64dd49c799432e65a86d41609922f3f47ed00d00f592c4cc695ac02307ac3a0f3d82bcd6c127b410c118fd9c9721d6c5838b9aa76c312899e2dac846a3e23415594bea2879bc7a695ec468e255a4de6fe8934db20666e9f979952aa12cc4ff068a9f860ee1c049f69563cd275602ce2f51760ed4f375da252de1b999638d15c41526ed0e6b193389e9f4b6e2b336a23e06084e5bc26cbb95c20098bb51ba306d51b04cb6190208be9de7dca7afab75fe728d49cccb2858357670097f79745c3e379b2aaaa41d464a18ed9152535adf5806769baa2f94073af74f94c3ac2254c1bdc58729781e63ab254a5df4c58e25b3272426db373900806ab43f3ca72c3bc63bd14f53ec41e4f7e05cfc49e00e501f7483ac76ebd69a7153330ecae802a324a2cc4ab441a08fd3506754c8985d5a650039b66e3a92379a0c0821460747c0270b6a91c55817df34cba63b5e266874a50106511510b4a662a89bd81570adaee88374bdba809b72c03122bb5e28188714a3cea607419c4c8192c23755dc70d5bf212049450c646387f863f6cd5df9fa3560344ebb84981a0aed332df752b88d33b7669a3d843326a696759213b4bed8881e822ec695066aaaaadc17a603f5c19a4708f7841cdaef9cacd9e36c8c81ac5f67a7ca77800fd2be255cc172c777dfc3986e6bfd155d1db8fb1be5722d045bf404dee6f762aac33b3bbff3b42dd513ed51ac8bcb67637db5b3bae6fc3b3616835bd960888e05fd571c32f87d15214430d8309fdc82345429c03714a34d36222873080d0bb1823bcc769005468bbf7beefcd2c0a83a896f04af4bb1c2dbaa6987470bdd2a4b2a18283ba3c5799ad2df2030c9d3fe96b3f779e2890409fec39cd833db3ada5c84f6d7b2616629cebbe32bba4229af376c885f9fee63066d7dfbeffb1c80ba6f775bffb6a3cf124afca5b1bef6386991e03aff4222618d337fb0cfeff25b17027a50d4d0c05c8194e9e775b0b0a554b9b663de577ce381699a394a0b532c18545e5c4f0af95a648a42cb87ea184d6aecd2d7799f067704f585fdebacc04e5b451b2547ee63bc64f8e4295a7efc36ea0d422adbebe9ed2c01827b6ac5802124a73f0cf52f7847ee020fb39d10ef74287a786079b937e26ba0eba429b0bc8499823dd941d0ae55cfec5174fbdad3e09c116324ff093c185a0dcc0a1ce1d0d23c816e596853af53c88249ac8f70dbb6651a0969879bbeb5a43f865870a4fc8788c7d91b8df38b74959d6deeb659c7cd5c97fa1f04027842dd0e62401bb8778c461b52e9b2223fc944a580725c39b6bc0ced6a11ecc9771bc586c3befed0ff68b774e5414d908253d495eecc3143ea138f4947917fe46e2bce1ab2ca29c87025881b436fd0a7b8c7744c6542a741e6702f10fc7aa397e96cfd56f7c3003418ed31d88c893921eda5dcf976abab94d3763c97366ae2ff384d09f484f9b3b1c72c65ea0407b62f8d0dc990f104e5bc5f5f23757259212a0cb0f14824344696537588c93be17c88b3af543f6fb1f029ee6f82fa72594c6469c710a425b8eddd78535a3bea3ab01a9aa525a7d0cfa3a1a7667eb37aa7b97cbf7203bdddcc905715f4804ef2bb5e49682748537d403ef8015a406615b360a0761d9ddbb907e84b8767ec01500c772ca68ea3db854fca0490bc5852b29b905db027fef17b69bc978ff0884c6c7198f92c7aaf3113d4de34c5684b53b48cf53a2e84eca5a4142b40a5483fb0c63ed65ffa0c0332a03640543c874196c91a7ec96d3f6ffbbc7f2a2c9d4701178d15e1f7aef2840e48cbe83d316507aa102509385c67b3becc07fef9724d2d90c49e46939d785ae877219744fffe69bc3e37a1ee3b890b97a7fd0fbadb6f1d24e31625d05e8e2226905bd6a0c44ba6e01010eb554b4b3905d8d23172ecf87e0ca6ad798135bbec2422c3d8e2c2002b58ed3cda2c42e59690b36fb800d26b6205613397b67c286922b5732ec3d34bb43d1fb071bbc30243ef831a41de22f949602f771b427bea78a2c37ed7ba91adc521fdd895fff4b386ae8e739f014764f2984a781d08bf6ff51a57928ca40e1f3c96f822e246104bad828f8165196f87d9e4baeb02c629670daa31e47b31fb9630cf6b43a9a462b6e7bc493c9452d05617d2b93462e1534d1fd4d59cc21c4f495315cfeb1d376395d0c1a484484dcc3c5b3480b0b5be77b3b3e234eed0f057f36dbd067207a7041d738d2efe3c486f90a00af20495079c44dd35b88fe23c51eba37d232ea7042d1c26cb41fdfb64dec1ab99ce6dda737f02b889a61c2ff205bc838691f63c5d2da86a8cf1de1e0695982243178b6c6b750356b8277c5831916d0b5680a2652b8762f7eeb83fedeab6293adb5929c61295df5b2382182e9fae3fee23cb396c13a5cdb92766130a22ec49093f7882459b8de4dca46ddfa1c15fbe3cb56c05087755499cf622170faae2f0061ad3be8bc930d7bb5bd84e504dc64d0e0da1c57e14a24cf829cd589c93deac84d134b6330c3ed539f87c5346327e7d7cd151b76f189646c8bd961d30aa9cee22fd9a22eb4f03b81fa9f44f53df46b7a8fb88f5f888b7a32838beda75805c410c45491b8484a4a48cc63bebf6165ab85c83acff304bf7ed2d3066306e8aa111b7d04f4bfcd801bd06132127b0d2a875ddfb1dab79701d7d6597e9dd1298717984b2a08e4d517af253dc6b8b05beb04ddaa4fe6f60fe9dc37da5fe40ad9164ae10aa75e1b9143aa1fa71673476a540c243bed5bc8274c99b0627c800d54b5110febad9bbb762c059a4cbf2172bd75659a97041e613ea633cd6a3386d0b0ddb1a3041eb75ec66780d342252ffe4e5b9812db55caacfa05334c044c83eb5fd339b2c4e5c697bf5c68177d6d55322a99e02ed07e03106d6d84f196eb3ccdf5c3ddec02f999e5a675c0215eefc432750cd4a7e16c425fac199ad0bb1038bfa05551f4f796cf4e0a56245cc1116f64a8b2b1cdfe308d1f8c7c42a97de8dda6815664c7bcd3dc06b38d558151c0852bc8bf4d5a849b5f128ae122887a0f61bd8477fdb1063dd90b9a1598cd0a54901654b41d124b83e1781e5f3ce98ebf1dc251371d09bc5269701e51cfe90339636b0b1226c70aad091479b1f3fc65cd6031205030cdf886ca013a62989ff5185ed71c1885bb08e900e1ed094ed436b616126aba64026e6889f13a3b50c07f154a11f461cb37d7f1089272d4e50e65d398a6e92fe8fd09cc0e37dd0c83f4146b793b7adb57a9bda9c77e5e300628228db50e60cbf3372d81bdcb7f7e8a31c929b77cbd19cfb551c431621a14c11158d8aad4e42ba6ec55ce754bade735ff05eeedd2bedb19ff4c69dda9dab15719c09100b1aa43c005ba9ce47744c1d00f17921ac303bda86115ad6ae0662a14b967cb3c4c80f627bb66b36b68b958b680585e1147fdc1c3239665bfe09da3b24a174524bf8d9428632a1ffe7d49ff36d27164dd6773ec1632dc85a479276bd3886d5d73677e3d591a79f568df1462f29f753895ef4eccd3faec87dbfd5bb61b169dcc1c13f03b309a3e24c0003e16c6be5a9f0eab36c037d25764f48455206f4d05f6f74230ec7025a87f12b2f3b05ee6a4863e8bc1a5c069aa2dce5e0857c0511c5dc59a00894efa50555c50022bb2addfcec6825fce2d5dd2a00bdd22dcd7ee50d60c3febbeb86a58e69cd1c419072c8277d97fa803cb1d07f440427994586fe8383a2eb6d95bde372f0015d3da41322df48c4ea7f1b43ef25b2dcae0168e1d83c0b0ef31a68a06990f2085335b40dc978586bc643aac210fa1956886dc91bfbaa63c182c6bfcd9163c92ad90c5a12e7c9678e71c1005c3699d9416ffff3c7b8550ccd5616ec54127c4aed03f07276f0c581f8ca44ea9836fd26154638df025fc4a2ce30381add570fc6761fdc633b6e6881e406a0d572487e938df25b658ae64c9c4ad8656efbd47044086e1fdc2eb9f43a39741b4d807e996dcedb7ef63696890d71ce834109258ec817da17cc151539c28e8a4e4d0b96a2568c3d35f047770d731489e06635994c4df5383f6550737ba94a44685bffbf0516f810d48253157b49bc0e59da5519dc709604acc200488836cbe4c1730b1e872c835d34ce6291213e0f81ad49a3bcd4098920f4264ddc5a868334df2ace6ccf28e74e709c53b96ec611b39c3cd7d351e54321ffd163708a125feedd03b88ebcbfe64b02c94041c750debf1a3edc3f287c71cc3e5fff763e54ed6521d3dc5ad5d0f2b34a0420e355fd6a6c0b2cb6f353cf6063f16123dfe9c75fba8cb545639cd144b0fcf02b0950331bf82656624382b60ab90c29e1d19e98165e8a1af7a066e0b4db8411cf1bcbe19b4ea82a6fe98a5a2e28a4cb9d67d5a04689ad5b5d49bf2c2078da95e47219cb396ab7c0cdf44bc9ddf72b10d016a25be516e373964da9c200e36ebe04d7877cf8098a2bcec430599bed000d42df954ead31dda9fb520a04290094e7f00789d24d954baad7aad0ad75474382260035a981910d5ba400453cd18e6d8226307d20963e10ac5f2f0bb9dcf7ebbda51a8e3fc9f1666f0f681f897861bb498f79610c0a526732a8ec45b8f13434676b6b2aa6491cf0802041cb283e6f2aa8af1ee0884ac421d9e3b7236a72c005d23e4c27ff90fa201e91edd2c7ffd8e97d1103cc89e7d91acd0b47d68a05ed9eb1715a020f87cfef17a93478b1c981acf3bb61ce8bca58b967c7a913025b0ed9428c6c31adb25835bcf77c74c814acebe0c7ef62896c8214c5ebecbf4fa501c8feee2837c55204c8eb59d63b35136802df4951a4f4dba92888330eaba338b4d27ac124b913d861c9c94c5dc83654f1971be7f4008398ee09739cdf9feeedf5210153d12b72ef8349795de747ba1177ccb5d6925373e89431818d3dca2263df13b035918546e2dc41909b4e7cc02c3f55d7b2bef43a91928248a835b268cf0b3f44ff1315fc17c200dd9fdc5051896562451c8233965539f217796f5560ef2a63f11243124b7ca7762cd07c65a6a75196d8f544ba8994e2bbbfc52bec4c965ce3e4de61e8ff05535ed0060b50e0842f90a85a9f859653b627bbd1fa4891aa0324c6ee73f550348c4b22728f887ec3f6f6c3f2e5832ff94e7137f62dc10095b73959dc9602a8960add300978860e8ec1f3466bcb8b564459e05215bd39f324114223b53be6b5d0b83644ba3f2463f9164f7143804080b70abd0ce5db2687524b38405de9908b0d3c7ac0a0219c96d72147408f68ae51b5700d1579ca8a7f09fdc675c43d8ff76e31a934bf85adeac150deedaf2da90b5238802ae2a7257cb6a8e2797566ea6c7001e7fa0e5cfb96649c1861188dcc42f92a7cd7c59a1e6c849c2b9383a76a12635aa8dbf3c4c467d635b063dd5c11efd2af50b407c7b4013cec85357adcb8ca796100495522e9518f56ef8e2c4535ead1ab884bc7794e1f9b301e4e1c21b6b46611dcdd7efed32267a7d8a600da857d5a7ca1068dccc3171e2cc4cf549611327915667584850eca9fac15cd8449de1b611f12f942383a796c8363e0af6fa4d8527d9ea08c6be4b12e92085c1ccee59c01e975c231cec92dd0903be1cc077183f0e390115a1df2062e229d13b8796d34a1beacb782f84eb10263a2b50ede77a5ae4613dfc0744ce1612ee2c059840c9e47bf3791d8b46c0ca04d141152b54272e73d510d91b58c003593f189be5e4855e23193b359a53f1dd5616f1b54f21073a79df6fb4895231c6f132658de3401c4d188022f10643f51a19209856bf840cfba6ed39b31be861e9d77e704387857cf17e8aa2311006feb650005b161200d39bae0c90bbd6561a8ca9bc74ad0e83306a0ed7858adaaffc128f5371d091c89228484df550199b4f1ef52abdbac7b45287e3f777dbc0e1c6a809f38e9cea1b52a206400ba2d52e13c61bedfda2851bb769a90608372547c090c88a0625475b6d2c63cb377fd456dcb408adc2fc4a4e779f492576d110450c27dd09794749f74bfa523daaa8862fd518050c9deefca3f7d19cebb5abe57e94947c5abc0984ede0e567a05b720c2ef053bccf09c219527602739dd5e78b27987416d3915a7fc06f10f88b5a622ebdc2ec70a002dabfee70d7f0b8065472c8c717a0c4a92bfc08845e5abb91c79467c3f964d14f11d4a13b1370082c5c66806eca09ed71aa5c3b8265995d1d3628d3d1e0e523f608c149d7a45399f98cd04f679422cfb59f5dfc11911ea20a12d0ac7a21f0aeeab5c70adb891144387701c4825163fa1be4f590b6c4185394b432dcead343b11623329c081228cf3ef8ec092e8a0edccbed766f7883bed545cb95cd3a68acb0245a828f4e0804bcbd11bb5113f68d00930c956adc90b3a8b0176b552b5a78e6bacc109d9c4ba5a1217f2259983044442a08eb7435f5a1849fc55b8a0dd7d23a8870869ee1e72e3b27529c1f35c2bc30369d0e942beffe75e8479714c90db5d1aac8dceb3c0d9c1377a54df823a98e7505c34f8fe3475c52d264e9853871ee0434f9e2b864193faf8eb24e83099157f9f3824178e37fa9cf8527b90fd31e49c60fe1f8811f756f87b751c2ad267d112952d1f136657057a2651f646af974192ce1c120d366a471c8ae1b44bc1f487fb70417c2cf13ed9d9605764d60c6c300ad21af6a20cb4cb7900592ce4af6d1d7cf2a087e752c6d04ae170c8cce9156c1410c64eb82337fbf5395103a07165d326b0d4f1fe71e8ed06b59d1a151a17974539d599e4ad277f1886c8d2528b6d6fbec9eea69f926abf961b4c7180c36c9ae5ecac87ee6af985a0e7be669bb4b86a8f37d4362f0c524f2b2f552b5726a9c0fb9cbed9d30958e11ef4476067c3b36c6fda1d8dee8ae02a4fb79757e4d934a68cedad64bc111df382bbb84c64e8ac70188444fddc1cede6486f65e0e98a2f7dd658da2006ce2971a909cb5a5f109d37037173e0799d95aa6efbe23598c7b99b7d05a03610a59bd6ecbe5e0bca0a7795e781183f24c93ddccf3c8abf62cfeaa14bd8184bba2476d7770fae38ebeda33e66afe16566aa94095950135b8d4faee37fb15ab74b17251316a3563a9590a2d467c779af066427d9ebdeb8931327a9204626a2c318009f0cd62e389027bce5ec4661113970c0a314e74bafe99cd7fae17673e0d88738bc26749d0dfe66e912f9e73250d3224879b9b371c0896b8d736918c81b326ad68cbf1d19dc2e935b03a7e42e60faf9133f134b0e3ad0af2e612f54fe3ec8e7200e8dd47e87eda1582bafd091ebe73f24ef62bdc91e6ae4c23b1c056500720d99412076cdf911f3c9314a4297fdba185d48c2f91da6e8e28994d36ba004170c8decb14b5fd4bb93d5e9d5a0a6d790e52e2316f161559b9e6fe21031562e011af58519b990cc942e83ef7846591dd138ec8312b48722de988532c735d676f3ddec8910c2bc6e9e15592da012e7a5c6fbf84420a28bf6d98c7cb34860b1fe50b6c26a134c09c8eb8dc1212a39f09cbb424af1de2ffc2ee7ef7c889f788c29ea90bb893b7d00a795e191d57ce007400edeeb901d4ca3707fd206989f21c5ddefc984e40a3cca9109665b34fc3c21dbb8530e773b6786fdfe7c9e4f0bc5fc2761de4e41d8fea66196596f82bf5a4b251baa5937e844c0d5d06acd5d9a0669af41f2073bfd580038596c4560b753ecf07a5a5f77348556645cbd35e0d9ee77cfb98e62c159b75bcc14bc547279bae1703fdc1928b1aaa7c0a2f8916ba4b44e5a7a96a43c84f3f61deb065ec011352693a304e2760ff1fb88c3353811254171ddd629cfd2e0080dc158db5e983cfa4d703f67785727276671ce668a00c56b7987838fb2f9cdb57012a7f780ed62dd3fef05a53e193c54fecba0717a08955deef1287e51962922a793cd0c6ca8fc5d5e2f04df87711d80486c17db07648c6f1d9ddddcb4c656be2eef3832fce1390af04f3f991e5d52b9d9cd5fd004cea6e0a1ddcf59a8f449b0cc2ad97bf1f8ccc588b01a7d37577e2f0fc4c754d0799df160de2e94dc09b9790fcbb198cdc11d17a1f60104b494437678509d7216dfb3cf4666da8a88a525e01f5d64f313c4c43b6bb79c4bdf0340f1f07fd42a3f2dddc1a4b352a5ddeaea6ee4b99ea6dcd81b01a059e6091908d6ce177efc626f7489b8bdd7a6ea75fc0a6a32a2eafa74d7d6bde9804cd39895f0c59a3bc85e36c7da77ae2ee6b5149b693f8fb27d4b93a6d098a2db06dfcc65b4e68623e32f021f2d8747c6456ee76c49d215afe550eea44109a87ac711d5aa482d874087afdff22004707127688a74312bd82c1f282bc7c88c4f902d6bb929b697a29d03a79acba6047862ec443d7dac447592e229f6645ac871574c6d381c1fdb4c2f8cd82a3b88c8bae5848d8e1f9540c486a50156d3ffdd5c36ab848c7afce85403d56909775fce9579724b077e24490721520ff2bfbc62a35a5893e3d0d2e08b877c1f3151bd57a57993c45a804c4d3ea79e81f61156b58804579de0c26522834314e49faba10f149d6ed3634f1b8f70fd839b7f16f07c509503ea71a5596722c24efaf816dbf8365335775720b45a68f761a3180ecdf48eb4befe93fac09cff2156b1c30c0634878a4f409051f2206fd5f984c89fffdc5b10715b5b0b1580b57a959723afb329e97d04931bf1eefbe23a0bdca63664ca42ddb252c108dace4b1151b5d277017bb9ff8d743c2916fbbf79463b4536eebb74328d5868dbf79cd3bb6e4c78498e43a1a89524877407d0d8eadd4a47cffb8b9947d932eda1f9564a2cf647eb76306a1cebfaf327eef2265aece0991bb6a1488e2ae93b6ab99601a94209f420e6a5ac15e7a406be219ea46aa51c92af14986ce621727135041374647d6539a32725f304ac7aedd52a24d52cc0060b0e165ef6f83b3cb3c698d6489613483aef009cbeb2917cdd652dee35eb6f6701b593387a8e588eb5643e7e6103d872b862efd2da5ef041f20654b3ebb6b09e5877081bb10a2fe13574fdf138a268c1dba41566cbc7ebf2e5f9dfb861dc2810f79791cca0455bc97ad3ff4cca49fd7ef888ff86423e4f49777dbd686bb880df9ac56155994be29165940533fa04a4d07df21ebce6ce056d37ac66614fe8beb6bec713bb21868396c1d639179272edf5249936fa500de7af9e0e468183d8128f5de93ed8d7bbba40f471842b9468361c459191e004bd8fa522d0320f80290c181aff3a256257b845a067d482436c44dc0f8967fc7050846151017f5d566876722d3c585602a31b415c417ae93ac9c4b31bba47d584ffdc38db46483efbf4d6d6e6b2ac515f3ea26e786647708256368f56b59634afb4b18fec385529370c06ea61633e6af9d0d4e8eac33997714d1e821f20c304fd6d183befb4bb8f2024d0214953e5556b46ecbec5f18d4b30925eb4a88d612e5640797f05c9a6cd9950f561e24464236a02274bbe91b5709a57ba94439e1b8635b48c83540cfc52fbdfb708df2b75ac571e8ae247779445dfd86d4264e0fe8c0602de17b53c7404841b7765a0c105684c3aa7503b094c31ca75277dac14b025e729ab9374cd9ed6b33b4615c2ba25c84fb18122f339b5e50fc34bf7644b3453623de4cf4361b6f85fd2c4ead19cc8dbcae6b4d0769ee180249828bf8fa26012e4a7bc9f529f5d58601f4866d711eebfa3bd48ebf357e9ca8a9a4eb57457784798042cb18a3ecc8d74d835d18957dca41672fdb721848b37b4e8f6ccd53b9e9fe3b8c513d9b0ceb66cd8ab2c9955ac4e3015164624aae11fc75a6a4da7d6f27b7c896e5f84bbc32b5627a670f220f636135e783687c04cb13d130aeb6d3bdb9685b86a4f894bd370e6456484753455474a32b5bed4c742a8830036aba0bbc8201e77be86d46ca662723a051af572471b9ef18294bf9cc0156d240708c94d339c4e844216775a52475a76f237bfdeafbec684053542a548223dc20d9d7dadb5a97cb679e4809887afd578b168b1fb5dad9b74a9791d5d15b5532fbe652468d0d1e911af07f5503c36c34d335b4e24cca373d080cdc6b5b352bf206feaa7d9fb3c0f7fdfb9f8a8e5bd1bd81d40187c730c225746936caba6ab038ca53504eb4cc686cc457d39aa1fece86c5a611c0d0d43f3143aec4dc9baafeba579b6fe24ca6d2c4f1e99c4dc106fd55b23dc015bcf08c95b61860ba5ea4379fa2cf190c2e9f4e80d5b251255cb131c056926fec16eacafcb2a3546b0c18d58d6bf2c4f85589cb30250ae84442f4066f48231d778352b2b7956e72a5c5c1f0393d18b2f4df3dcd863cb97aefd3c83c39ab83afa023e56119cab51d8dfb5cd1caf539dfb721c91dd79b261cd8f7d7da06426cf13feac2297f17104ab234c3e40693edaf88731fecfa466dac896df43b4f4a61c0007e210faa2ab21bb174e2c5b180abfd8cf7588a833ac863098a08724f0a24b388e64ab2e2ae75cb858c8953c57fd7449593d4a0deb9bd45e745f8a09e241f15b939e6aef0d21e2096e97ab9fa6bbe60c3338e8d9b5e90d0211cea4099c3f40dca79eb4a4225907513748d8846f1b18a50a9b5900b423ab602cfed800f491cfc53554e96c3a7bf5a3b2b793a250120c92bdcfa70e039c88f54062fca73558b1c32783247d7734c35510409e29817b95a28da81bf4b415d60013f4befa22773962d5289b044a2c07e453155996f5246200e4d6dcb9069339c04d5846ccf7c85fd69ced9ce47ae82988f991887c0379d39823ce3c4191fbfe705a87ba525e30be60bf7ff3477f31973ebb073b3f423a2f2adb797a4247a1d5f9498dd455f30996f27d8bc8d997b74b741eb2b153e0d352c617e014747c78fed85e8c5c7afd5fc07ddfd6cf67bac7efb92e639613ae9d1cb8d34164c8a6a6c3278a704d0bd6dcc1bd51962b773706c9e4f0d8517391b5f8d4343a9c6cd179d65dea15b8715534ceeb1f7768fbbd47abd5e56a98369515375ecb0859f65388308e3f13e30b86895297a53193bc6ce55187d12624b794617d1523ecec6ac56999cc87499a08cd8ebfac69ecfcf4475922f13b5ed061c69df7555c3916a691432ce807fe5ab2d66dd3470c8e4c5413bfc969c601b84aa5c94a8eb555b3fcae1c473df8f26d89fa336f666563261cecca9224fe75d56673c9c676b443b8da9a858c69edd3e71fb929bc88ea42d59f84e69679190820fe19c30ebaeff024f0b107154939a9c7c5acacc80c7d68cc9e819cfef8ec2350a9d3af82bad3647a43d9f7f39c80ef3d2594da46d38d6bee8346e3cdd7ebb4da00dd828d763455231c3a18e885f6ac2793db5e703189fe5542b1dc31bf8e5e5b54afec00d9e963c3c0fe47e783bc8eec730697d37a8293eac748fc31e614a75effed933031efb46abfa57dec1e2f8e0642524a73fcf5bb2505e282f2cab7278eef81130d99666a84809be26d6f55847315e87c0765052ed4510a6e11cf8bc68e0397e1d893c0da754bf248db86e8ee2e6f9616fb1bd062e710009f985a11a78f507f86f1def636fc24818b695b2d8efd233df28fcb77c1f7ad6211aa86df58540fce0589b17e98008df3b350c1736f9eabaa511c60881d6db1fe7f9e3c9d0ead0c650a87115905f5a95d7fdce1b68dfbbda2d8f2b143b64649ab6156b272ab197014fbe9c7062f6abafd8186a9c109b8097123ee081807283bd5cd08bddeee3b3dfe133eb57b07f8f8e8b72d24713c460894462617e7c02192b89a54772a8ca131995fde8ff930f29be558da5a7c918f0ee4e58321329c53d9aeb069baaa69336fb93d96445345e5397b41ac3737f91a399de3386d374d499fb9124d4fcca820a0604cb0a96e00859af7a01d0c0a7aa6c69da7d3eb97dda97b600c64e66f4c51d5fc4a408c658f119b7bc4051ef13d647b4c5db245f79ac687c1492dd1ab742e4aa536847c43424870193ce1be143c6f945415f982649c1d210923cda22eca285a3652243b32baf5977572d0ca0dbee9be4fc1537ce68641dba5e4a5947e2fa5272d2de2ac4793f02e02cce8637636a5cadd11f4082f8a62fe3cbdfaf1ac2c0bfb25e40a4b1967a8743cc5715459f4e0148d0f063ecba012b73e8dacfb56c2937e553da42f24cbafedc97708aef33a5cee7536486afd09f67e58a371654c2026ba1da3f49bf40c3d319bb612d57c93d4d907c51de320027d5a0119fe5307ccbd8bc373a7eeeab9d56c70726e624c4926ed131dc03e9dfa6b863446dc645c23d38264952f9d9cd962dc4e3b2fe92b355688eab5b3ee8f4023f21b777377c3087a9cf6695d3dcb75dba90243fee0c73da1ca16fb4ee176574886e218586021a1366a8995e3aa35de238d15742b6618518e860c6b9b1f605606bf4e71a031c7afc2ccc16ff594969749ba9d59a8d71d588511c09fbd100bd479f1c04a1d6f18083ca8db94eb8c8a48669679f4edee8eb48a95fe7e3bcd14e6e0893cc3ef4a02dd4c9fcdc48d3260f8881af8a3b7e8d22718ca47b3cb792ee62770052f8e6900bb7d544b8586f274d949e280e881ba1fa55f271ad39f0b1a562b1fd78e641813ef7df6879ea71b461facc305c3060b301b8a9e29eb88241a120e72eba54c57e766fb563a554f727f36b86a907e55f9f68176022d8d004e1f16674853ddad0a06cb6298731dcd788c1f1d4d0822c578423f46655691c17d735af65f3a2bb8d323ba62988f7aea613d2d18186d8c87eb02c8c10fdf1b1b2f01d448ae32bbc68ddcfa3c1d060f49bbc04112ca0f73717f217ce172c947ba16bc016bd1ebd1c5d77cf2ca7e49c377079dbe138d59fe4b03bc08a53ed14c5d066837aa6b7d0f27cce70aeacd5075a6c14511a0414a1dbcf5967911108eefa728e8931d3c79b7431b48fb6c612c7379bb7d0edd6daea09bd37c5c66077a675eace6d4173db7369ae71f5ecca0dbbbc90660afd8ee27368d2616d97ca0fa740309d850e199510473d136a0e6c216fa3b2fe427044244145d328a8c7130da9beaa1d32be0c50898c5edcb09ffe1d8b077a32b02ce1113d9ed35a63fe6e5c08f85c5dce0fc01888c544a1924efdaa7e65698912e302aa59a4749d40048f943d94baed60f7d20452bd2d67e7a55ac765933ca7b48aae40248a69504cc8fdc2f8028d49f26a14eb1356e53e463e465f5e655e32cf1fb00c9c21c4e75b4e2740d1e2ee0ee3378327394c6b77fae028bd03684378580bc0b60031f04e0457b0fc545f4f6199c2986c1d8b84ddb1df133e86075d65aa68eacd57f48c9daf5896c746bcf45fad721d144fb5621cf07b625190c26ecfdb17560522cf0ef2743aabc9eab900f30cdc6b6099919db5342507b2cc9850cfdf272f0b1c74c103bcd30d3bb82ef2abe0e345d73bba1818e7f34c35be3f39fabff193764e2e3f691d42b1d6820778f060cb125894e8d5074e82ff5a7f90b67634bbd17eea73c52e8707268064e211b6409dc30aed8f5b1dc9f3c51a036b20dd47904dec5bc13528367819421d146356e75b98bf06e1c33e75a0b6d7bd9920f434836d721e12aa9c357d22a97f50c4141c14e2a7a46c8365eb71aefc10fae88b22cb1872872bd6f79a6eb1d613e7f4f93f148ade2ffd48229c17bd7a436393b05adcf676a9462e297a535678cbd73f1fb517b1bce509286293ac57db60d4a7e67b465404fe2771c7e51e382a569b0b27a444510dc979bcdab4f3803fe382fbeda3f897a99d5ab8a87e40980dd404a2444ddb564a3b03dd4dded9b760c384025ebd08c84dbac242ab0f0bfaffde6970242925f21c5fe87de364da64c07132d7e70a113472e4403841b60a918e02cd857a5c2b836dbf5bffb3d515a6767df4b7eeaf296735109a80ea8e9077bf5269d9f56b97e703c9f7d880cf415acb4c943c8b6a726bdec07c8dff0b87c6636c123f488eb469f51dc8a77745ddbf452a671f3fe90f0ffa2832b9cae07476b3cce61ebfa76627fe2a874d6f0acd73429739f34267a299c1133ae7893018733359e3b7d9194e70189161c02d22a92814579988f8640fa5079421fdb7cc8e8bea8ea1aabcd713461744241cc95109bc8ff7a4a708fe6c8261f8783cfe1c157c3705f0460e7382425eb45f5f202761d2a6ac6024e38c1429521b8275fc34674ed6079358e914f21a5868cb895493967cc672516e327818b1132a4ee186705439d613d5f281be6da2103a81919b27516db3c4ba81dd9a13c26b1ded8c47dbdb272515e6b0e43882b7c98c1983ab107846f42ebfbba7a71f5798fe6fd1b9200842ed943c714f30bd99afd48a5284722cc7209882af6c1eefa2a65eba875d653c2b4b38fca71832f827e6f1e2009b6653aa10861de7d01238d6d69db804a47b392ebd8bf3212bdcfaadea0dffad1450861e855f8264c38100dd45613292a59fb522ceab9561e40c0d9839b2215b6ae182cf385f78b232730118b10333bc461544d9ee11313dfd00416ae21af3819e2a17f835662d45d4fb4baa3093d4f200bcf42519915a2148da40feec99bfc4bacd074b6b49216b0c5925fd67287ae4f53352f713e24a4fdd6afc3fccad4612e65944a645710b3afd47ee1d55c68bf8f29e47cddabf401f803a2b54234f54125bebd20aabc65e355fcdf9d23af4004d543c45c58273af89dd30e9200e42e2c7719cadac13e1aef09d2d827569d0421a467b122e52fe3a7cd5ad476b24ac07bd35fb3d1de72c9a08d2c1e578024763c3c68f2aee374aa1894718888a9460deb524b486f6d343d49013bbe76a82a6500bed1cb19e1fc3968c05435a94e45f5015e6d1c7587e8f28e1632710ae46e8660fbb68bd2191af52e06a4fc1a2a451e83ca63c004b9d1900022654e310c5f3d5e12f9a153e360761c97260df9cc53a3bb1c5d005e1da0562edf62ffec3b6a756391976778a50af5549735fa0abe9d29fc3cb6dddf5b88a230c8ce53933f8f38f2d511a986a14eefc40000748df4c03fb0d192553971a8a4fef4c003ca6f011a65711745de598bb7029e884ca4ac67b1bb8f9c41e4a1842ac5755bb7c3a815e5eb7b053a43b5a2e827e763a534669f257ed5c691163daa6b33541cda4fc519e4932ad37156d367bb5c2038f437a8f1d1597f9b90bce7fa12024433f0c0d8e58e59b65b7ba89954e6139906e93eede1c5e24b730071b795a4d9db8d9209d0d3d285e943538359b5a83e4b5109cb5cd5d7aa915c738a64a2d14088cf7ef25797ee235ceee0d1d274bd813703cc0abf5dadd7554bdf2433290405ef5bd2002cd9788c779317cbeef7c1b3bbcb0285827fa9760a8255ed0c31118fd52353015c6177574684b245b05a1e4ed9d07c11060daa3aa645769d96a7e2b2b9e586bafa5deca2a092abdd7664308b0a962dce750b057ee0c0319f3230bbe2ced7087f72d45d6031d1d82099ba45454df64d159cf8401d085d2a402c092db5e42166c7c5bac7ec9f52f6308e714071cf70fa91a937ee02bc977b44942c32bb1624ddfe2c8a4d7d6834768678e19844a96f632e1a281f0ed493f39f37ff081591c75e0711f1c611e20c766fb6ca3433e28ffc5e526f254966ec1e2339eca515d90a16c8fb09189171402e8230cea8c8057e36d6d27eba5c842b9c6b427f0007b18a4b28bc3a62e58b724765d716305c67111f56c9ba5f71d85877fa3328c1c5582d5ca2cb8eee69cc8a4625d53a6fcc1d1f07522a440137198ae7f043d3d63d431b781f6416f5d005668e3be952e3bba4a5d44eca51594f2038ae5a49c4891d1daf505c05b31966194b0864a280ecbd74901c96811ee587636e3800eb36560f1178eb4bc23044629b498eecfe22767ba5127898b878be84735398a2703813396819d418ac02872b44426327f63efce08af15f1e6534505d7a6c73ad8ab6701b19d6ce488214b96b7edde73e47ad053c739070fa1a666de959b128b088fb8361ea78ab3ac35538335b519e6bc35195629dd6c289e08676517ac48c9ac813f9e03c02e084e464fdf631a36db93ed4fb8168190bf1d1135a22a9866ae4b23cc819a7dc886977535636a3083844ed52fa764b055984acf87e031916d9aa60d0958961f83fe3b4b1b8f94849dff44896ce501a297e69d0104cb1120cee10f863ccf347b8a06c8662e942f08b17106d50a1a4a5aa4f6f9b66d16ad4c9f500763febd9ad9c81b2cd3d034bc149ca01c0bea47c79596a2dc0f93e46d12c2f092d082f431c1a13be0196ef1b0304ba00b30f3e9f17f9c2c338737a8df0ab09ae3906f51bd294f421658770f82e245e69641ab4e3546fb9e7b944b55ca75297260d0a31b4b0ee418ee4fe354be524433e795b5b9de22471bbcdc15cf930a272e68117f7bcaf2dc27e721a469686cc1146ea9e29502a2acd1826637057fbefdb3206abf04442ea8cfac7b2f807438f93ee84ab87d45171df295b4f5bd77dcb8dc5ee66b3dd3108d8f04a0e2d3e838d0bf9e4a882c6c8303d030e7e20e4b1360e1fc60c23ce20973f63e8886f0a509148c527ae42ebcbe2bb6a03659851569764a092cef82a51ba15b6c72259b656bacc5b5dbee225f7260b51de2ff8d85a1e8d44e65a2bcd06f59564c83d817347a546d4102074427fbc8abacb1f7805fe70504408fdc3cca579acf1060c48c6b8dfa5c9ba85e180ddc66153ddd519748cded0abef1d35443925ab4182f84eba0682bc3aa4037a866acf86c30374bdf7ff10fc4bd30603a6bba55ecb41d290b833cece1aaa8420b8eb3de7a1de7b3a38370c6c57221273874b67dd1cfd82ab0cc92676533c57de6fd8d3ad745f7add24bf04decd815f1922a80b2002bbfd1537153ee8b789f2f4eb9d446baf95dcbae36c9bc415d574dc81db6020a16f02a7cd89625e4c1fe9ed3a730235fca31fadc9c6c2b123ad2ec68ec4b2b88198fec116f70072bf2d22916d1f2004992e38a5649dc986a044bc6b3bbf494e4adc1ab39e6efba1965d416ce529a038be2c88c1d35c9d1ee24599a5af4eab0a900a2cc3dbec5d9d7d455876162c9485b7c677359c5b0f21878e65b6fba7ff90f9af4638fb025fed28e64487aec353d8ff22f907fd440faf7bf71e1cffc0fa83e2205f9d3969f573e41fc8452f4097e293050bf1e7a06015de2e6a79acf8e5b577d9093c051bc30094c4d3579cc8a4b709090cefb54a1326b835bd7de2e3556273c66f8a2f2e98d1bf083a479089c964160a88ff8b66666d7c2e0a2293c4a4b7855012465418e20d3e624f7d6518bc8770bf1552e4853eb3c6bed6c7504495c37eb455a54f1cfa54415a5a6011005ec6e0927ecce3c1665060807e9384655e8ccb310631a6a296d6dd89109c07ae92ffd9f9ffffcc0dee8144beaf2013ff790ea1bbb6614ba6bce14875138f6fe1016a2d070a36f00897b9676ce3d50586502ed44623a53c8be871b92cd860e6d3930bf4873823b173c1e452998435a8464712f8f3e26b55c4377ff068ca7e94df12b79a27fb37c1373839c4d90440d0365b4e737679154d78a4548ee14beda08c2874a6ec015ade3e3d7a4b94fe390036e715cc2449a8dd7d7fe528aeceec33c50c51c959c8adbae128e461f2d3925ff0ec58cae1d9ced1d0642b798a5abba05ee7bc5fa5e2ab885db267aebfead54e4a71465930d41f865b861a21edebf3362fc96ff644c4ed2c55c57042947ae1d7988c8c1d26e69f9fbe9cf6ccccb0053174f7f237244de425e37263ec6f4f100a75564c637a4eac43c9432ee3ca466a2546d7a0c21b756d150ae4ed2428fc398cd988a5a3f5820fc508f1b55909f9a360e4925a89585862e59b283f74225fbd8e5b4e956a168405e6254fe4171fdd42b4d5ad8d56b53106d4bfdcf1c442fb317b200e238ba8f738b5b86c299a271f951e058bf5d66334c8fec54c660f51dc1b8f38207c2f64d18ea6d328527a07c05b99e1a7f0893b2d2aadd257367cfb8cd0a5dece7ced4f4c8129c52ed688e9f5d07bb7eb3355e57d9486758db0deebfb3e571b349f2f2fc6d5dff63d0fb5ff65c8a5485fefd0456c7e2e8034ac579a17ab0b727f59b6619208deebf8f17af8818baed0824931e7dbcbd2ffe13b65bb47beb6ca7591997b62c166b62aea73eb619d3001fa9672c6717ff0c405294ba95283de252bca5ea3289c777f0ca90038ca32ace64c9c856b7cae4859dcb69ecba2ff4e02f37abc4de8ff4ca3f5a1c6dd8d6aedf4fb74cca79bf500227e944f011029f8284eff24ffb2af0078ba9d6fe2dd58fbbb6d5c6ddca5fe8b9da7d8ee1024a0638a21d9666df1a8606fd456bd6fa6f34f3e4d2a61f3dde3f4897932a1c3979df0763381be2367a90197d16fcaaf52d2ab9ea9954bc1208442932497f2e71d6176bfe5f8db0e84c4922da4cd7669d96c35c3a7b8fd04c7f1e96840d9cd834550f58870e43fda9b548be35c420b0363aad6ae7e4ce77f6360b82eeacb950ffc341ea693110f1df20101772fe08a4ed62654c8032202f9941677316f819da5c6665165c68f15b6c72435a204aae1457c565d6859d880da84efdc3461b3ce71ea82ea38ea2db403ed7d08443c58525717daeb9b171fecc3bdb0e8e6f3943965a5ae61519c0f2e837b32b3b2c728e280b2c8131bf2f5efd85bb44cf65557e716dc96e3d184b64d186b89d12b8c307c016ee6fce1d49f0a3617485a389719f2ba61aa7dad8a5a243a74db349634348aa2c9fe4423e304d16495a73609f0dce6f853491f27c230bb6f341bafcd787acfecd12d357a51c315bd6a2afcc4a3a2d6d160475d8d744657d9797cb54cace7a75bc74032f5eb4242f995427620e5cd195c4d17ad1ede7e3029f2e00c4a20738bf756dcce4a444527b4b1cb01002705c5f719cbe493aa1ac40a3f74c6ee0e45642b204ea87a783a84a974a14f043577c0ba3b11375057dbffc626ccade135406e6db5f54f5ad240201f327cacd43213a75bde673eeb8ff648d90e9d848c2c42439e227edd7f7ae5ad0429a5515e2b13ec35c782d071923a934e7e4cb9d131b625f74c19e100b7b8bfffbc49d676f56b465f610a886a772aa4400597fb45e48b47d621b3128657914c6e5c6feacb66216c23a48474083d5b38555b7934029c0927c607ab41ab0b8ed10fe6b558224298de1bc7f0c6623957a42ad7a61ef9969b74d95f29399b1dd8bac663c3e1f1ac79d49cb861e1a4476b8c56c48678f5e4ba3baf613a2f19e94dc056f01dcd0ac2464155588467bb5a0663d7500eb689ad8390279edbd85296fcc43d3aceaee15acd4832ec5172f9af0c8f3a250f7ff7c67f5e9c23cb8605aa47028feb5e65b451c1aa0eeb865f5e80a95acf8ae0d928c63812d44b11ce859296cef0b5de6cc582bde57d598487408d0f95b587ee66a0953662f185f1e3c53719e10d4d420f6bf00678113bb240b7e12a5f94622df92eeaad52ce4f5ff53db70621bcc06fd3e350f5cc14ebd1c7e208cd19d65bb049a31f07b91487826e7c3d3011c67de178a917d12827b82bdc527c34ba0c4f5c11dd5bf3697cface1559414cc13014ccf334eea62b9a2a8c46c2a7cb1d05086b28d272458f0ccd47724e796c861469d8276a32db33529a13ae0da7ed339d700636baa9bba0df569fd0068abafb872a0170f1e8b245e60b62179992a08328da57672a4b2dfb89f564f83bf7bf284e7871404a44fcd84aff75e1664cdaa87c0ad14e3dd3da2572fa5a8b7f3238d796980f316290cbd2103e0537f7f2a399ab23c64e3ade3d1b1f45424be274ebc5fe250a4b981b18844ebbdd6bcf63825c474d3da5c092537f5fe53c283928ce0ac51d715a2dc1f171f213211f9c0d98ee6f2448bba1ca774f27cead61857006011f9a4ba98d2c636cbeb514d7bcc5408f6709bba83f0c8e037e3c7e95f5314eb8a6f2ac910e23cbc0160d008a4f72216a0fbc4ac42fcc01e57d9db9fde80d2b8329bed239708ed69f965c5e2b8e9c2d802ccb12ca628a9b184140f7985a07e12d7459e40b9f90fc82e973fc0a554b500f98d52c9ff2ef87d0f0aa9a23f5ef6759df3863956f8a7061f061e1340f38e7d91a33d634a0fda36ac9d04c7edfbd65077ce0bc2948103787f5ef9200eebee9c2b201f958dec19d7eef6034b99baaed2fdbfad563cdf36d45876445764c960c01c9d5897b7d019389cf93287020f8b2a1da4c2dbb3ba9d26eeb6fa463eac305a9a5aa003944b9fa89069dd13584c9ec8e03ed5b733f2a4932ecba9a7d28502dd8eba23c45217fc878f1d7c0bda9c34863c074f710af71d88c8f3bb69ec897bb3d1d710b9c97346846616f463cd9adf169871addda96679200bdbb528cbb78bfe564c3c1b00c9f9c5726d4b8f53b99d036ce110e4182326aece4e3219868101ceba6c06fdba6930682b68e9a020006c0342253f39e331a5bd0e33197d95342a1209fc79d07a503aa09b581d925008a7437a59c818046ff044e0bcd6e61e9c73d80fca40cb71f92d10b541df95f90b86ab6a9161f268d2cd87214880b3fb7b7844f3d44200eebd9ba273b00b61442b3122dffb0d6dd66013c90c72712a86ebdb696bd43952e2fc7f8cb9f7fb26d6339b3f56bbc6581b6dc83a4651a488b66a76fabcd6ace30ff711a37f2ed9406f42c7404c26ad568bd4f57682eec71cbd72bad654104ae0f1a7814e77bba98e6a8479974ec140b20548e4fdd007a89f5cba3d900340052a6fc461682f235c25b9c6efb330759a7a834004d2199b0259e147fad89d9a8b24257355d43e1784a2c708e7285c30ddc6a39cc6c4d8ed7cc53293a2175635171d78864139d099772d818de0a0ebc2e5235abd324a745c4925a06b87a44237e28fb267f6234b1ecb3aa1fbdc99bb4081799f493ac94755ba2be91abc36091b75c8c96de1ebbab8100bc3e31a03667ec1dacd038cd5882ea721bdc643fc00c7f4a0ac33647cc3ba1a07e4d934ec8f2ee6285bf226b6c51fc8d8f6267a861787cedd83afa12ab447b9e8b17c920e2bc7c54fe7c71526ec269d02ce7730ed41b5a139b962e0083f1e0ef58f2ed95b534976f23852d42dd03b61be1c7f874dd30512508f3385a31f0073f16365cf535d8c3137fa23e84876147a6b704b5cfa48647dafdd4ee153c5922066bfb36704fef7210b7f58851539adcaeb93e8e5fbf323eddaf7b15e3915673990fe4221c8e1f24c7648d7b3c071fe51b996eb6dbe936a11b8d453923de28390133e3e426f2efc1782665023a85028bed2fe7ddfb7aa56a49eddeab2f329a20b6b74ef7bc0fceaed4dc39695004ff1a788602f0fabb49a88147bc9f4d7fc99673397cc5f07e3355795ad4adf2de199593d39dfab416e17233b6399144c273bb26a721a60b6ddaf4660e55eec27e69a770954097115260284613c9ebd6f74382cc93958545cd4cefdbeed9986651bd41a2ce844bd8d58609be46af8ef1b94df789df16b3c311363b08ff31557caa13e6e04a0c6e96d53043c3f4506169be191a199e5c3f044a58e20ad730d6fb581e8153d4d7c240386f2b919b67fa9f01d0d9c71558979ad3dafea3001d28328c56385e9a8af472714fcfb817019ff5b1ca08869e933f23345088a5946fcd4bc373fe816b8fcbfc92ec7e012086fb79f190f61b5ced37bbbcb3b960c3738342b34998889c55baf45ac6f880d82440a08dde893c0255e42b542a430d58f24070af8160e6e217c4bfd4c71f2781c688cd790cbd8d3f77b07d08a8a6e83adba4b4371cedf36af05d367d8103ac666a9c6bde0d4c83b664269b00ad136b41b9f5ad921cd65d68050a35f5d4f3036fff2625e812e57689feac22fad091b3c9fa74687fcf3bc4bed53d5197fe9b4eae0f95ad0d5b3cbe4feec756753f2cafa01dd902162f495b7ce55a45e2f6a460f7c54cc9bd681823dddf68025ad06904a41af864a75bb566d38922b0eceec17e74ea38fc65330547455f5ba60fa8e04d63c042246860768c7676551c6f406bfa3b143b2c6c30c5b1761fb844cbe617c8bc5847274caab8aac8e6c42aaedcb32a0b2250c05393456669a41efacfbe4261d766239cc505cdec87302b2531cb84c02a1b3c8e6474db16e402bf8681935692a8fb11073c9abf5b247c0b43c6cc4254542454cc3d190b442c357815c246dd9e3e3a7d24544a4c1cdc2dabbaae5ec8a7e9ff2155849a41d79d9e716e4c9b66566e00e54c04ec1278723805af19f0edf8d2aa9090ce36d28d3fa368640e01be9aeee17d42ccc5bb27ce9bc9a35392c58570caf6ea4f71c415c24ff2b1d25be84f7363cc8d3e888ed9db3d1d50a0a5a4db0f658d1cc8db3b5451f88aaeb56f594429148cce12d0b02c985e74f04c95c8c7c9fdbb87f9a6056e3baee117e94d960e7cd09f0e9655315c5fe5340bce322087ad927218521e81e5344121e2bc5bfcaafb0a0ad4e318051e2e4915edf560e82d5d7e48abd89b9bafd7f423ef92647f27c408d99485a18cfe3c9a2f93408ad0fde6f53f791181b83e4a245f805860f529c4f0a2f9e4ad01fa40c6e4b60e0cdb3d547b3acd655f9e20d40a337c52df974d2f156450cf9d9116e9d4b7ca9e63cd48bf10a567b5de31cf02754b77ca22a4ce370fc4ed0b0b584f503d55714e536284b19a528b41fb41654ddf6ca7fa6ee51fab2e4263030b8f88a56f005d5bb75f16bc33279da050fde755297b5a353c2c3b18ad9ccd1a357e1fbbf37afd67e4c963dc18b0869d946f3fdfbd299a3eeb7051d4fc5b06b250b6c32e7b2e44145dacc134a57e30a30785f33ee6beb7762479ac0b22c2ad3e8c9710ed7cd9de157733aa733f369f6ba45979a244526728d4dbfcc11b8c1dce57ccf946ed8a93e013d90c9a4aa2f03cf2fe7ec3b26a5c86835c2ad85d68704607a428aec22651c1d9e346ccf6d3f132d415736ad8be4872836236c0799ba6dd264057a1c2120023fb0ecc1651557cc318c19d5fbb6e7a637bc94ce8d92ea2d70015b63fbd6636ceda167cbfa91b981fc809e16cf335f3e625f57ff583e600882cc65b0fa8e30235585731c063a7047c233d0c668f680c6e87a768aa0bd2ff51c687c0b1fba0658ce41380ecb4180cd113915122b421df64790055a8a9b08db14c02ca5ee3863d111e80c00219e9db9e3ce0877b39730a70d6f48193f0be754619725237ed3d03e268261024cedbcbf2c31bd6d9338173d5fa9e154d6cd2f545565a000b505d2586241d11f9923adec6adf45836ee4a13474d3c679e3bc262705cac88b3d2ecbd41d02226f5cf0f923fe477bf4a36e0087040053ced45d9a9841209fe67334887280ef1937f377c9c84f18691174c902afb611dfd26dc9e63e19d0f1d34c10fd0598b1a04f1fa25325d2b5f9c1c16616d7b739f6e98faf341771e49a5d9bc82049720e2daea0d497aa6bb9396d33024523ffe436bd56d47db40d7b0798932041c4be25c1ece7b4cc533c013a881aeb8351ef0d0734fcebf0fba19ecdff186b0677bdfe8e7d402dd8710b383d145f2e4608a9c1ead96f13ed70be697dc1da479c3cf4faacf1a6f9626b5cf68fd901fc4a8e7e6fc082b61624da363d3e72a9be3c7ec470e74011f4913b6c1e960e6d1f5e3c9b10b8a8aae9f711196af452b833bda3147c804d887a520209699cd9742f42f07cb97d6a650bf7722fae4ea45e4eb82044b5e48f35a556ed5a3125e42c47a45c000ca053bcd199c9ca648c4e91356e32f6fff68e5e3b9fafc57b31499c8e32da581ad042ca7a14055194d6c19524e893c48b5245263133651c682a21462b8f7524b6c61a600758f8d8ac8f4df6e3d740ecffadbd4c59b1b74099bacd1d5d5e7d103b3dfa69c993f57a1873396e0dae9d7b55f7aad54fff913f2a7c04540a330ff7733ad7304566d1e3533a8cb8318e180cd1d56deafa567470c2d7a989cd3b4b4b0a9bf68634e78d893fd79a1599ef557452dee38851f8eaaae41198d599402560da3689e977efba75ffc0f61a1942afe96b1092fdf8a5d1a2b916a6af78471c7b918aef45b8da94d7392715a5e96b96b3ad58c31c600b322c9a2a85631b9bb73c9ea3efed588be7cdeb06e2e0625f6f0268e22564886a4d1ad5232ea946ab11446c1ed2dab73521c3fefceab74ac104cc0ec99dd639326136b229d2ebb5918b6f086d3dbc932c3b84373fa34803d0f5a345363fcdf4995e2f5a4a8ccaaaec9a5dedcd70a6a4d8ec1ed8145f294d37df51aebbf695caab4f541ae4580756d31b1b001775288081fc8b5077e9a0968b2c77f8c1df1f59eb27a88d1b5af10fecf1a75ba96c3a64af226193378a65c89c25d590a963444e184b2b4b3b2427f07c71866067661b1c9e81df5529f0d3619860933d6dc718bc5f0c38a6a5a47f251fb8405fc158cbe50f08d1a4e151a351df2b7442cf786dcf25db137fd8d700f307704f5b077389ea8f0066fca5175b5b22e1f96a23efee5430c8ac701eeb32be75e62e3e7fcf76b62a22fcb7a32992a9d95566c959a57d725e7e987d58614bec1b770e308a1b6b7e2698d04f4d7df48cce7d81e012e6b56f313f7347d382aad2ec4b86a2bb1833e6fa42bbb72352893245da0b7144803c73b85945528608973af7463c8dd64f4a0af86eec22cfa691e1b136457a74f36a7c2e58d656baea5cecdf8bbcbcf4368ce73de22fda7168ac21945a87647f398f588b539a3e87f32d6974e67d3ebe37d9187cbb45eb1d61e52800a74db103f82de64631bee71df56440e30c27rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootwhy3-0.86.1-1.fc22.src.rpmwhy3-examples    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)why33.0.4-14.6.0-14.0-15.2-10.86.1-1.fc224.12.0.1UUa@UW1@U) U hTs@T~T[bTR(@T=@T@TwT@S%@SSSuSSہ@S @SP@Sr @SU@SM@S0@S(5@S"@S @RRIgR8D@QB@Q@@QQ@Q#@PPP6@PkP @O@N2Jerry James - 0.86.1-1Richard W.M. Jones - 0.86-2Jerry James - 0.86-1Jerry James - 0.85-9Jerry James - 0.85-8Jerry James - 0.85-7Richard W.M. Jones - 0.85-6Jerry James - 0.85-5Jerry James - 0.85-4Jerry James - 0.85-3Jerry James - 0.85-2Jerry James - 0.85-1Jerry James - 0.84-1Jerry James - 0.83-14Richard W.M. Jones - 0.83-13Fedora Release Engineering - 0.83-12Jerry James - 0.83-11Richard W.M. Jones - 0.83-10Richard W.M. Jones - 0.83-9Jerry James - 0.83-8Fedora Release Engineering - 0.83-7Jerry James - 0.83-6Jerry James - 0.83-5Richard W.M. Jones - 0.83-4Jerry James - 0.83-3Jerry James - 0.83-2Jerry James - 0.83-1Jerry James - 0.82-2Jerry James - 0.82-1Jerry James - 0.81-6Jerry James - 0.81-5Fedora Release Engineering - 0.81-4Jerry James - 0.81-3Jerry James - 0.81-2Jerry James - 0.81-1Fedora Release Engineering - 0.73-5Jerry James - 0.73-4Richard W.M. Jones - 0.73-3Jerry James - 0.73-2Jerry James - 0.73-1Fedora Release Engineering - 0.71-3Jerry James - 0.71-2Jerry James - 0.71-1- New upstream release- ocaml-4.02.2 rebuild.- New upstream release- Rebuild for coq 8.4pl6- Rebuild for ocaml-ocamlgraph 1.8.6- Note bundled jquery - Fix sed expression separators for new RPM_OPT_FLAGS and RPM_LD_FLAGS- ocaml-4.02.1 rebuild.- Rebuild for ocaml-camlp5 6.12- Rebuild for coq 8.4pl5- Rebuild for ocaml-zarith 1.3- Bump and rebuild- New upstream release - New source URL- New upstream release - Fix license handling- Rebuild for new gappalib-coq build- ocaml-4.02.0+rc1 rebuild.- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild- Rebuild for new gappalib-coq build- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild.- OCaml 4.02.0 beta rebuild.- Linking with -z relro -z now breaks plugins; omit "-z now"- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild- Rebuild for coq 8.4pl4- Rebuild for flocq 2.3.0 and ocamlgraph 1.8.5 - Drop unnecessary sqlite-devel BR- Remove ocaml_arches macro (RHBZ#1087794).- Apply upstream fix for building with ocaml-zarith - Fix file encodings - Fix permission bits- Back out the post-release fix to the Coq printer, which breaks Frama-C- New upstream release - Use cvc4 instead of cvc3- Rebuild for ocamlgraph 1.8.4 - BR ocaml-findlib instead of ocaml-findlib-devel- New upstream release - Drop upstreamed patches - Add -examples subpackage - Install LaTeX style - Turn off frama-c support at upstream's request- Apply upstream fix for change in the alt-ergo timelimit option- Rebuild for OCaml 4.01.0 - Enable debuginfo for the ocaml sources- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild- Rebuild for frama-c Fluorine 20130601- Rebuild for frama-c Fluorine 20130501- New upstream release - Disable PVS support for now; it requires the NASA libraries - Fix the conflict between the why and why3 Emacs packages (bz 913522) - Disable parallel builds due to intermittent build failures- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild- Rebuild for coq 8.4pl1- Rebuild for OCaml 4.00.1.- Rebuild for coq 8.4- New upstream release- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild- Add missing sqlite-devel BR - Do not move the coq plugin - Generate debuginfo for the sole C program - Add man pages- Initial RPM  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.86.1-1.fc22        !!!""##"""$$""%%%"""&&"""'''""((""""))))"""**"""++""""",,"--..//..00..11..22..33..44..55..66..77..8888899::;;<<==>>>????@@@AAAAABBCCDEEFFFEEGGEEHHEEIIEEEJJKKLLLLLLLLMMNNNNNNNNNOOOPPQQRRSSTTTTUUVVVWWXXYYZZZZZZZ[[\\[[]][[^^^__```aaaaaabbbbbbbbccdddddeefffffgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgiijjjiikkkkkkiilllllllllllllllllllllllllllliimmmmmmmmmmmmmmmmmmmmmmmmmmmmmiinnnnnnnnnniioooiippppppppppppppiiqqqqqqqqqqqqqqqggrrggsssssssssssggtttttttttttttttttttttttuuvvvvwwxxxxyyzz{{{{{{{{{|||||||}}~~why3-examplesexamplesadd_listadd_list.mlwwhy3session.xmlwhy3shapes.gzalgo63algo63.mlwwhy3session.xmlwhy3shapes.gzalgo64algo64.mlwwhy3session.xmlwhy3shapes.gzalgo65algo65.mlwwhy3session.xmlwhy3shapes.gzall_distinctall_distinct.mlwwhy3session.xmlwhy3shapes.gzarmarm.mlwwhy3session.xmlwhy3shapes.gzassigning_meanings_to_programsassigning_meanings_to_programs.mlwwhy3session.xmlwhy3shapes.gzavlassociation_listassociation_list.mlwwhy3session.xmlwhy3shapes.gzavlavl.mlwwhy3session.xmlwhy3shapes.gzkey_typekey_type.mlwwhy3session.xmlwhy3shapes.gzmonoidmonoid.mlwwhy3session.xmlwhy3shapes.gzpreorderpreorder.mlwwhy3session.xmlwhy3shapes.gzpriority_queuepriority_queue.mlwwhy3session.xmlwhy3shapes.gzralral.mlwwhy3session.xmlwhy3shapes.gzsortedsorted.mlwwhy3session.xmlwhy3shapes.gztablestables.mlwwhy3session.xmlwhy3shapes.gzbagbag.mlwwhy3session.xmlwhy3shapes.gzbalancebalance.mlwwhy3session.xmlwhy3shapes.gzbellman_fordbellman_ford.mlwbellman_ford_Graph_long_path_decomposition_1.vbellman_ford_Graph_long_path_decomposition_pigeon1_1.vbellman_ford_Graph_long_path_decomposition_pigeon3_1.vbf_Graph_key_lemma_1_1.vbf_Graph_path_in_vertices_2.vbf_Graph_simple_path_1.vbf_WP_BellmanFord_WP_parameter_bellman_ford_15.vbf_WP_BellmanFord_WP_parameter_bellman_ford_17.vbf_WP_BellmanFord_WP_parameter_bellman_ford_18.vbf_WP_BellmanFord_WP_parameter_bellman_ford_19.vbf_WP_BellmanFord_WP_parameter_bellman_ford_20.vbf_WP_BellmanFord_WP_parameter_relax_7.vbf_WP_BellmanFord_key_lemma_2_1.vwhy3session.xmlwhy3shapes.gzbench.shbinary_searchbinary_search.mlwwhy3session.xmlwhy3shapes.gzbinary_sqrtbinary_sqrt.mlwwhy3session.xmlwhy3shapes.gzbitvector_examplesbitvector_examples.mlwwhy3session.xmlwhy3shapes.gzbitvectorsbitvectorbitvector.whybitvector_BitVector_nth_from_int2c_plus_pow2_1.vbitvector_BitVector_to_nat_of_one_1.vbitvector_BitVector_to_nat_of_zero2_1.vbitvector_BitVector_to_nat_of_zero_1.vbitvector_BitVector_to_nat_sub_footprint_1.vwhy3session.xmlwhy3shapes.gzdoubledouble.whydouble_TestDouble_exp_one_1.vwhy3session.xmlwhy3shapes.gzdouble_of_intdouble_of_int.whydouble_of_int_DoubleOfInt_exp_const_1.vdouble_of_int_DoubleOfInt_from_int2c_to_nat_sub_neg_1.vdouble_of_int_DoubleOfInt_from_int2c_to_nat_sub_pos_1.vdouble_of_int_DoubleOfInt_lemma1_neg_1.vdouble_of_int_DoubleOfInt_lemma1_pos_1.vdouble_of_int_DoubleOfInt_lemma2_1.vdouble_of_int_DoubleOfInt_lemma3_1.vdouble_of_int_DoubleOfInt_to_nat_bv32_bv64_aux_1.vdouble_of_int_DoubleOfInt_var_value0_1.vwhy3session.xmlwhy3shapes.gzneg_as_xorneg_as_xor.whyneg_as_xor_TestNegAsXOR_MainResult_1.vwhy3session.xmlwhy3shapes.gzpower2power2.whypower2_Pow2int_Mod_pow2_gen_1.vpower2_Pow2int_Power_sum_1.vpower2_Pow2int_pow2pos_1.vpower2_Pow2real_Pow2_int_real_1.vpower2_Pow2real_Power_neg_aux_1.vpower2_Pow2real_Power_non_null_1.vpower2_Pow2real_Power_non_null_aux_1.vpower2_Pow2real_Power_sum_1.vpower2_Pow2real_Power_sum_aux_1.vwhy3session.xmlwhy3shapes.gzbraun_treesbraun_trees.mlwwhy3session.xmlwhy3shapes.gzbresenhambresenham.mlwbresenham_M_closest_1.vwhy3session.xmlwhy3shapes.gzbts1124411244.whywhy3session.xmlwhy3shapes.gz12445.mlw1247512475.whywhy3session.xmlwhy3shapes.gz1293412934.why12934_BTS12934_t_1.vwhy3session.xmlwhy3shapes.gz13002.why1337513375.mlwwhy3session.xmlwhy3shapes.gz13515.mlw1384913849.why13849_T_x_2.vwhy3session.xmlwhy3shapes.gz1385313853.mlwwhy3session.xmlwhy3shapes.gz13853a.mlw13853b.mlw1385413854.why13854_T_g_1.v13854_T_x_1.vwhy3session.xmlwhy3shapes.gz14097.mlw1697216972.mlwwhy3session.xmlwhy3shapes.gz17137.mlw1718117181.mlwwhy3session.xmlwhy3shapes.gz17184.mlwbts12244.mlexecute.mlwfsetintfsetint.whywhy3session.xmlwhy3shapes.gzsimplify.mlwbubble_sortbubble_sort.mlwwhy3session.xmlwhy3shapes.gzcheck-builtinacac.whywhy3session.xmlwhy3shapes.gzarrayarray.whywhy3session.xmlwhy3shapes.gzboolbool.whywhy3session.xmlwhy3shapes.gzeuclideandivisioneuclideandivision.whywhy3session.xmlwhy3shapes.gzfloatsfloats.whywhy3session.xmlwhy3shapes.gzintint.whywhy3session.xmlwhy3shapes.gzintrealintreal.whywhy3session.xmlwhy3shapes.gzminmaxminmax.whywhy3session.xmlwhy3shapes.gzpropositionalpropositional.whywhy3session.xmlwhy3shapes.gzrealreal.whyreal_TrigonometryTest_Atan_1_1.vreal_TrigonometryTest_Tan_pi_3_1.vreal_TrigonometryTest_Tan_pi_4_1.vwhy3session.xmlwhy3shapes.gzchecking_a_large_routinechecking_a_large_routine.mlwwhy3session.xmlwhy3shapes.gzcoincidence_countcoincidence_count.mlwwhy3session.xmlwhy3shapes.gzconjugateconjugate.mlwwhy3session.xmlwhy3shapes.gzcounting_sortcounting_sort.mlwwhy3session.xmlwhy3shapes.gzcursorcursor.mlwwhy3session.xmlwhy3shapes.gzdecrease1decrease1.mlwdecrease1_Decrease1_decrease1_induction_2.vwhy3session.xmlwhy3shapes.gzdefunctionalizationdefunctionalization.mlwMakefilemain.mlwhy3session.xmlwhy3shapes.gzdfa_exampledfa_example.mlwdfa_example_DfaExample_nil_notin_r1_1.vwhy3session.xmlwhy3shapes.gzdijkstradijkstra.mlwdijkstra_DijkstraShortestPath_Path_shortest_path_1.vdijkstra_DijkstraShortestPath_WP_parameter_shortest_path_code_2.vdijkstra_DijkstraShortestPath_WP_parameter_shortest_path_code_3.vwhy3session.xmlwhy3shapes.gzdirichletdirichlet.mlwwhy3session.xmlwhy3shapes.gzdivisiondivision.mlwwhy3session.xmlwhy3shapes.gzdoc_examplesdigit_sum.texdouble_wpcompilercompiler.mlwcompiler_Compile_com_WP_parameter_compile_com_1.vwhy3session.xmlwhy3shapes.gzimpimp.whywhy3session.xmlwhy3shapes.gzlogiclogic.mlwwhy3session.xmlwhy3shapes.gzspecsspecs.mlwwhy3session.xmlwhy3shapes.gzstate.whyvmvm.mlwwhy3session.xmlwhy3shapes.gzdyckdyck.mlwwhy3session.xmlwhy3shapes.gzedit_distanceedit_distance.mlwedit_distance_WP_EditDistance_WP_parameter_distance_1.vedit_distance_WP_EditDistance_WP_parameter_distance_2.vedit_distance_WP_EditDistance_suffix_length_1.vedit_distance_Word_first_last_1.vedit_distance_Word_key_lemma_right_1.vedit_distance_Word_min_dist_diff_1.vwhy3session.xmlwhy3shapes.gzeratostheneeratosthene.mlwwhy3session.xmlwhy3shapes.gzeuler001euler001.mlwMakefileeuler001_DivModHints_mod_div_unique_1.veuler001_DivModHints_mod_succ_1_1.veuler001_DivModHints_mod_succ_2_1.veuler001_SumMultiple_Closed_Formula_1.veuler001_TriangularNumbers_tr_mod_2_1.vmain.mlwhy3session.xmlwhy3shapes.gzeuler002euler002.mlweuler002_FibOnlyEven_fib_even_1.vwhy3session.xmlwhy3shapes.gzewd673ewd673.mlwwhy3session.xmlwhy3shapes.gzf_puzzlef_puzzle.whywhy3session.xmlwhy3shapes.gzfactfact.mlwwhy3session.xmlwhy3shapes.gzfib_memofib_memo.mlwwhy3session.xmlwhy3shapes.gzfibonaccifibonacci.mlwfibonacci_WP_FibonacciLogarithmic_WP_parameter_logfib_1.vfibonacci_WP_FibonacciLogarithmic_fib_m_1.vwhy3session.xmlwhy3shapes.gzfillfill.mlwwhy3session.xmlwhy3shapes.gzfindfind.mlwfind_WP_FIND_WP_parameter_find_4.vwhy3session.xmlwhy3shapes.gzfinger_treesfinger_trees.mlwwhy3session.xmlwhy3shapes.gzfinite_tarskifinite_tarski.mlwwhy3session.xmlwhy3shapes.gzflagflag.mlwwhy3session.xmlwhy3shapes.gzflag2flag2.mlwflag2_Flag_nb_occ_ext_1.vflag2_WP_Flag_nb_occ_split_1.vflag2_WP_Flag_nb_occ_store_eq_neq_1.vflag2_WP_Flag_nb_occ_store_outside_down_1.vflag2_WP_Flag_nb_occ_store_outside_up_1.vwhy3session.xmlwhy3shapes.gzfoveoos11-cmarray_maxarray_max.mlwwhy3session.xmlwhy3shapes.gzdupletsduplets.mlwwhy3session.xmlwhy3shapes.gztree_maxtree_max.mlwtree_max_BinTree_ge_trans_1.vwhy3session.xmlwhy3shapes.gzfoveoos11_challenge1foveoos11_challenge1.mlwwhy3session.xmlwhy3shapes.gzfoveoos11_challenge2foveoos11_challenge2.mlwfoveoos11_challenge2_WP_MaximumTree_size_nonneg_1.vwhy3session.xmlwhy3shapes.gzfoveoos11_challenge3foveoos11_challenge3.mlwfoveoos11_challenge3_WP_TwoEqualElements_WP_parameter_two_equal_elements_1.vfoveoos11_challenge3_WP_TwoEqualElements_WP_parameter_two_equal_elements_2.vfoveoos11_challenge3_WP_TwoEqualElements_WP_parameter_two_equal_elements_3.vfoveoos11_challenge3_WP_TwoEqualElements_WP_parameter_two_equal_elements_4.vwhy3session.xmlwhy3shapes.gzgcdgcd.mlwMakefilegcd_BinaryGcd_gcd_even_odd_2.vgcd_WP_EuclideanAlgorithm_WP_parameter_gcd_1.vindex.htmljsmain.mlmain.mlwhy3session.xmlwhy3shapes.gzgcd_bezoutgcd_bezout.mlwwhy3session.xmlwhy3shapes.gzgenerate_all_treesgenerate_all_trees.mlwgenerate_all_trees_WP_GenerateAllTrees_WP_parameter_combine_2.vgenerate_all_trees_WP_GenerateAllTrees_all_trees_0_1.vgenerate_all_trees_WP_GenerateAllTrees_size_nonneg_1.vwhy3session.xmlwhy3shapes.gzhackers-delighthackers-delight.mlwwhy3session.xmlwhy3shapes.gzhashtbl_implhashtbl_impl.mlwhashtbl_impl_HashtblImpl_WP_parameter_add_1.vhashtbl_impl_HashtblImpl_WP_parameter_find_1.vhashtbl_impl_HashtblImpl_WP_parameter_remove_2.vwhy3session.xmlwhy3shapes.gzhoare_logicblocking_semantics5blocking_semantics5.mlwblocking_semantics5_FreshVariables_eval_change_free_1.vblocking_semantics5_FreshVariables_eval_change_free_2.vblocking_semantics5_FreshVariables_eval_change_free_3.vblocking_semantics5_FreshVariables_eval_change_free_4.vblocking_semantics5_FreshVariables_eval_msubst_1.vblocking_semantics5_FreshVariables_eval_msubst_2.vblocking_semantics5_FreshVariables_eval_swap_3.vblocking_semantics5_FreshVariables_eval_swap_gen_1.vblocking_semantics5_FreshVariables_eval_swap_gen_2.vblocking_semantics5_FreshVariables_eval_swap_term_1.vblocking_semantics5_HoareLogic_assert_rule_1.vblocking_semantics5_HoareLogic_assert_rule_ext_1.vblocking_semantics5_HoareLogic_assign_rule_1.vblocking_semantics5_HoareLogic_if_rule_1.vblocking_semantics5_HoareLogic_many_steps_seq_1.vblocking_semantics5_HoareLogic_skip_rule_1.vblocking_semantics5_HoareLogic_while_rule_1.vblocking_semantics5_SemOp_steps_non_neg_1.vblocking_semantics5_TestSemantics_If42_1.vblocking_semantics5_TypingAndSemantics_eval_type_term_1.vblocking_semantics5_TypingAndSemantics_type_inversion_1.vblocking_semantics5_TypingAndSemantics_type_preservation_1.vblocking_semantics5_WP_distrib_conj_1.vblocking_semantics5_WP_distrib_conj_2.vblocking_semantics5_WP_distrib_conj_3.vblocking_semantics5_WP_monotonicity_1.vblocking_semantics5_WP_monotonicity_2.vblocking_semantics5_WP_monotonicity_3.vblocking_semantics5_WP_progress_1.vblocking_semantics5_WP_progress_2.vblocking_semantics5_WP_progress_3.vblocking_semantics5_WP_progress_4.vblocking_semantics5_WP_progress_5.vblocking_semantics5_WP_wp_preserved_by_reduction_4.vblocking_semantics5_WP_wp_soundness_1.vwhy3session.xmlwhy3shapes.gzdraftblocking_semanticsblocking_semantics.mlwblocking_semantics_WP_progress_1.vblocking_semantics_WP_wp_conj_1.vblocking_semantics_WP_wp_reduction_1.vblocking_semantics2blocking_semantics2.mlwblocking_semantics2_WP_bool_value_1.vblocking_semantics2_WP_monotonicity_1.vblocking_semantics2_WP_progress_1.vblocking_semantics2_WP_result_always_fresh_in_wp_1.vblocking_semantics2_WP_wp_reduction_2.vwhy3session.xmlblocking_semantics3blocking_semantics3.mlwblocking_semantics3_HoareLogic_assert_rule_1.vblocking_semantics3_HoareLogic_assert_rule_ext_1.vblocking_semantics3_HoareLogic_assign_rule_1.vblocking_semantics3_HoareLogic_if_rule_1.vblocking_semantics3_ImpExpr_eval_change_free_5.vblocking_semantics3_ImpExpr_eval_swap_1.vblocking_semantics3_ImpExpr_eval_swap_2.vblocking_semantics3_ImpExpr_eval_swap_2_2.vblocking_semantics3_ImpExpr_eval_swap_2_3.vblocking_semantics3_ImpExpr_eval_swap_2_4.vblocking_semantics3_ImpExpr_eval_swap_2_5.vblocking_semantics3_ImpExpr_eval_swap_term_1.vblocking_semantics3_ImpExpr_eval_type_term_1.vblocking_semantics3_ImpExpr_many_steps_seq_2.vblocking_semantics3_ImpExpr_steps_non_neg_3.vblocking_semantics3_ImpExpr_subst_fresh_3.vblocking_semantics3_ImpExpr_type_preservation_1.vblocking_semantics3_TestSemantics_If42_1.vblocking_semantics3_TestSemantics_Test55_1.vblocking_semantics3_WP_monotonicity_2.vblocking_semantics3_WP_monotonicity_3.vblocking_semantics3_WP_monotonicity_4.vblocking_semantics3_WP_monotonicity_5.vblocking_semantics3_WP_wp_reduction_3.vblocking_semantics3_WP_wp_reduction_4.vblocking_semantics3_WP_wp_reduction_6.vblocking_semantics3_WP_wp_soundness_1.vwhy3session.xmlblocking_semantics4blocking_semantics4.mlwblocking_semantics4_HoareLogic_assert_rule_1.vblocking_semantics4_HoareLogic_assert_rule_ext_1.vblocking_semantics4_HoareLogic_skip_rule_1.vblocking_semantics4_ImpExpr_eval_change_free_1.vblocking_semantics4_ImpExpr_eval_swap_2.vblocking_semantics4_ImpExpr_eval_swap_2_4.vblocking_semantics4_ImpExpr_eval_swap_3.vblocking_semantics4_ImpExpr_eval_swap_term_1.vblocking_semantics4_ImpExpr_many_steps_seq_1.vblocking_semantics4_ImpExpr_steps_non_neg_1.vblocking_semantics4_TestSemantics_If42_1.vblocking_semantics4_TestSemantics_Test0expr_2.vblocking_semantics4_TestSemantics_Test55expr_1.vblocking_semantics4_WP_bool_value_1.vblocking_semantics4_WP_monotonicity_10.vblocking_semantics4_WP_monotonicity_11.vblocking_semantics4_WP_monotonicity_3.vblocking_semantics4_WP_monotonicity_4.vblocking_semantics4_WP_monotonicity_5.vblocking_semantics4_WP_monotonicity_6.vblocking_semantics4_WP_monotonicity_7.vblocking_semantics4_WP_monotonicity_8.vblocking_semantics4_WP_monotonicity_9.vblocking_semantics4_WP_wp_reduction_1.vblocking_semantics4_WP_wp_reduction_2.vblocking_semantics4_WP_wp_reduction_3.vblocking_semantics4_WP_wp_reduction_4.vblocking_semantics4_WP_wp_reduction_5.vwhy3session.xmlimpimp.whyimp_Imp_assign_rule_1.vimp_Imp_eval_subst_2.vimp_Imp_eval_subst_expr_1.vimp_Imp_if_rule_1.vimp_Imp_many_steps_seq_rec_1.vimp_Imp_progress_1.vimp_Imp_seq_rule_2.vimp_Imp_skip_rule_1.vimp_Imp_while_rule_rec_1.vwhy3session.xmlwp3wp3.mlwwhy3session.xmlwp3_HoareLogic_consequence_rule_1.vwp3_HoareLogic_let_rule_1.vwp4wp4.mlwwhy3session.xmlwp4_HoareLogic_consequence_rule_1.vwp4_HoareLogic_let_rule_1.vwp4_HoareLogic_value_rule_1.vwp4_ImpExpr_eval_change_free_1.vwp4_ImpExpr_eval_subst_1.vwp4_ImpExpr_eval_subst_term_1.vwp4_ImpExpr_eval_swap_1.vwp4_ImpExpr_eval_term_change_free_1.vwp4_ImpExpr_eval_vsubst_term_1.vwp4_ImpExpr_many_steps_let_1.vwp4_ImpExpr_many_steps_seq_1.vwp4_ImpExpr_steps_non_neg_1.vwp4_TestSemantics_Test42expr_1.vwp_totalwp_total.mlwwhy3session.xmlwp_total_Imp_If42_1.vwp_total_Imp_Test55_1.vwp_total_Imp_assert_rule_1.vwp_total_Imp_assert_rule_ext_1.vwp_total_Imp_assign_rule_1.vwp_total_Imp_eval_subst_2.vwp_total_Imp_eval_subst_term_1.vwp_total_Imp_if_rule_1.vwp_total_Imp_many_steps_seq_1.vwp_total_Imp_steps_non_neg_1.vwp_total_Imp_while_rule_1.vwp_total_Imp_while_rule_ext_1.vwp_total_WP_WP_WP_parameter_wp_2.vwp_total_WP_WP_WP_parameter_wp_3.vformulaformula.whywhy3session.xmlwhy3shapes.gzimp_nimp_n.whyimp_n_Imp_assign_rule_1.vimp_n_Imp_eval_subst_1.vimp_n_Imp_eval_subst_expr_1.vimp_n_Imp_if_rule_1.vimp_n_Imp_many_steps_seq_1.vimp_n_Imp_progress_1.vimp_n_Imp_seq_rule_1.vimp_n_Imp_steps_non_neg_1.vimp_n_Imp_while_rule_1.vwhy3session.xmlwhy3shapes.gzwp2wp2.mlwwhy3session.xmlwhy3shapes.gzwp2_HoareLogic_assert_rule_1.vwp2_HoareLogic_assert_rule_ext_1.vwp2_HoareLogic_assign_rule_1.vwp2_HoareLogic_if_rule_1.vwp2_HoareLogic_skip_rule_1.vwp2_HoareLogic_while_rule_1.vwp2_HoareLogic_while_rule_ext_1.vwp2_Imp_eval_change_free_1.vwp2_Imp_eval_subst_1.vwp2_Imp_eval_subst_term_1.vwp2_Imp_eval_term_change_free_1.vwp2_Imp_many_steps_seq_1.vwp2_Imp_steps_non_neg_1.vwp2_TestSemantics_If42_1.vwp2_TestSemantics_Test55_1.vwp2_WP_WP_WP_parameter_compute_writes_1.vwp2_WP_WP_WP_parameter_compute_writes_2.vwp2_WP_WP_WP_parameter_compute_writes_3.vwp2_WP_WP_WP_parameter_compute_writes_4.vwp2_WP_WP_WP_parameter_wp_1.vwp2_WP_WP_WP_parameter_wp_2.vinductioninduction.mlwwhy3session.xmlwhy3shapes.gzinsertion_sortinsertion_sort.mlwinsertion_sort_InsertionSortGen_WP_parameter_insertion_sort_1.vinsertion_sort_WP_InsertionSort_WP_parameter_insertion_sort_1.vwhy3session.xmlwhy3shapes.gzinsertion_sort_listinsertion_sort_list.mlwwhy3session.xmlwhy3shapes.gzinsertion_sort_naiveinsertion_sort_naive.mlwinsertion_sort_naive_InsertionSortParamBad_WP_parameter_sort_1.vinsertion_sort_naive_InsertionSortParamBad_WP_parameter_sort_2.vwhy3session.xmlwhy3shapes.gzinverse_in_placeinverse_in_place.mlwwhy3session.xmlwhy3shapes.gzisqrtisqrt.mlwwhy3session.xmlwhy3shapes.gzkmpkmp.mlwkmp_WP_KnuthMorrisPratt_WP_parameter_initnext_2.vkmp_WP_KnuthMorrisPratt_WP_parameter_initnext_3.vkmp_WP_KnuthMorrisPratt_WP_parameter_initnext_4.vkmp_WP_KnuthMorrisPratt_matches_contradiction_at_first_1.vkmp_WP_KnuthMorrisPratt_matches_left_weakening_1.vkmp_WP_KnuthMorrisPratt_next_is_maximal_1.vkmp_WP_KnuthMorrisPratt_next_iteration_1.vwhy3session.xmlwhy3shapes.gzknuth_prime_numbersknuth_prime_numbers.mlwknuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_4.vknuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_5.vknuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_6.vknuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_7.vknuth_prime_numbers_WP_PrimeNumbers_exists_prime_1.vwhy3session.xmlwhy3shapes.gzlargest_prime_factorlargest_prime_factor.mlwwhy3session.xmlwhy3shapes.gzlcplcp.mlwwhy3session.xmlwhy3shapes.gzlinear_probinglinear_probing.mlwwhy3session.xmlwhy3shapes.gzlinked_list_revlinked_list_rev.mlwwhy3session.xmlwhy3shapes.gzlogicFirstFirst.whywhy3session.xmlwhy3shapes.gzagathaagatha.whywhy3session.xmlwhy3shapes.gzbitvectorsbitvectors.whywhy3session.xmlwhy3shapes.gzeinsteineinstein.whywhy3session.xmlwhy3shapes.gzexplicit_substexplicit_subst.whywhy3session.xmlwhy3shapes.gzffxffx.whywhy3session.xmlwhy3shapes.gzgenealogygenealogy.whygenealogy_Genealogy_Child_is_son_or_daughter_1.prfgenealogy_Genealogy_Child_is_son_or_daughter_1.pvsgenealogy_Genealogy_Child_is_son_or_daughter_1.thygenealogy_Genealogy_Child_is_son_or_daughter_1.vgenealogy_Genealogy_Child_is_son_or_daughter_1.xmlgenealogy_Genealogy_Grandparent_is_grandfather_or_grandmother_1.thygenealogy_Genealogy_Grandparent_is_grandfather_or_grandmother_1.xmlgenealogy_Genealogy_Sibling_is_brother_or_sister_1.thygenealogy_Genealogy_Sibling_is_brother_or_sister_1.xmlgenealogy_Genealogy_Sibling_sym_1.thygenealogy_Genealogy_Sibling_sym_1.xmlwhy3session.xmlwhy3shapes.gzhello_proofhello_proof.whyhello_proof_HelloProof_G2_1.vwhy3session.xmlwhy3shapes.gzlagrange_inequalitylagrange_inequality.whylagrange_inequality_CauchySchwarzInequality_CauchySchwarz_1.vlagrange_inequality_CauchySchwarzInequality_sqr_le_sqrt_1.vlagrange_inequality_TriangleInequality_triangle_1.vwhy3session.xmlwhy3shapes.gzlos_problemlos_problem.whywhy3session.xmlwhy3shapes.gzmy_cosinemy_cosine.whymy_cosine_CosineSingle_MethodError_1.vwhy3session.xmlwhy3shapes.gzns_clonens_clone.whywhy3session.xmlwhy3shapes.gzrealreal.whyreal_CosineSingle_MethodError_1.vwhy3session.xmlwhy3shapes.gzscottish-private-clubscottish-private-club.whywhy3session.xmlwhy3shapes.gzsimplesimple.whywhy3session.xmlwhy3shapes.gzsorted_listsorted_list.whysorted_list_SortedList_sorted_mem_1.vwhy3session.xmlwhy3shapes.gztriangle_inequalitytriangle_inequality.whytriangle_inequality_CauchySchwarzInequality_CauchySchwarz_1.vtriangle_inequality_CauchySchwarzInequality_CauchySchwarz_aux_non_null_1.vtriangle_inequality_TriangleInequality_triangle_1.vwhy3session.xmlwhy3shapes.gzmax_matrixmax_matrix.mlwwhy3session.xmlwhy3shapes.gzmaximum_subarraymaximum_subarray.mlwmaximum_subarray_Algo3_WP_parameter_maximum_subarray_rec_1.vmaximum_subarray_Algo3_WP_parameter_maximum_subarray_rec_3.vwhy3session.xmlwhy3shapes.gzmccarthymccarthy.mlwwhy3session.xmlwhy3shapes.gzmergesort_arraymergesort_array.mlwmergesort_array_BottomUpMergesort_WP_parameter_bottom_up_mergesort_1.vwhy3session.xmlwhy3shapes.gzmergesort_listmergesort_list.mlwwhy3session.xmlwhy3shapes.gzmergesort_queuemergesort_queue.mlwmergesort_queue_MergesortQueue_WP_parameter_merge_3.vwhy3session.xmlwhy3shapes.gzmiscencodebench.rclist.whyprgbench.rcset.whytest.equlinvacid_sort.whymjrtymjrty.mlwwhy3session.xmlwhy3shapes.gzmullermuller.mlwwhy3session.xmlwhy3shapes.gzmy_cosinemy_cosine.mlwmy_cosine_M_WP_parameter_my_cosine_1.vwhy3session.xmlwhy3shapes.gznightly-bench.shoptimal_replayoptimal_replay.mlwdistance_Distance_WP_parameter_distance_1.vwhy3session.xmlwhy3shapes.gzpowerpower.mlwpower_M_WP_parameter_fast_exp_imperative_1.vpower_WP_M_WP_parameter_fast_exp_imperative_3.vwhy3session.xmlwhy3shapes.gzqueensqueens.mlwqueens_WP_NQueensSets_WP_parameter_t3_1.vqueens_WP_NQueensSets_WP_parameter_t3_2.vqueens_WP_NQueensSets_WP_parameter_t3_3.vqueens_WP_NQueensSets_WP_parameter_t3_4.vqueens_WP_NQueensSets_WP_parameter_t3_5.vqueens_WP_NQueensSets_WP_parameter_t3_6.vwhy3session.xmlwhy3shapes.gzquicksortquicksort.mlwwhy3session.xmlwhy3shapes.gzrandom_access_listrandom_access_list.mlwrandom_access_list_RandomAccessList_length_flatten_1.vwhy3session.xmlwhy3shapes.gzregtests.shrelabelrelabel.mlwwhy3session.xmlwhy3shapes.gzremove_duplicateremove_duplicate.mlwwhy3session.xmlwhy3shapes.gzresidualresidual.mlwresidual_Residuals_WP_parameter_residual_1.vresidual_Residuals_WP_parameter_residual_2.vresidual_Residuals_WP_parameter_residual_3.vresidual_Residuals_inversion_mem_star_gen_1.vwhy3session.xmlwhy3shapes.gzresizable_arrayresizable_array.mlwwhy3session.xmlwhy3shapes.gzropesropes.mlwwhy3session.xmlwhy3shapes.gzsame_fringesame_fringe.mlwwhy3session.xmlwhy3shapes.gzselection_sortselection_sort.mlwwhy3session.xmlwhy3shapes.gzsfsf.mlwwhy3session.xmlwhy3shapes.gzskew_heapsskew_heaps.mlwwhy3session.xmlwhy3shapes.gzsnapshotable_treessnapshotable_trees.mlwwhy3session.xmlwhy3shapes.gzsorted_listsorted_list.mlwwhy3session.xmlwhy3shapes.gzstdlibarrayarray_ArrayPermut_exchange_permut_sub_1.varray_ArrayPermut_permut_sub_weakening_2.vwhy3session.xmlwhy3shapes.gzbintreewhy3session.xmlwhy3shapes.gzlistlist_Permut_Permut_length_1.vlist_Permut_Permut_length_2.vwhy3session.xmlwhy3shapes.gzsudokusudoku.mlwMakefileindex.htmljsmain.mlmain.mlwhy3session.xmlwhy3shapes.gzsum_of_digitssum_of_digits.mlwwhy3session.xmlwhy3shapes.gzteststests-proversbvbv.whywhy3session.xmlwhy3shapes.gzceilceil.whywhy3session.xmlwhy3shapes.gzcoqcoq-intervalcoq-interval.whycoqmninterval_P_pow_eps2_max_int_1.vwhy3session.xmlwhy3shapes.gzcoq.whycoq_NonEmptyTypes_g1_1.vwhy3session.xmlwhy3shapes.gzcvc3cvc3.whywhy3session.xmlwhy3shapes.gzdivdiv.whywhy3session.xmlwhy3shapes.gzgappagappa.whywhy3session.xmlwhy3shapes.gzmetitarskimetitarski.whywhy3session.xmlwhy3shapes.gzalt-ergo-modelsalt-ergo-models.mlwalt-ergo-models.whywhy3session.xmlarray-test.mlwbitvector-test.whycvc4-modelscvc4-models.mlwcvc4-models.whywhy3session.xmlwhy3shapes.gzhashtbl-test.mlwint32-test.mlwlemma_functionslemma_functions.mlwwhy3session.xmlwhy3shapes.gzmatrix-test.mlwpqueue-test.mlwqueue-test.mlwrandom-test.mlwregexp-test.whystack-test.mlwthere_and_back_againthere_and_back_again.mlwthere_and_back_again_Palindrome_WP_parameter_palindrome_rec_1.vthere_and_back_again_Palindrome_WP_parameter_palindrome_rec_2.vwhy3session.xmlwhy3shapes.gztopological_sortingtopological_sorting.mlwwhy3session.xmlwhy3shapes.gztortoise_and_haretortoise_and_hare.mlwtortoise_and_hare_WP_TortoiseAndHare_WP_parameter_tortoise_hare_1.vtortoise_and_hare_WP_TortoiseAndHare_WP_parameter_tortoise_hare_2.vtortoise_and_hare_WP_TortoiseAndHare_cycle_induction_1.vwhy3session.xmlwhy3shapes.gztower_of_hanoitower_of_hanoi.mlwwhy3session.xmlwhy3shapes.gztoy_compilertoy_compiler.mlwwhy3session.xmlwhy3shapes.gztree_of_listtree_of_list.mlwwhy3session.xmlwhy3shapes.gzunraveling_a_card_trickunraveling_a_card_trick.mlwwhy3session.xmlwhy3shapes.gzuse_apicreate_session.mllogic.mlmlw.mlmlw_tree.mlrunstratMakefileecho_wait.mlmakejob.mlmakeproto.mlmakeproto.mlirun_wait.mlrunstrat.mlvacid_0_binary_heapsabstract_heap.mlwbag_of_integers.whyelements.whyheap.whyheap_implem.mlwheap_model.whyheapsort.mlwproofselements_Elements_Elements_add1_1.velements_Elements_Elements_set_inside_1.velements_Elements_Elements_set_outside_1.velements_Elements_Elements_union_1.velements_Elements_Occ_elements_1.vheap_Heap_Is_heap_relation_1.vheap_implem_WP_Implementation_Is_heap_min_1.vheap_implem_WP_Implementation_WP_parameter_extractMin_3.vheap_model_Model_Model_set_1.vheapsort_WP_HeapSort_Min_of_sorted_1.vwhy3session.xmlwhy3shapes.gztest_harness.mlwvacid_0_build_mazevacid_0_build_maze.mlwwhy3session.xmlwhy3shapes.gzvacid_0_red_black_treesvacid_0_red_black_trees.mlwvacid_0_red_black_trees_WP_RedBlackTree_WP_parameter_add_1.vvacid_0_red_black_trees_WP_RedBlackTree_WP_parameter_lbalance_1.vvacid_0_red_black_trees_WP_RedBlackTree_WP_parameter_rbalance_1.vvacid_0_red_black_trees_WP_RedBlackTree_gt_node_gt_1.vvacid_0_red_black_trees_WP_RedBlackTree_lt_node_lt_1.vwhy3session.xmlwhy3shapes.gzvacid_0_sparse_arrayvacid_0_sparse_array.mlwvacid_0_sparse_array_2_SparseArray_permutation_1.vwhy3session.xmlwhy3shapes.gzverifythis_2015_dancing_linksverifythis_2015_dancing_links.mlwwhy3session.xmlwhy3shapes.gzverifythis_2015_parallel_gcdverifythis_2015_parallel_gcd.mlwwhy3session.xmlwhy3shapes.gzverifythis_2015_relaxed_prefixverifythis_2015_relaxed_prefix.mlwwhy3session.xmlwhy3shapes.gzverifythis_PrefixSumRecverifythis_PrefixSumRec.mlwwhy3session.xmlwhy3shapes.gzverifythis_fm2012_LRSverifythis_fm2012_LRS.mlwverifythis_fm2012_lcp_LRS_WP_parameter_lrs_10.vverifythis_fm2012_lcp_LRS_WP_parameter_lrs_12.vverifythis_fm2012_lcp_SuffixArray_permut_permutation_1.vwhy3session.xmlwhy3shapes.gzverifythis_fm2012_treedelverifythis_fm2012_treedel.mlwverifythis_fm2012_treedel_Treedel_WP_parameter_search_tree_delete_min_2.vverifythis_fm2012_treedel_Treedel_main_lemma_1.vwhy3session.xmlwhy3shapes.gzvstte10_aqueuevstte10_aqueue.mlwwhy3session.xmlwhy3shapes.gzvstte10_invertingvstte10_inverting.mlwvstte10_inverting_WP_InvertingAnInjection_WP_parameter_inverting2_2.vvstte10_inverting_WP_InvertingAnInjection_WP_parameter_inverting_1.vwhy3session.xmlwhy3shapes.gzvstte10_max_sumvstte10_max_sum.mlwMakefilemain.mlvstte10_max_sum_MaxAndSum_WP_parameter_max_sum_1.vvstte10_max_sum_WP_MaxAndSum2_WP_parameter_max_sum_1.vwhy3session.xmlwhy3shapes.gzvstte10_queensvstte10_queens.mlwvstte10_queens_NQueens_solution_eq_board_1.vwhy3session.xmlwhy3shapes.gzvstte10_search_listvstte10_search_list.mlwvstte10_search_list_WP_SearchingALinkedList_WP_parameter_search_loop_1.vvstte10_search_list_WP_SearchingALinkedList_WP_parameter_search_loop_3.vvstte10_search_list_WP_SearchingALinkedList_WP_parameter_search_loop_4.vwhy3session.xmlwhy3shapes.gzvstte12_bfsvstte12_bfs.mlwvstte12_bfs_WP_BFS_WP_parameter_bfs_1.vwhy3session.xmlwhy3shapes.gzvstte12_combinatorsvstte12_combinators.mlwMakefileindex.htmljsmain.mlmain.mlparse.mlvstte12_combinators_WP_Combinators_WP_parameter_reduction2_2.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_3.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_4.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_5.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_6.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_7.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_8.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_9.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_1.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_2.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_3.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_4.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_5.vvstte12_combinators_WP_Combinators_irreducible_is_value_1.vvstte12_combinators_WP_Combinators_ks_even_odd_1.vvstte12_combinators_WP_Combinators_ks_injective_1.vvstte12_combinators_WP_Combinators_ks_value_1.vvstte12_combinators_WP_Combinators_only_K_ks_1.vvstte12_combinators_WP_Combinators_only_K_reduces_1.vvstte12_combinators_WP_Combinators_red_star_left_1.vvstte12_combinators_WP_Combinators_red_star_right_1.vvstte12_combinators_WP_Combinators_reducible_or_value_1.vvstte12_combinators_WP_Combinators_size_nonneg_1.vwhy3session.xmlwhy3shapes.gzvstte12_ring_buffervstte12_ring_buffer.mlwvstte12_ring_buffer_2_RingBuffer_WP_parameter_head_1.vvstte12_ring_buffer_2_RingBuffer_WP_parameter_pop_3.vvstte12_ring_buffer_2_RingBuffer_WP_parameter_pop_4.vvstte12_ring_buffer_RingBuffer_WP_parameter_pop_1.vwhy3session.xmlwhy3shapes.gzvstte12_tree_reconstructionvstte12_tree_reconstruction.mlwvstte12_tree_reconstruction_Tree_depths_unique_1.vvstte12_tree_reconstruction_WP_Harness_WP_parameter_harness2_2.vvstte12_tree_reconstruction_WP_Harness_WP_parameter_harness_3.vvstte12_tree_reconstruction_WP_Harness_WP_parameter_harness_4.vvstte12_tree_reconstruction_WP_TreeReconstruction_WP_parameter_build_3.vvstte12_tree_reconstruction_WP_TreeReconstruction_WP_parameter_build_4.vvstte12_tree_reconstruction_WP_TreeReconstruction_WP_parameter_build_rec_3.vvstte12_tree_reconstruction_WP_TreeReconstruction_WP_parameter_build_rec_4.vvstte12_tree_reconstruction_WP_ZipperBased_WP_parameter_tc_2.vvstte12_tree_reconstruction_WP_ZipperBased_WP_parameter_tc_3.vvstte12_tree_reconstruction_WP_ZipperBased_WP_parameter_tc_4.vvstte12_tree_reconstruction_WP_ZipperBased_forest_depths_append_1.vvstte12_tree_reconstruction_WP_ZipperBased_g_append_1.vvstte12_tree_reconstruction_WP_ZipperBased_main_lemma_1.vvstte12_tree_reconstruction_WP_ZipperBased_right_nil_1.vwhy3session.xmlwhy3shapes.gzvstte12_two_way_sortvstte12_two_way_sort.mlwwhy3session.xmlwhy3shapes.gzwarshall_algorithmwarshall_algorithm.mlwwarshall_algorithm_WarshallAlgorithm_decomposition_1.vwarshall_algorithm_WarshallAlgorithm_weakening_1.vwhy3session.xmlwhy3shapes.gzzeroszeros.mlwwhy3session.xmlwhy3shapes.gz/usr/share/doc//usr/share/doc/why3-examples//usr/share/doc/why3-examples/examples//usr/share/doc/why3-examples/examples/add_list//usr/share/doc/why3-examples/examples/algo63//usr/share/doc/why3-examples/examples/algo64//usr/share/doc/why3-examples/examples/algo65//usr/share/doc/why3-examples/examples/all_distinct//usr/share/doc/why3-examples/examples/arm//usr/share/doc/why3-examples/examples/assigning_meanings_to_programs//usr/share/doc/why3-examples/examples/avl//usr/share/doc/why3-examples/examples/avl/association_list//usr/share/doc/why3-examples/examples/avl/avl//usr/share/doc/why3-examples/examples/avl/key_type//usr/share/doc/why3-examples/examples/avl/monoid//usr/share/doc/why3-examples/examples/avl/preorder//usr/share/doc/why3-examples/examples/avl/priority_queue//usr/share/doc/why3-examples/examples/avl/ral//usr/share/doc/why3-examples/examples/avl/sorted//usr/share/doc/why3-examples/examples/avl/tables//usr/share/doc/why3-examples/examples/bag//usr/share/doc/why3-examples/examples/balance//usr/share/doc/why3-examples/examples/bellman_ford//usr/share/doc/why3-examples/examples/binary_search//usr/share/doc/why3-examples/examples/binary_sqrt//usr/share/doc/why3-examples/examples/bitvector_examples//usr/share/doc/why3-examples/examples/bitvectors//usr/share/doc/why3-examples/examples/bitvectors/bitvector//usr/share/doc/why3-examples/examples/bitvectors/double//usr/share/doc/why3-examples/examples/bitvectors/double_of_int//usr/share/doc/why3-examples/examples/bitvectors/neg_as_xor//usr/share/doc/why3-examples/examples/bitvectors/power2//usr/share/doc/why3-examples/examples/braun_trees//usr/share/doc/why3-examples/examples/bresenham//usr/share/doc/why3-examples/examples/bts//usr/share/doc/why3-examples/examples/bts/11244//usr/share/doc/why3-examples/examples/bts/12475//usr/share/doc/why3-examples/examples/bts/12934//usr/share/doc/why3-examples/examples/bts/13375//usr/share/doc/why3-examples/examples/bts/13849//usr/share/doc/why3-examples/examples/bts/13853//usr/share/doc/why3-examples/examples/bts/13854//usr/share/doc/why3-examples/examples/bts/16972//usr/share/doc/why3-examples/examples/bts/17181//usr/share/doc/why3-examples/examples/bts/fsetint//usr/share/doc/why3-examples/examples/bubble_sort//usr/share/doc/why3-examples/examples/check-builtin//usr/share/doc/why3-examples/examples/check-builtin/ac//usr/share/doc/why3-examples/examples/check-builtin/array//usr/share/doc/why3-examples/examples/check-builtin/bool//usr/share/doc/why3-examples/examples/check-builtin/euclideandivision//usr/share/doc/why3-examples/examples/check-builtin/floats//usr/share/doc/why3-examples/examples/check-builtin/int//usr/share/doc/why3-examples/examples/check-builtin/intreal//usr/share/doc/why3-examples/examples/check-builtin/minmax//usr/share/doc/why3-examples/examples/check-builtin/propositional//usr/share/doc/why3-examples/examples/check-builtin/real//usr/share/doc/why3-examples/examples/checking_a_large_routine//usr/share/doc/why3-examples/examples/coincidence_count//usr/share/doc/why3-examples/examples/conjugate//usr/share/doc/why3-examples/examples/counting_sort//usr/share/doc/why3-examples/examples/cursor//usr/share/doc/why3-examples/examples/decrease1//usr/share/doc/why3-examples/examples/defunctionalization//usr/share/doc/why3-examples/examples/dfa_example//usr/share/doc/why3-examples/examples/dijkstra//usr/share/doc/why3-examples/examples/dirichlet//usr/share/doc/why3-examples/examples/division//usr/share/doc/why3-examples/examples/doc_examples//usr/share/doc/why3-examples/examples/double_wp//usr/share/doc/why3-examples/examples/double_wp/compiler//usr/share/doc/why3-examples/examples/double_wp/imp//usr/share/doc/why3-examples/examples/double_wp/logic//usr/share/doc/why3-examples/examples/double_wp/specs//usr/share/doc/why3-examples/examples/double_wp/vm//usr/share/doc/why3-examples/examples/dyck//usr/share/doc/why3-examples/examples/edit_distance//usr/share/doc/why3-examples/examples/eratosthene//usr/share/doc/why3-examples/examples/euler001//usr/share/doc/why3-examples/examples/euler002//usr/share/doc/why3-examples/examples/ewd673//usr/share/doc/why3-examples/examples/f_puzzle//usr/share/doc/why3-examples/examples/fact//usr/share/doc/why3-examples/examples/fib_memo//usr/share/doc/why3-examples/examples/fibonacci//usr/share/doc/why3-examples/examples/fill//usr/share/doc/why3-examples/examples/find//usr/share/doc/why3-examples/examples/finger_trees//usr/share/doc/why3-examples/examples/finite_tarski//usr/share/doc/why3-examples/examples/flag//usr/share/doc/why3-examples/examples/flag2//usr/share/doc/why3-examples/examples/foveoos11-cm//usr/share/doc/why3-examples/examples/foveoos11-cm/array_max//usr/share/doc/why3-examples/examples/foveoos11-cm/duplets//usr/share/doc/why3-examples/examples/foveoos11-cm/tree_max//usr/share/doc/why3-examples/examples/foveoos11_challenge1//usr/share/doc/why3-examples/examples/foveoos11_challenge2//usr/share/doc/why3-examples/examples/foveoos11_challenge3//usr/share/doc/why3-examples/examples/gcd//usr/share/doc/why3-examples/examples/gcd_bezout//usr/share/doc/why3-examples/examples/generate_all_trees//usr/share/doc/why3-examples/examples/hackers-delight//usr/share/doc/why3-examples/examples/hashtbl_impl//usr/share/doc/why3-examples/examples/hoare_logic//usr/share/doc/why3-examples/examples/hoare_logic/blocking_semantics5//usr/share/doc/why3-examples/examples/hoare_logic/draft//usr/share/doc/why3-examples/examples/hoare_logic/draft/blocking_semantics//usr/share/doc/why3-examples/examples/hoare_logic/draft/blocking_semantics2//usr/share/doc/why3-examples/examples/hoare_logic/draft/blocking_semantics3//usr/share/doc/why3-examples/examples/hoare_logic/draft/blocking_semantics4//usr/share/doc/why3-examples/examples/hoare_logic/draft/imp//usr/share/doc/why3-examples/examples/hoare_logic/draft/wp3//usr/share/doc/why3-examples/examples/hoare_logic/draft/wp4//usr/share/doc/why3-examples/examples/hoare_logic/draft/wp_total//usr/share/doc/why3-examples/examples/hoare_logic/formula//usr/share/doc/why3-examples/examples/hoare_logic/imp_n//usr/share/doc/why3-examples/examples/hoare_logic/wp2//usr/share/doc/why3-examples/examples/induction//usr/share/doc/why3-examples/examples/insertion_sort//usr/share/doc/why3-examples/examples/insertion_sort_list//usr/share/doc/why3-examples/examples/insertion_sort_naive//usr/share/doc/why3-examples/examples/inverse_in_place//usr/share/doc/why3-examples/examples/isqrt//usr/share/doc/why3-examples/examples/kmp//usr/share/doc/why3-examples/examples/knuth_prime_numbers//usr/share/doc/why3-examples/examples/largest_prime_factor//usr/share/doc/why3-examples/examples/lcp//usr/share/doc/why3-examples/examples/linear_probing//usr/share/doc/why3-examples/examples/linked_list_rev//usr/share/doc/why3-examples/examples/logic//usr/share/doc/why3-examples/examples/logic/First//usr/share/doc/why3-examples/examples/logic/agatha//usr/share/doc/why3-examples/examples/logic/bitvectors//usr/share/doc/why3-examples/examples/logic/einstein//usr/share/doc/why3-examples/examples/logic/explicit_subst//usr/share/doc/why3-examples/examples/logic/ffx//usr/share/doc/why3-examples/examples/logic/genealogy//usr/share/doc/why3-examples/examples/logic/hello_proof//usr/share/doc/why3-examples/examples/logic/lagrange_inequality//usr/share/doc/why3-examples/examples/logic/los_problem//usr/share/doc/why3-examples/examples/logic/my_cosine//usr/share/doc/why3-examples/examples/logic/ns_clone//usr/share/doc/why3-examples/examples/logic/real//usr/share/doc/why3-examples/examples/logic/scottish-private-club//usr/share/doc/why3-examples/examples/logic/simple//usr/share/doc/why3-examples/examples/logic/sorted_list//usr/share/doc/why3-examples/examples/logic/triangle_inequality//usr/share/doc/why3-examples/examples/max_matrix//usr/share/doc/why3-examples/examples/maximum_subarray//usr/share/doc/why3-examples/examples/mccarthy//usr/share/doc/why3-examples/examples/mergesort_array//usr/share/doc/why3-examples/examples/mergesort_list//usr/share/doc/why3-examples/examples/mergesort_queue//usr/share/doc/why3-examples/examples/misc//usr/share/doc/why3-examples/examples/mjrty//usr/share/doc/why3-examples/examples/muller//usr/share/doc/why3-examples/examples/my_cosine//usr/share/doc/why3-examples/examples/optimal_replay//usr/share/doc/why3-examples/examples/power//usr/share/doc/why3-examples/examples/queens//usr/share/doc/why3-examples/examples/quicksort//usr/share/doc/why3-examples/examples/random_access_list//usr/share/doc/why3-examples/examples/relabel//usr/share/doc/why3-examples/examples/remove_duplicate//usr/share/doc/why3-examples/examples/residual//usr/share/doc/why3-examples/examples/resizable_array//usr/share/doc/why3-examples/examples/ropes//usr/share/doc/why3-examples/examples/same_fringe//usr/share/doc/why3-examples/examples/selection_sort//usr/share/doc/why3-examples/examples/sf//usr/share/doc/why3-examples/examples/skew_heaps//usr/share/doc/why3-examples/examples/snapshotable_trees//usr/share/doc/why3-examples/examples/sorted_list//usr/share/doc/why3-examples/examples/stdlib//usr/share/doc/why3-examples/examples/stdlib/array//usr/share/doc/why3-examples/examples/stdlib/bintree//usr/share/doc/why3-examples/examples/stdlib/list//usr/share/doc/why3-examples/examples/sudoku//usr/share/doc/why3-examples/examples/sum_of_digits//usr/share/doc/why3-examples/examples/tests-provers//usr/share/doc/why3-examples/examples/tests-provers/bv//usr/share/doc/why3-examples/examples/tests-provers/ceil//usr/share/doc/why3-examples/examples/tests-provers/coq-interval//usr/share/doc/why3-examples/examples/tests-provers/coq//usr/share/doc/why3-examples/examples/tests-provers/cvc3//usr/share/doc/why3-examples/examples/tests-provers/div//usr/share/doc/why3-examples/examples/tests-provers/gappa//usr/share/doc/why3-examples/examples/tests-provers/metitarski//usr/share/doc/why3-examples/examples/tests//usr/share/doc/why3-examples/examples/tests/alt-ergo-models//usr/share/doc/why3-examples/examples/tests/cvc4-models//usr/share/doc/why3-examples/examples/tests/lemma_functions//usr/share/doc/why3-examples/examples/there_and_back_again//usr/share/doc/why3-examples/examples/topological_sorting//usr/share/doc/why3-examples/examples/tortoise_and_hare//usr/share/doc/why3-examples/examples/tower_of_hanoi//usr/share/doc/why3-examples/examples/toy_compiler//usr/share/doc/why3-examples/examples/tree_of_list//usr/share/doc/why3-examples/examples/unraveling_a_card_trick//usr/share/doc/why3-examples/examples/use_api//usr/share/doc/why3-examples/examples/use_api/runstrat//usr/share/doc/why3-examples/examples/vacid_0_binary_heaps//usr/share/doc/why3-examples/examples/vacid_0_binary_heaps/proofs//usr/share/doc/why3-examples/examples/vacid_0_build_maze//usr/share/doc/why3-examples/examples/vacid_0_red_black_trees//usr/share/doc/why3-examples/examples/vacid_0_sparse_array//usr/share/doc/why3-examples/examples/verifythis_2015_dancing_links//usr/share/doc/why3-examples/examples/verifythis_2015_parallel_gcd//usr/share/doc/why3-examples/examples/verifythis_2015_relaxed_prefix//usr/share/doc/why3-examples/examples/verifythis_PrefixSumRec//usr/share/doc/why3-examples/examples/verifythis_fm2012_LRS//usr/share/doc/why3-examples/examples/verifythis_fm2012_treedel//usr/share/doc/why3-examples/examples/vstte10_aqueue//usr/share/doc/why3-examples/examples/vstte10_inverting//usr/share/doc/why3-examples/examples/vstte10_max_sum//usr/share/doc/why3-examples/examples/vstte10_queens//usr/share/doc/why3-examples/examples/vstte10_search_list//usr/share/doc/why3-examples/examples/vstte12_bfs//usr/share/doc/why3-examples/examples/vstte12_combinators//usr/share/doc/why3-examples/examples/vstte12_ring_buffer//usr/share/doc/why3-examples/examples/vstte12_tree_reconstruction//usr/share/doc/why3-examples/examples/vstte12_two_way_sort//usr/share/doc/why3-examples/examples/warshall_algorithm//usr/share/doc/why3-examples/examples/zeros/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=harddrpmxz2armv7hl-redhat-linux-gnueabi              directoryRuby module source, ASCII textXML document textASCII text, with very long lines (gzip compressed data)empty (gzip compressed data)ASCII text (gzip compressed data)ASCII textPOSIX shell script, ASCII text executableUTF-8 Unicode textASCII text, with very long linesRuby module source, UTF-8 Unicode textmakefile script, ASCII textLaTeX 2e document, ISO-8859 textRuby module source, ASCII text, with very long linesHTML document, ASCII textASCII text, with very long lines, with no line terminatorsBourne-Again shell script, ASCII text executablea /usr/bin/env ocaml script, ASCII text executablea /usr/bin/env ocaml script, UTF-8 Unicode text executable?7zXZ !PH6+PJ]"k%r3HE&2]wC H~HqHwІ'ɑ7/Ķ\ U!qӉ"-]SۓH_%\!r*#60ZrU#~&Q8V#8n@7w"*nkx7^BofR A#S| \mȺ$WRe0CG^ys>CSgQ駞P( .I_$"C(?aq9Kȭ5;YC߶>3yr7-#Ҁk|cH舓2Bs+jy>zҭszP,2¨02ttB@1۵܇Tqb S_7By m+\MnGv/ #gZ 8DpȄ{.<1l[/*ї+$1N*LEЬ\ϯt,F 8.gh>%0'xD7R=Do6YZKԞ ~Kk ;iDf:kK5 "sη rl^f^RLKrn*ewnDb`z:Oz΁Y13YQ5;NtӆٮF3E<%= 'KiuU¢%[?hm _SD:DnOs~뎨 wn!r,gLdp1q5`!3*%%^8E_-+!1Pt9`> 7_t]8(?p 7j0 Yݷ~LTBGNru: jee6<6} 5̡1UIaa2*0z.GF_j#^pU@˪&0vr;bljwu_G~?;? 8Ԝ0 ī Wj _e;V7;Sf[7ODDW2[>*r9~TvXQ.!\BL [ ^ *˰$ ?H }AWsQdwLvhK Pv=IEi߼>lwu̞A7݊c:JͰy}S~L5`) ]>hfi['X cϕ0"h1Dv5(1 tehWF"4 L*۵Z(`\® T)͐ ӺXavUyn6Ĉ,Ώi )mTrT#؎"T)hsCsSu nZ$aQxfAXM[֍xI$TLgx}tT}5:uniTc]a4/-/؝)G5׼~UX`cu4x/9|iͪ+ q0spA-=5F{fqbRqp;^ uh"ة_(Wq0DCXO*HRGL:/B.׼vь@RAJ\£/.o!iP謍e"F3~'X*CFƽǒ@T/P V>$Y(,zco.1e@/{͐Y@,'wAalz6ORjv̚Pp<ߧ&]l{Q^8٭E&EMOVk] M0 Yn:D6u.E{`?c?O?$޴9 DF}yU? U ;gv7=#^˭)&0jA[=l `˾( o̞`=Ku|`<8-}TR)υP.gԚ]2A ; ~P #9c HhaRYYJ,D%Lz$f>]r8\FŨ]/ 6#(g+X .8[tiw~9Ʃ~y`o/ JބDO,aNq=pw+D,:-#$ӵK}H9h \ 4-|`ְ?H9$E\~E$L,]\6JF" }N^!&a m߽S }=I][R垣z츽B5 MQ* 'A L[d4W 7B;FmS/@|]y:KҒ4.T!3 Kʩ]D%zR tt %=a?n"b5Yl͓llƄԜ.dEg؝kn^JPaG+I`_\2s/)ơUQŞ=Cd;#V)[r*ǻ|i´i;iX]cW6zQu[QQ`e+*OPB4 Aҫkr [: }mvB5q>vNsTQh7"(5p3j8#9'WeJׇ{cl`f~QHq :5VJ`f#-'F2%JOyd=-;3M_<rt-QI#F phǥt̳R_=1Lngjv!ZԠd }ǚamlSh]r(atbiQA:U ax&ioB[ _EӍn=PN&1]$`'fx7J& ֥;{/‡-OJ p}/xu՛J7A`:a'6DܐMv0\t’tJn&1AE?kŋ',GҮ)>v[D*i_( |FwX p)k3 2繥~XF'/@Ĉ:I:'ୣDŽZ`3 - ?*O݀iI'qqΩ7wszw `Iv6&m9 NA.1LH:kp-RՏ6X- $^ĎĬw#)zCA~ƈTcu0B>v@dKK#(HJCr+X'60䪓Ѯ{?/C 6Ɍ!k67ߵD(Tdd7s[cw>#rG5$Qea7[\+-4~GޘRmc'O*wJBAyoBn>ssUET딾#Hĥq8?U)yȁXA?':Q6(l //. M搞FwB,OBzcIcy(^ !5ABTp(-#2E#wzˋH('[SP02u I03C;C01νQV )EyBiyÝ&-KFUxҟ^gN'IcG[ǝShuN :& {*fbl"uS }dUY;\awjx{i)u:Z sÜT08[J%}9p$2#_1O6.Pyv5Α`wS2M~. 9A@Pք30QhS3ֻ\1/ (Y3ca4!(zq~6*0RLFɲ^~qCo /cd= 5M} R0#`DU˫Fl?KsWb)kҪGYzS,vr~ߑ'Wkk2S^JHUM_!="_Z8i~v7wR[CgAM@LuKhQw21-/%^bo+wS d8e &B@^*-ƙ_5-q+Dxc&='] :n{Y{%[x7›>^&SR潌bqrñg@bAuh;FwAk0{QCFZ$2pJd܃Mt =D?]T UegZ`Hf\ݣ4hĶ~`\OOn8>9+qhRqoox0¯/H U¢RoM#fP9+\@9{=AqQ~L/ Fyb SqY?s5H#%0c1"Z+gHb>8FR)QtYdB+R~c&<\?9zkUXÓqpV!"}3>cԤQ=;LccZ7{ue>}ZoĒ~z_5E㠅:\P ndu\Ke4rx`6A3N!'R:`gE7yܦGnyF0Iu&ܪc,M~}Pzzʴ"{wx$O1Q}30Z/}֕G%#q7 uŻZl,VJvk@~98"Jdmu⣱BL"><0JE6ن)] &m ^xiUHt4Qh6U@e~Qa-Ql {ͥ@b 릟#MnڥCR ~oW(Y[͌Y V&@*_ߞ r`Q&>u S~X|;u5Qٵ $ЕA;oY&@P7Hw>X֕SDGi{;9裪=z-%($8%5-80DPD@"AmgOTӘ%H[ 4W4^npf] ̄}q 6k\N YZ