vim-data-9.1.0836-150500.20.18.1<>,Jgp9|T<I0 &0phkS S:sE3s.j>/,YR ?(WYYY9i2KbP4V6M@)3 f:{46f?yynE(/Y}laz~eS#!҉r$ze  yxJzb"kTh7[o.›Y5 {m Zqr.0~Bl ;5`>A?d  # T +18$ 6 H ll [ t3334(48497:C-BFGHԔIPX@YLZt[|\]%H^bcXdefluvʰ%wϔxPy z8HLRCvim-data9.1.0836150500.20.18.1Data files needed for extended vim functionalityThis package contains optional runtime & syntax files for vim.gh03-ch2aDESUSE Linux Enterprise 15SUSE LLC Vimhttps://www.suse.com/Productivity/Text/Editorshttps://www.vim.org/linuxnoarchlX(V _M"  Wmg42@Gc m|;(hTVZ$dBO 4sw~_VGjBѻ ]G:Y01Tc<SufNbKS\Z?LOʙKJmQ}N`/SNSVP/_`My[0GLXIw}Yk G>~bkGv  >K" cuPSznf|&BR2j/;|~Z%=!_ +H /9X d..Sbz2\7+1)! 8}kv,;%CKe_AQiSXˁs2EP^]~JpQ)>{K,r24y5J ::1Q[J CE->OX(\6qE cL:bA&o6W1ͮ KilBg:XasAeZf}i bQwmZM~ 1 D%# 7%iq. ~TdJj Uq T7T8 w;51xS9s`7G2=>kQrz*KM.6D-Pe3 ~$-h/n|/5BM v|1ye C`)i!<j]R z{ }~ U  x*K// I1 %,4mByF@$YZeI#Tx p?FQ>/1jt| :{ 7'9-;C t#ftanH K,<"d ZGs m,-% " s]Pf/( 7[ {I)@dzU<m$=,3K~] B ; ?& $G g Fv88Y  GHyS)M5 $)2q3 3*4 e6Dp9m M9{Eh)ZYm }} eT(b#4' _ ]TfBE#3#7 KF \[\ "  B +,AZB,9 G r MK/<EIM;6]IES)LNw[z[yXs!I+\K9Ua2RR2S42q2ZCb^5YJ%TEXG9[Z\EZj^KYii^Y)*qa<\GHaZRW$1[Z7[1E)@/J1]}*L0200.CV4B+GGF@??PMX'3u3y6[.)222Y=FKKFG)ZGKF32364(V(V2L7&`b`R\~Y5'&EI&''5,6Z%&svȕ`|Im L,|oFr/tsr,Dv` ; URV[ V3>cr(/>'<OPt9c#sK,'%XS ((id+4 _9 3 R= NyYM{PRlT ]?  t r#  z{  |1 v501 z#E22 u ^I ]V YoA OQS 2y52 do8!\hw  |r L o  G "c~I $ .AD<"'S(Q  l ~@* V6e -(C y, B. J8F.E"5 j$= @X-gvya? &'+ <f D# ]c` 4!)XAW*$f 2v6$ V A#\ X/Pe%Ls yY(|8"M4 LK / xi$#hWV x  v|q$H    3c"#/H|(%9e!B 9Zb/C=>= J 3 o` o)Xo8Ir? N 1 >9 ~.Wi';;IV1g'$0?%  V<3uK2c')|!8A4h  I.16m %XQwO N6G  jTo|>p ] a(jA U/<3(=3*gE8#a f O }: U ! 06u9nѣ!jc;'b'2JFn'(U-DOW 2 :;/*1{ "dd. Y1' p- L # me";z%g\uT(H+!] +RVd p.2  C/ % V72=6fg`N+ 2\ 323 i3b 5 a<3"|6  h9,j<Cz5ltk0 4z%  XT.  *JP > i0 h O6 <7u\ . RyL`%-]!@?1 nZ ae/xcE8:7 *${8YĈM ^^6< N +rI*[u \C  1u377 { wjopdJdJm[yIUvv0N'"Ofsszj7qkqqFbB_ff|xMM""lp"5/~P_*uZzA큤A큤A큤A큤A큤A큤큤AA큤AA큤AA큤AAA큤A큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AAA큤AA큤A큤AAA큤A큤AA큤AA큤AA큤AAA큤AA큤A큤AA큤AAA큤A큤AAA큤A큤AA큤AA큤AA큤AAA큤A큤AA큤AAA큤AA큤A큤AAA큤A큤A큤큤A큤A큤A큤AAAA큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤AA큤AA큤AA큤AA큤A큤A큤A큤큤큤큤큤큤큤큤A큤ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg37ab54c6c5c4c530a855647cf2ac05c3b4c03bf16b21eec913b5ea1b95ce59f54094381de7517b81b25e6210a1a47da1400c03bbc8d74b75c4cc266016578a63e255b88f78d2572ad30cbd8e75bf06c27f5673f30f80a5d0b51339d366e214fff198b5eae17f2fdffde166cdce8898d4ce3808b2009be5819b62eaff1b7dbc204714df0bcef91f62fb75922f7333b18f06ead901df33d79e2408566ceb0107bbb2e6790a96f953feb6807fbb1de0c3194a3e2dac5f652bdd9d543760e10fe6a20ca4cfa52a82a6935c60651db6c5dff1e55ce605b73884372bc5fabd10d865d8453fd0427af8b7ca2d92dec42afe666860900f57001f51451900a9e16186530bd3c2c22fa2be918b8d0684550facdd2aa01e5e229d3ee821e122973a3f0c10958924a704546b01505a15666ab54ed52e24ec4dc6726626c416b77600798eba28c7f66e4f4a0030e93f98c4069f5a51089050476d4241117a07f02f41609163a6c1df69b3109930d2f8babc266b0f8324ff8cb03b03938e40c58e498496ba08ac4266c82309bc7fef1e18308bfe6de4d27c115202863f83bccf8c08c0edd5a7727d254e4e8c3cc73b0ce5b3c12c40a7a4f638dc529c8e50f0ebfff970641359e54157867869ccf78d4c79a21795f497d1932dd4e7ff768eb8265fd82591b3b04d05a1e2c2d2b2e7da31147724286385648edf44380d502e030a9d4e04dd7a78dc9227d644755e0542ea6336b932269c599095159e2e74d45e1ac55ee40f34034dc8fa02a70e6a52ad20863733b222b98ef438eff851e0385e5452d2e0fc0d9a8b85abeaf2238edd6671cf3f2c12fd95567eab468cbf060ca848672c0318e98c3885a9a8a1e792d90786bd4cf28f44b1bb16f494b17dfc84a3536f339acf029b59db58f5a63e809cc74f00d6d44521985584d3c6f590a0ab3062467d07fbd3c1399eb44af03990525ceeab6176703d869cf27e30317d34e1cd1e3a7a34af87c0216bc148c03c28624d8d032a7387e56899bd18b202b6290b491e9ded6bf4cd5eeaa6e579bd1b9e88e3aaf78aadf726e84aa6e4c227183625ccd5d2b0b93a8c73bce424309957a7be37590597f319a17dd0aa520e4fbbbeee1ea919efd207bc62f399e0639966cb649ebe15c95e376c43ee400b32f50c3d21b71fb381cca6b6d801f6f511098cbf10455d2b47882f8fe5ff2c094bdfb7f0f17fe8f7ab04c92c753d17600c386d846a5372eb034b65d198836f7afe45efd6a036813ae4770f15191fbc292290aa876d4d0d2c276ff9c5f4fff2f28c3dce21506247dac0c385077b1bcb199fec05e479141b8f0ee6727593eb30742b18da438e1c3c828c0e9ef1b1800735e1c2a59328f31941a6c1bdb5f13ab040d4cc3f4f859972895608b23e29e9ebcb58108a4bc8dba1a9ac471d94fe924561e5ba4ad5df66607941f4b64365921450369cf377de2b032b6fbd38faaa3423b420f3b1fda3e801cef406032e34e86471d926e4f509429f91061b0c8daaa90e4adbe15f48c44d74759a0482e4f16bed08ce3cf5edf95733e0afc0911eeb891e7794d4902239335b381e744abbfce004de45ea0ee17bc0a9eb3b1222a7d6f4f5dcac8b750d47c8db627fdc136689b7f3b3ce9c29a4fdb0ce653128149879bd981af26be14230e99d9fb686eee9bd3e768dec99c99c7aff8152770b169233ab60fdc0c1fa8f3b43270b5fdc3e6315c3dbe5b1e2d96c822f7612f6c678d54f2ef6a18e6af8a9d1d8a439482fa6141280c82622eba00ef347d1c6e2a6e160b6424df7555fe8b2e7740657c87cff076b0e235abff6a8b382e86b606c2e5a55c1f0d2d5930c46c5c9000beb83d2a8a5014f8314220f2e91a01ab577d43e4b68a6726934193d11e5740a42ede9002ca18d8b481df0eb9d70cf9c6bff7ccfebcfca6031a415c98cbe499f7bfa40fe521088600472d0e7b4bae376b02670859fad14d5841d184fa74f1e839d3c6a88c729d6101c4534d0ff6282a3f4cc662be844d222b290dab7d62c2fcca4595e09ac447dcfba132760eaf899c755af413d67f8870fbf8d8dc7dfc610a7dd79437be95ef68c3683645e7ed92bf3fdbaa006adbed41e5f460504dfd1731c92a0dc98e768ddcc98e29089b4b9249a375b96d13474d05bc750befcb875690be3684a3f7fe6b7ce957c9f0071d4333ff69eb5bcc58e4eccdcecfdc014579973df7cc6f3bb04fe33bdb9f7db3f3a4fe455792373c6ec531744413fdce083c81f2efe4fc76a3a8633bffaaacc98bb6d5efe1ea7ba6a1d3463451b2e25195dca8693500e8e55b312d80d16673795de5342ce20985e11bda337e234c97209a2fe1bc91f2059cd2a10f5cb88c0fcc2914e2aea4161b7b0673a08593a353a9041e2ea04a233323d3be480c15dc1cfc5a8cd070b82fde15bea8c009f9a8003ea3847958981cfa1db980bb2b5f15e2bf598ea89ae9b9bac567108430f6575862f8991b83e07fee3c6faa6638d3f585f28621555fdf9f4df93170994d98560a0b15bb42a0acfb64ac058c25512b392c29ee671d599a2e74bd1e0cdc84be9eb0ae274ccebcdcbebe7b2b5e7d4456f5a5280ee337491074a746dba640c69a553b2b474ca99109c91d8cbd0f68deda33a28ebd447432034bf202b9be288909002e0f440ae83cc75e82b0d2a04c9660dfbfe3f4a4fdd8f4cc3f06810edc10746ede9832b119e838e48baef605cfc91bbe40e509f003d2035eef928d620eec33bea1dfe0cffaa6cc19c9ae5ac90252e8ef869bd760214ca0d922d5e373617306cd929ec578e731be8587cc5a00035ee9a9ee334342c5cca53dae9c2faed4c2d1dd55dd821919207e5e94786c6566dc080cfbfb2e5e44d046541641c8ea4ffec118cc61937729274f18f023e020d8e706411b7400c1d71c269103e62bdf239a0f37d8f859107fe52a88aa95fdc9e4ffbdfc689f8ee26d20df22d930ef2804e072bb6ebead206ca5f82bc1db9c79a4e9e4b8983c1100c402c9ea8e4b2f8ac8b532f8014387805e80ebf290df9205ac44dd314264fbc1c37a84699c7dbcf86ddeccd6ea3d76bc3cb5a2b0bfb8082297961fb681a1aa815a6a5d47621b4cc918e13c6424124da8d3cfa6c6a782a052e95912c594f34bb9f98b4c530dc9adcff2ad15a4955cfa80184266bc1884ac2f24e2f03715dc3b1033f67b1de512c659a2c6023c564f0b545bc322c104090a65f48eafbecb974c6b0851e47a4302e5db8c553538058697c1fdb285ae7eecf9243de2cbd2559516c65d84f5e94fafa1ab6887fd618fe1ffc1aacdb644395bc4bdc6e63cd127777daad723b3e70a450e08d6a47a55ea3e9ce1adb238a3b5f3ea4b78727672fdaaf57fea7bfef2e7cda04f0732783f794ee8984bea19a57fc48df2be771347d86c4c464139bd7b1f265afdd5a79e4b5109039e1675f86b01e03d8636d20bc6d1a20698025589d47b4639b98f1d86a19f6cfb4c804f713798849098525ccacb4d0e150f22000231bfdb03e19def776afaf3112d2d446af258a3a420e9e94f8e1968dc760e1d0e95875d4edd17579ae9defc1bbca4be4d8d4b5d56c3e2da9b23ab27b798c8d153aa4e3d0556cb1157f12b469ee706b2f3777e0b624d17eb361f40c318d341355ec112a0eee3d07b307bd7cf0fcb095ee74f0cbf6b3d6fc0493bded625a2e2c2e26572ca81198d5bdfe6f09be95094b6e73d4f34ee2ca7cf6bbf25e528a2c36051479cb50fb91069d178deb83c51e5a7d8a20f951de8a0eea61094f892c46df0706c26563392b3f6f33b74864f5b6597dfb0fb28fe8fa50e5548727df476b8e388e0517fe6e06961b53de47178e9942d18e93f289ccc3ef0c41469519a521d2d0ff3fb0fa8d4a2f92462c1957059218009f07aaf3071dad9ea0dfead27b23a81fb591a600bf5d95b76b1a6b88cd90f6e4b563a9a6860648031f473cac9c3d13e3272c9624a36dd7af2c57059e9d325a20e12d5c3b5144f99db736ac8a0b128c83a2ff0ffec1675f977d12312018e6592c8dc751d62d46eaab43e39e0e6d404a2bd98c4fbc66fa0f019046a23597740f7df11c0127cc324ca7602be002c5a19399a01cb34bf2fc34acbf42920a90aea37580e681c6e6a7bc7a485d16414900c615993ec503d32957f0cbd62bec63610d702a3f9f96507d06ce475b51e511145feb0afdb2bf522ded6af1b2c97e563e080217f5fdd4e021bd6580fa3d01730b96dc866740abff7a7c1e48b1259f5cd768c682334744318cdee07d752436418a9ce904a7fa018012c21547479b9a3a7b24b07a83b5ceddc93cf3cd67ff5f1476e7da2151a953a61b53c22cd1eed5c9f807c84e968d0016f9a18c2ec41cd8392c46ce1fb8730c0794673e1d14aaa0c0aaad05e0f88cebbfbdb5402b3b93072792e927a07d98c4f993208edf599cef064d7dbce5f18ba2c167381b56cd28d7537ca7a3c36fab7db863f822f09fec2771ba6774321a0903c7674a24e615610cbb7a4ec068fc94e00e7f910ab07f76c755f899eac70adcd771c506e641373ed255b73e2476b1e1b89b86ee8d798cfe2bfb587d9759c999fe7fca6936e75fd9b57dd79f77adc18cbb7a2f374ea3a07c19b624c3f723a7bfe8572a5f7b0b20270b6b17d119403f2e4011564c25cbbd062f23a10f05a51be7beb8398479494a05758cbd3199f85c45a076d44b9365ce3b4ce70b0d9a60e655b4143dd71d1a958f13d71486393415a035fbbc684e1f2aa26c613bbc8e2eee71744869093c8c729d88717e98b4a1e7ed524f3ba219962548caac43dc8ccb34eceeb544f4f63a045b4ad0294f9681957e91b7552e476b0b7a203a60c9da1a4179dcab1ec51ced5387cddace7b24621a6f5ba01b6871571d5cadf1a095d23ac5d807b55a5fd16c966ea121d8781985c8cc6ae3825d3cfbdfe09ec197e8d3b92d3b38a19c413bc49fa63f0e3caa4fa3be71031dab1ea67df2c1b56bae9c7232260fedca84c3de182f95b300924666471a026869a51a29cab7a466b98c070d81291a93931baa6430271785c2d1ea2776bdb5e07a6a99b438bcded4dfe3e44221889078d2f5094c683738de61c7b33e6012dbe25ddf57142f8d08cf37a2b2d1d0f23b17ec07f54156bd6ca883ba320799d086c8ee22d2168a3b568085003698332fb20a0c19596598b71cf726ed5b38758655733574b5f1cb556f9d77777c6a5d05de53b480beb9e6d554c69bbd789be5601afd56d2f9e3fd8c61982c7f1881f8181248b07884e1139aba7ad2b09cc790e7aaad21b370097dbf1e4d657e1107c131db0d4339cc66e6bbedbb7e3baf322899c8dbeff902dcff77ea3904d7b00772e888749f0b179fbd1eecfaed66e5398bc490cf820e5c7e5aa110c56c0f68654133717972d2104d99fddb31c2423ee39628c7e1621987f479d767fbe16cf880676de3fc83a6bdda75e9fc20e25e15a4a5674392bdaae63e1fcac136f51f24d5750f8f25fcffaa6d4a5169889da1bb07f685a970aabe404c68b585ca7988a9f6e907e11792f04176f9bd8d0fc0caf1e96afd4d2dfa04601d30c7b4f6f3519142d0f2bead0736b3d6be60accca44857390321b5b8bd343af5b48ba3ca397cbf3e36712eb3e1e8a9e473d9dea2fe12d0de35d5c66d6ea4bd52bddee1479cbf01f85d52d8e0286574c74f7af4d75b3714a93dadfdf5d6b32acabba515205bd6389cf1a4023db248f399c5727da55844a1f2593dbc4d14f5bb514826c55303057eaabc189b8c0782f11078a81aac38b483008c292ca296694def1c1b71af205ca86f1166c97373e9e58cc7bb231fe60472df0608c06b7cc6a9f4193844def2e50d56586723bc9a49687ac9f8e85df619cc9f157aced4ddda84f831ad646db4c7c93a0260d8c007ff03b6ea63e8c36b6578a5701c413b34a3978e6ff69c87e29bdf0b4fe75c4c2c2583285d482486c1387a130ee4cefcc3f0f21ead198b8d47952f371e8389a0e634e83d5a5953ba1a203386fe5831048c11bc72f67a55f70d3caba1dfbfc013e4764f600c64428d197d48926d18c9e563982a0b4410f98048890211dc816a5a04003a2debf23de05d07907432b30ccf4b905aaabbf513e55fc0fca39ed2a6fdb93be6a3623693e6e2f400f606524aaeb8fdd1ae59fcb82c36b5e5319fff08423fe3728f2bc6b087f92ee99fa87648d2ddc82797a200840331e3688185a4b7d350dd42a22027b4e5c8ea7b1e5cd700ce5aa447803abc23a01d0b19f76792208ad9b6b19216f1fb73088617083eba5fdc59c78b2632f56e33a9cf78accc749dd6e2e1b3d416f0cc1c7d45b1faed7a8036a88ce60e5c6739ee904de6098434b52677109e40b9f787d8b5cb79b48c7c3dd5f0b194779b761b6917379d501f73351d3ea10d41f625ae5a9d6b8d6766e0f575d725fa83d222e1a54c1d0ffa5a4980868532547cdc89821e158976ec375abef370fb80d4f8f4f467cbb64c9cbabf5654745ef059b14ce03b1375e51d70f64ab144db78b1cb21cf88dc8f3b52ae6664222336c853cd1b95d3090f4904daffbc772591c45c65bc359f3173f24bdab5b1607580361280e5bc252730af01db409166d8c53b7a6bf20a2f3c50798089bdaf2dd99f82d441fd32ec00cc893899be8751a49d42e4a4b5223b47f34c371fe70daaeac4cfe37ffd41a1eb386f65384434dcbf5f4c607131d9c1834d291af3ddc6dc185c5f0239910084445b4ad5d9262c1a38ec556d7962a62574ac754a270c3666a4aa71f75fc4d5aa4bec69a763865f42f35ae6cbbfcee55024e2df3882e70e1e18d3dc91e4e775808281f83f954eef44d6f073f0c23e1065509790f3cdb2999d426c17cf308a6186c40805d5fd3507e6278d6f3d4ffa8be27f0902f231bf25b0e6f76e164c1ba73b0f29b8fd778daa58d11edabf6f403add539aba83a5d69c4e76ceeb0a51f482c9db1264ed20d7d7ceea2a4d51e16a5942e000c820370f27aee65bec602361d517466f40c0537c5d72c3e4a9f8f871674752a8fc494d299f37a3282716e0f095fb42e09af30b26c3d1b79ae8a509bf19264df6cd4b86669a17a7472d30ad9f16ef5b2fbebcdd48167419859af07bbdbbb0c9bfb1a52b04c0882b97c7fb9fb58deb0123ab015c912b6711184d2cb3924588110b1176690262e4b1b5d34067b87a62dafe0c0142588a1e2155f074a52d4b6cc08747af794711243c58fd015a2caa0a89e94e2823785907455df8d4ffc5b425c40d7bfe6920dabb11c578f46a75f0e4979a337979965802cc0f054eb976259a93881a5575b54f4da96a9ef99f84cd03108356523bcda48447d975e7b726597365b9e2aea950dfc28e0cd30bc54c63aa4f11bee373dc617bdcd6a82d5e996059eb05371b5586984e07acb787fc1f71957719913973268f0817698917f8fa146ac43fa732042b8a1f719c3c16d06c7d96142c35fd6a9ad85ff679a25d41a1aca5244f552c9150ed99095d56a3ef60a3adce0fa9ec92c4f744cfc0ec350db74229a79bbda523b9eb02fbaaca1064ca7cfdc0ad750e2aee3900599a2c364b0add07f220aa4d69adcc453385447f4eb21776ff429f05f834077ec35fb9e7f7775822ee4c7a256992d2ee3cc1ae48b9ced43aa6c831ed109ea97e5008d6fc5563a9d2bf37c352c6eb606d49894236728040cac539bb62e4129009b6dae9bfd68be7b2ed13d596e360ed07afab12a29850e53e68084db5b889e94b4ffab69d1986c85fde8708527607262efe93324d3df35aef35204841cd2035d735134b8d78ecf1b988d6b91bcdb7d200104c7f7fc1b31d67e0560c87b96fea0c2a2754f3aebda33982b5d9cddcb18dfc2bfe7f982905d51a31d5288998b7065ee2ca4b63d95b93bff3a7fa8376be9b5d3e65d0e60acd86b869afa2353daaf8bdbd60c2c6aed17b5ca1d260d945e2f5360c0259b74d77dcf3863ab93d937afa33b664f59c00a918a309d03b73cc2ce88aa9d84747961345224484c384cf572398a8844094ec4fb74a10397fdc6e3fdb15f53a20c78579931c211a2dca309d757c255f997cc39ecdb19e448c910c708a840879dea3df48683e078a1a9063a881ac47837b640a17c6d21c833cf0f415a813d531f1639dd60adb8e22e1cd31e308fdf2698ec4b00c84654118d07197c69556e2591601f86a7cf15c25c8c40a621fcc9010b79e024af539c635bd9df82aee040879ce1f34b4e9156131b3dc43c9e974244fdf39d1652f1fbd7535b2642d2d8047d6da7d840f5c0d538b7e9fd6620533c5ab4120220c84b3b9f798f6f9e17a3a972072de11c4d340a421be123f0cc24b296e8abca0f9c36d98360c451db63e68dffaad6d8da8816b56e31754a1428277f5db6290e7da921d790e5d640b9d4872ea766777b6f4530459c43b089b9c28960f1ca057afd76a969c7985f946706645cb851433c141d63b93191cd66fdb8d01388591c6df377ebd648d179297524a971b05a0ced418f157443db4766166299c8de9b296b75689b901d8309330ebeda59db216078399af3721a57064ac4f045a8ed390e3ef4beaf111515f6f7915d3b1b953af1eca91c6f5f0161bb8ca5d98f593f3ff77df01579fc2105f3a987c8fce1a4ba2a3f77c392fab2235f2370af34ae1594093edf2c223982e025504ae558bca6950b5b68cc8ac9d8db2abd403137e9bcb9b0f446ab2bf23eb3822e0e36fd62b36fabb12ca6baece959e5a8dd7f67df183045e77b6745d003cc6286cce2058a3abbd947f91db50ab78e5798299ef9aadb6540e733dfd1a4587466c566fa87c8491233ef21ab5df74bccaedc4ade4edf823e7a8ea307ce7036dd494bd1a749a55f76600a296f58bbfc095f695140b4d745431deb1a92a19b088e7e5539cf08fe025e64145863e592bae86fcc2c32c6615b6e863e1118823a373b057c7fbf79e33db871f7b0bdfbd755134dfc64a8421766f7a615140b4492794e7b73baead04eff66205d909a52993ae989707e4a94900b8cc681f59e81d6dc63611a1798a92ffbc501ab8434cc453582e818ad7c8c1df80b2f41887b510bfcd1fa90d494fcca02140f538ec3731325e389752130fe951c1e017854d961f47a7e7ccd836f601b04629fbe1410b3d0dbce654f37268ab2fc2ef350dd13108b63ccd785d2664771302f34e18e94601467b5d950844316ae6e61ad0b88c00fdc051589b01acd128316d40997393447275a65fdf48bbcead7186f5b27e18d418c98753504831f8632aa2b4a6c8981045cfb3b74c3a3cbc9d2c82d0e814db42501a7792e1aa6ce1d0e067fcb638cbb2ee839ecc9ec2f64b26eb2687b14127e833bce887bcec233427d15fea420f55af7d95e16f3ad883fdc791ec62ae1025cdc3196170f1392c48706ec841751b5043920c022bd2cca64b1665b643629d6fbe2b05ac9a4d7ae13b23adf673b85c96d78d9171de35ff8a99450571ad7f0fcecd9f9f9bfd476319fed2ae4935d845cc50a046a50ced70df7d0d6c955c790791861433f911c1b17df4b1e8ed0cd2f247d03718d955ebb2e42abc3990ef309ec7870ded0bae1c45d86f3e9c3b6f75071bf28330a91aa4272b842100695fc0279b2ff9ed183329efc41b1a39f988d12057b82e928b569c1217ba38e86a50c8e68b4bd897c91c05be8dd60195cc97d95aa22f9491e97d616ca035a7ad687f8602a0f7c716c3ae4902f7ace8c5a225c73de6fd1142725a323065378808820036151aaf96cb9bf5d535f3f21f0e98db57c0f59af96e1fd3966e772a32aa7488bc6b619eb4dd4b71876ae1687237a40a1c1f9a4d359cc262d8fe5157987deb1e7ce8d3e5ee539c96978dc56545037c2b114c9fe56de77cd68638cb0756ba24d2ecbe5f2bacf2e8a69be4e4c222ca9f29417a426f94fc6193259d22c4319683e38b7a79ff9f14331054eba738334497897a66f733e0281b7da8008e270aca0deb888fa1a1db08b8991324adfb1be2230bcaac15c49a6b8858ce22170dcf5b2770585fe22343b300cc1552f64cca777d221cae568f8da0408e0b9a874b60fc53765a46e45d0176513b84dd3cfa1966b1b0ec900c2b23bfba57529b55e79043881d6d69a45d7fdea3622c3e8f18fe84474fffa5dcd041a942e8152ecb94c50ac76096771e8906f9c38e86b3fcbc315bb953e6595bea318510fa11be880f32a0213f2300b5abda2f32f5cdae76f1e169c1e4d18b0654740cf8f50571df3a3797a15673c6cd0f3ad03c2399f0100a3a25e4ede81078148b7c5c93201c21a230a7c1fab68e667abfaf29c4621b1477592c4fdb5bb97b2e7f18ef09c99acf903c4ba6b458460025e62333dab0b57e24dc66fc22aac76cfd4f20be9d859f998373686b3b00e358337f2ba66abc3dc6844d47d3d56add17f6519631ed467653bad6cc90e6fc0382476d510511667d4c259408aa99f0bb7429e82d65641d7c32f7d23f83b5c74d39653104a089af20d0c0071d16953ee94329da186bfe8c1b60c869eea6e8403926b97d499daa90e1c961cfcdeb6988c47d767073a17d466462ad707c559464bc17a96526d22704a7d4e5c666dece43864cfd891e15101a22e4293dbb430a74bc5889c57578b9079b666ead4e6a65bcf028f5679b1ef513823e984abba3eaa917e04cba2eb7f60c09ab7a3b0028392fecddda4d0221cbad6289bd2479d8042bbe0070ad16c1e3477401b9c5f977cd5887719e1b599dca4bfc29d4e54b66636456c68ff56a2fa6c9f40ff5075f7ecd40d748fbdb959a2e779814cf08982627a0a813f0f8b9d4e699a617753fa4dd1c036b4be19bf688ae6a7a670446322104a23470e159d3fbff498683870a8639ec77c9f8cbfcfc97d61c8189da43a2d2f5a4d1343d8f5a55aeea65d70439ea706e184fec8bb0162ff71830ccff6d665ec8e8ba19263b00c4f77abf13e89b0eac0ab7a2ccc7a3b2111422ea19e6a1e7dc2b3c60001796da1c8f802caa9f68f1715ae38e4890755e6950cdbc9aad6188e566cfbc10bcafac0f089e0f2e927b91735777b5e33b7bb2bb533bb196b86a0f876c6ce4f7f71e57e661f150d61716edddd6e89b437487b97d867e850b589ca7cf84c79db9a3e2169b76a9e16bd2b5e1a293e8b3e96f75b4ffeba56870a2e07546622dac88f4453309b86733cac7fc435c82535482d65186fdba5683afad7da428229e867e55dc74ad33b3246389068c269cd211015153c4457737a77b9a52f455896a8368d6be9f23d2fba9f917847ac0de03fba6ebb295a343f9743c2a110d03f17fa7201e22df8b0cc6ce340c6d38c5d818913c8bdd99c550a4cd8febf67d1f80f980bf8af0e2eebe38504ae70ccfa535d1bc5537dae8a8b289bffe7f4b74db1189ba1f8ddff7f6e9c36c3bef1aee26aefc653851695705f01fbe829d9ef6e3d1c2b01f3d540e9d2fb69e4e43dbb8ba6ee59e31551448a6853ed3a3c36dec7aafef01edf77a2dc402f9a0d4263a2e8488bc5c2a48d875c0e3de6d93752d41e705aafde3479bf480b38299b456fae3b46460f850e63bd0f2a448fb54abb1b7e0351ce13f98be4b3287686a6e5cffcbd6e46b38d071704489eb35c4a87d3c56d8419da5e62ea06c6398c8cf65378666e5d0e55c4ffab7d9e2c0a7deac51480a5c6e436e695b1ff36ef562472f154db6d1ff1a35f7814b23450a07e3863047fb1f3a377626ef1748a811fae4188e9677ebc3549c30c59ca600760c9a6efad0e9439a34dd25922812a2bf232b99a678896fcfa6955cbe7b05b372f048e85f9c155e491fd84ec7fb87498f32ec0770ac59a91693ac37877f313cf35d2df4fee404e52093c49597917fcea5b6702ecb06e541f718bfaf402bb41fa1f6063d68ba505196e5259af001009c1ceb9397c163cde71b0c27d9b5c9b8edf194aba3cffe7b5d36c05abcf81769d54b4e708985808d78177caa82661e301500ef9da0da6d674a22f0f070f6d5407cd87355eedbaeb56410752b2894421ca30fa8cd3e3c486769f6a028401f65fc962dd0aa41a11fcb5295278bf6678df5a5951de88679e655faf12c0fb1e9bdd2a6651ad72de2b916def40f37cfa02fe528d430f9392552e87699af277f8bc2e71a9744397178c5bdfe39b17223dc6a4f26f7c08b71d7ea44157250281b63bf43d621884e2f4cd9c6cfbe2c4d1a9f28a9065a50bb22b72a46fca93b6553b9fb2bb8692b757d59c7ccb3b2e3c792ce7e13fdeedb7bdef39d98b6e52a716b22562fe35d0d9f5503a76260e779838a07344bbcfad3c7602a65fd0f66cb62d101eb8a0ccad9393ed0b57676ca707cf61341cfe5a84aedd7ea0893f0c6f4844bc4b6eb58d1d7b77470370264794f135720e29b35d56cb6f47dc97240948e8cbafab92ba98d25e34ada74a9c88ba1655c1f35ef399048b4946ac120cc5bc9c0cffe9b71e01f25b7ebefe15eeed3affd352d5117913c078ec635e34d00a4e82347b07a6b07e79774e8aeec1be775b2e0b2946365a92bf62e1564a4e51c88e4d4cc4edd4c3a553a1689ad3d75e6f6042e1f2435ce467e7af14e88701f8c965224dbadd49d2ddd9e83d70a5b89fb9493ed0a0ea6352311e5d8458c03fd5ab2f05c4de6306357ca45539ebdf72f9e084144be09b6c825c442954808b9bb51fb027e6bf6d50c7e5e41fcab3ad5c649f0783a35dd32bb43bb5aad40345901dbbd9fc5e0656bd8871174016de2e53922bc361e1f9635d21a0a15f3b8aa7d328b6f311cb8164fc011e96138472cf92bf25fea1b3971e39be29a272a019780bafdf4c97001371734432de94995ca8eff6889d78cb7ba73432d7e8756424d933349e20c58a0246358db40bce69afd7ede7cf3820faad903f68bd7835a236a942b3e9a14342feaf9b44620c0fa89040d44c4fe1d7162803b56f55988196c26e73222d94ec9c68f37bea751158eae770949e6eea92c2acc389e8851c314d039a9114a0c6f003e57b395259b55ba7255694302c2689bd7fd1f72c39d01c3c01d66496db18e3a57d011e126fcffefeef001d01e14cbd7dec1891a19c5600335676eaa3c3d9982dce3ce87354283f36d450d6bae0eb0d5b106493eaaac1a3a8d488e40a4048e8f98ab7afc6afc50a920a7a898f5ea893f8cac2f18e5d40523f20f2d7635cf101951b951c371b83ae4218b85975aed695e342deb043ecafd7e30f6e3e0ab2eccc00af930e839d64c75835f4368bd0dfdb63c55bfbf7be0824227ad06e440831a209bc58bdf9d8dac0c27e02aebc1dce369e449977886e04b3b9cd66fb57ffcf4457240ac75698fcfee80c7ac5d50c4a08ed333e57a934a34bdf3b53a2e967094a332455aeb2c8eec737893d797eca581b7e52ede76d29e8c33eda7d883d448e166a57e3c45bfd1c0aa5b991670333dfb2756e154af37d802aa73429ccdf58df998f46996d8bdb8704fdf3fbd64f95f3c2c51c961dceb0592cf4fbc872250f7c34aa0dd92c48a3bc4da72158ee16584d9a3e1a535be0cb67ce56ef7179351892716bf90813f0fcab1bfbae6e0a0ff938616f19a2c0acdffa9b420e2b7e2b24adee14a0fbe912adf0136d194ffe9976b774908fc5f3fa296054d1a94bee8761f0e15fc0bc1aee7d401b5a523d4d81efcb3d8e409f92905602934143fd87e7a530bf863f80b83c883f7403828bd7232805bfeeb775569da6fbb1e883920b1d30c2997abdd413a92702fd3cae26d4578f6eb89fac235bff4da5a0e279cd2b62f6b117ebd7f06b41fb4a37cc37448ddb0a3eb9192fdad3fe6840a579e350fbafd2e379b6115eb054677c5c823df24d35f603432bdd60aaaa28db95c3de911d169624d67b6e0f0b2d373d74a5650ecd2f2b9718ed943e06cf770b3b9bfcca9dc4a723f992149b96f4b3672ce349090d03768e59a6736500b2fb4de97d57b3f82ae0908b3dd39658033ac502dbe1e3c824ba770e2ab50c3bc9a3472017cf59826e584c0bfa86def3458127059a73f5b3022cdaa7dab8aa834c7aa795cdafc178830172a7591ab09b7cf5e5fb7752d3d4db63794f0900646357173b256ce6e582221f940fe6a41c59a5e4bbb10809baf55e26351c6cdb95d5f6ffeb81fb902c5301250453561ffad7d8641438fa12643cc61ef5b1f5ba87efa49ef2129010ead50490df9bfed8c3c823b3f0b3f65d8d077b266fad34dee53e6ab2f114616df5a13d5d2082621fa0d6364c9d7fde6dd50f80ee1fa91157cd3ac7dfd49149f9e176d51d0e0564c5cfcf1a6da77fbdf13b02f8adeb492bd9da48ad457e33ae1f9f09c1acd45d0d66e0407e8a395cad10b01e21f397c017d6ad9b522e086f229d8dc632ecc2ab3b2153a3cb8a383418a363674c321bc1bce65835e0ad75f8239bdf99b305336f0d8cb8781e49172f043b68e161c21a6dd1c2051010f3837e56fe6a9749c4862a4dc97a12ccdb3256a9f2b873644d6936481c55484e39cfec45a37d9f24d8b5924a26f0115a133075501532cab670b1ea2f048d167f0da035bf6161a85c1d875392dc59676cf43735f425637c469ff723e3d9b809d7bafa722f5c532160adadd8e25c74f73a906532c23215408ee9589eda8c3060efa7eadc83c170882fcd4687c35fcd6b613559c6eec7444b015b7e7a7a4d75383e9c2f0545c5a7f2206fe20039a39863eec262845dac121913576f80c0d8667c18de5535af5e667472af754d61f408698490fb772fbd6cd89232960a5e8705d0c57ef2e2f636dcace688e2930af4a7dcd52ff8464fcba29c4ee5d0202ccf89572af643d6ddbd8fb66138af5066acfe185081f410e1a994a8c9fefaa65943c876978ba4772af7eae2cd5c35d16d06609a8125da7695014c8385fe5a3935ff503e27e3de8cbc925f6a27e4a2119deb43a37a8f32aafd3d4de03c524490b39d749ffee32b6e3aaa6e45cc81cb0d46c2b3ba8749435416128049d645600748b879712aea13853407bee6ae9881a962357cbe3d5f7e0102bf542e16014ba5f682c365cf1eb146817211177a749dd7116448c4231d6fd739aa985094962a013f98c66ac49a4cd3544c6b8eceba31eaa46076e6eb147ccaff41ac9f6974dad93ca954c3e8ff9f1550351dc5d0feb0792a242339589ac29c56f9730d6128b1c68ffe7867503345ce870fd9d5bf4ba1df85c065bf07588264e55406a58d34b6981278b9b4edfeda464a1896408bcffc84dd0054c48e92d638bb5ca22db07b8f21581d8810ff4c077865ed5602d2ebb754969a15a330c426ef1d914a4be50d14e8b0f34aeeebdbf0a436150a464a71516835281e7439c62527e0f73d46d88ac6c3421041e5048d346791e08222b966f465cb05c4fc47227750b12eca3ccd675d140078440cca7370f8fddad94e441195f98d9280d5270459c0b5cf2762e7ac75101645c8b0c3d59c951f8770d4ea7a304c4469ab55790d0465f6813557471b7baac18b3a90d3b4a77cef22b81822a478cac826d605c466879eccf9f8359cbc6cb7abe4028938bd05046b540947320a70b995486d0c7bbb0b0c0766c3f3af8a0e00397a10cff6ccfd06053fc1cf3e5c361eaf745a4a827fb8fc12a01d1a28cbe32675051de0ce8e1035ebfb9f3d4110c7676815a77d574dec05e50af819f5ef48e1da64b27cffb2742079894ae5d877427e7242a64b1ab2bdf43577e328b08b2d301d5a1cb8d1c9c684732042b91a12052ad4b3dd250278bd91763dd08aa58ca65305a185b857219630b55f4f0af64d132612f86cdc2d01d6a6539abac0d271e4bebfa6c827ecc4e4336071480ff34759fcf5d74f3b3c7a8a9383e3f1cc8b0fcc0b75ee73f3de664146ec3636192c2fed8b1e75630eadc0bc0b4d573311e7eaf6f4cea871c8b1c1b4221d63505d210ac9bbc1008dea74b0526ee3ca3e9baf161db01a447c94e3aa746031b2e7f25ea0f3f7fd1e50a1dc9b0369893e93aae062a83a94c00a57a8cb6eec277920a24b81dfa85849a7b5755c67dfdf2f3cefbd8b0bf2a10019a7018f7d89986a42078741f49d5202c8b95bb60bede670bb8e42b98209f72118b82b82858919e47df74749e9590297015834ba97229c6a91203e108a38faa87f1a25acc710b23c9d989f5d0d08a1138a7b3e93a2c1627ca4f88646e846652da06160da49dbf8da427f84b00cae7aafaa68624179aaa65985745e71c3b47e57a7e9c21332a28e5300bc04321c467020efc00f13848b57c5100b6d4943d5dd213e8083bf4e5445dcc16b9f6ad2575f82a490e7d25c41fb91161fd370deaa038452686bfd9dad54658c10397a5c1b6643dc0834745b393bb61f9eb4c05397bc034978dbb67311c1cfa607d2f92e29a5af84613ec292408a1370ac946dcddd826e2966389ff476262b73c451119ae9cb31cccc867c0c6cd5071ccbd45924deb863e820d0022c49c3b01cde81260def5de1d4c9a130104990fff98dab42b9d001ad167e1f8594850421dd0bc495005c5d1d88fef5da8bf7a705101bd48dedc1afb70dcc90bd36449362e5015361d32bfc34cf083e6c18cffd8a019b915ffddbdb1d095d57361387831f0be330806c87812f52e4ff0dd78717b8859833151f75e1d2f1ca6bc16b02da3df970cd7e538e7f41ea6faa0284c1540c1a2dce11d3dd2f4ca35b894d6c32ed4fd104094e60f6aabbfb48b83e37e03cb56f7bd5651d94c402a0286f52db6fe87ace230317992ea78a7349da3ac193034d17c6e162662c2a1604d0132f9715c8006f7c40f1ae41cd48b1bc364db12767a3407fc8ec930691475d9f8df79f993a57da7733131e60ebad3b8e2186ea65e88cf7a8b4440bbdcbd37a4fa68c0efa14e720090f22d501a7a70fec6b55de7304babe851e22db47e8c32ab44731b9c0c9f074298743d08140197dd3b305d732be1bbfa8daffa66d567f8c459442283c24c9bec7141b05a0117e2b7d7efd27791042e74d7965bdc6c6b8a23bca4e6f3a7a33a919314fcc4cdb207753dc1e844ce4c42f29a678574d834b5bb52784a9119fe7dacda9e366c06646a4fe8f6f9212e09e2d4e2f2d9f441796326ba2ed43441946323d395d347d045650ae07824d40f2e7d5b8afe205af4344fbf7c9c32aaec7f9bbce40ade69c3730865408c2b5669bf0195a5a0050afd00819f44546655f9101d3aa5525a99788f73c6886959850a3bfdd47199ec6efa07b8ed8d53e5e0f8bb148b638b9ac3a4c482d8beb6da7258cc6bfe9022d95cf25eb7ec6750ca74bf7322b4b23f15b521e403aaac7bfce5be3a2b88430584cda72ca084b7e24fab6c26b4054fcda151d9118f6da0eead05225f56bed7a1e4766503fef6bcf4b1bd266d80f2c53ba841de4ab72d27c28da7b00415a48754f463de58ad593bf497f6e31f0aa8577a4050f1c5e7a91982b911eaa6ff7e00ebb4b875879348102c894d06a48f46a6e373167ea787d9a2a477a87858825d06143b1d552f9813887855a6cad869d1ec5efe06d3b1d9bd315ee95e6f3b8bae4b7181c38c3ccdee1af7caab684960f03562be301ce82d04d1345e617a4d793f8a3004bc57a07755ac1804b12a2818c64802f9ed8592920ed14b9b6b9431eb6a0265c42a150ef05ff1acf72141307e30b460ba12921499a0291dc6decaf9d699904381dfa082869af7afd0e13a93a4d54dae82b27dc1ac4a41c7cfaa0bc1fc26da0f339400ee0850b03934fc91545c65c299415fdd826a911a15600ec126fafdb48d96b2447fcf62041be7cd7237736aed655eb1f5baae8a1a0f9384a77e48d3e9d9863dd5a9a59e8b7ecdeb90d56f2e0aeba3ac74c8e5bf257f0ded9f8799cea0e22b98056641ecb852db6a80fad712012168ceace07515ae7c2a7ade7128de53d3da367f88a0152cc0ea984176c6caa713417d1c2d2a98a30d120642e5716485d68d4dd7e87706d79a0fae85483e7bf56130ca54c8063a18858028a762925dab44772c753ae14f1f25c6d02396dd6c71537a163d48176911d11fd3ddc6fa5b7b12db39ac5f00439080280c60bbcb109cfa33841b56e4c1234daaac766cc0a1ba8c017f136f8ce766d2654bc0534a4f6634ab7c5f5110737db5148301eaf3c11a12396f224b18a1a474cceff1042762933cdf6d2af49cd41dcfbcc19ee57ede4c5877a1428528609c9c7e198f578e3cabbd2ec54d0cef4745c98fe1483223ddef52e6c9f3cdeb909b6988fa0589e9f1f03b2d0cce9ea123eb9800a8c1037a12a843c1167eb5258358c370fac3fd52c966be8f41fb8d4a7da9e25b79818f0ee0b148bc0c75465768cd6072f072ed0371f91922858ca6344ff0cfa5d1700b924c7c8fc0e9573c30c2e0f67b44a540dc619c9acf65fb7893c18afd4b338f7b5b53040dd0bb7d0372d5f8bfbae5c952163fd5c8ed88369025655dc80ee43c91c66f346a70af0567eb3c2722884b423b5d6c6b65f7aeb46b2a252509b8c2e9222bf43e0814b4052c8272a75deec07f5a0cb607d7392a3357f6866dbaf79dce278bad90bd9b6a3c6e9fb58274e03cda31493f93365d82d195ea4781d4f08fa925a69fe522327a5d03d151ebe5e58255298fac994e30539e390ec01eb96862bf33e5b40b4d286559998cdad468d911634cb7bb24a62d8852a3c19d032839902a489a23a1d448aa9625f208887b932c14ad44f6adc7b051c6636baf0ffa6db62d5b7d1610fe335e3f887f0cdf54dc97ee3b0c3480ffeea94e6177f4a11fe8cbc655f33d08220809d1bb66360901a3152dc0802da6354462c3cf99c87a63a3487eceb4781ef800a61cd296321c931b7b0cd6f2d56dbc0c3712b1fc8f6bcb0a9c15138ff827a8aacd410f3fafd17a0a943009c5ac1ddf89eb879a0734dfd9f4de77f897cba037e051c858ba4beec6d79ba07afa0d06541e3554464645a3cd76d2baf1d409435d4f6d1a71b303438bc037ae8387e40156e2a6fb43d764c16b97f91da82e649a813fe88575807527d3b67c51ccce12e9375457c450e9d4f8b7b1a4940a64f7f22f6785278aea3dae73d38f05b3a2dc84a123409e47ac73e51b744d50024963005d524dd3fc9e7559d6982e5a229e5cf6910185c9b0d2a8f9f2b8ee46d4c30a42924d54d873ac81652b97572b45cd8f15c46c0b3ab5abc24f65c7bcc91e7f9d389bb6fa7f25355039d96570c4de2b96a00560631be41ca065e6d8ca5901c14e6385729fa73adfbff89d72190ead2427156f7911e361375774564cb80a2ad3dc4b5bddf145fa26417a996b569368f35a8c2a6e9a323a4b902149434ca4cad1d4a2e80ee12c4f38101f569b2e15515d84cb265c50c2c211313963597744667d4888a7da5d579543be8fad101f7dea95be4b5b2d6d349b61133c648bc76a835d187f523654df71a012207273cc46c8bb016725c87774c15a4002bac23fbb7377eb177585e312b0852be0a30dddfa4a7da3057dbeec1262c0e1f746844544475b6a146e0b6c747fa2843703c9d19a9dc2e4cc0d90f79983b52acc1dbd1a5335fad00f2847b7db1fe681c2889931c7e1ac25b60f7e84b4caec36948d6eade8cdfc12f07a2163dc85ecb8f77b2a2dee3ccbbaf075ee2e9c934c261343130356ac74a773a207816423bca7765c1144a62e91aaf7ffba7d24ec89cf020ce7f8ac8fca4532d1c7bc10e1841b726c1c979c9ef80b808e58122ac9bd20f3b1990ceb0ad21776273ec41e7775efc48a7ef8b1fc10529bf2eedc5c31d4150cb6d2d1b6bfe2f77d7c5be5177507631d1e357465bcf2e4f71a11de5b4ce5d941f90931470194fba8abb7a1888ce4a5b3169717cb3cdabb845db4f5ff16379ddb0b799eb7027e171ff911f54b7cdf88e63f67c1eac164e478342359037b02a3c6cce3e4b2f3fadaa10311191ab7c88d0dc22f11cd60f67dd5826e085459f1eba51b90f6bb9b21da2c57b8a15304f727eac40231e687d448bef77c1b6a71c42cc7ec4803e945b2cc37cd869aabd98ab6c83722cbf6e94fe248a7ecdaa75aeebe3b090ef5628c2e259e0c7cbc61664a3e1f0da60fe7845c042f42e5d92149c39ec9585e8fc161aef628f9b7bd6bd29d38fac136f7ac62fed06513f5a94605a872c823e11afbd3852cdb5da9b6127b68b8e715741f443c31ee75ecce4e1f198c5a7e3ede11a8a427dac2a6963d2be5880c69244ef0d3135e19be34ff0ff8f65514ce2d31e204dffc2501d21dfab973128151c9a839f84dfa08b05a4f8691d18b9be2d5ec111c1f9c9425bc04998765b49ce7f26314550929e639f04105a3d94310578c0d4cad70f1c5ed40c10ec2e503df924af12fd9ac2887da86e7849641ef4c1c71b73b13cbdf80f9230d601203ba23d5be6db6bbad9e1a66236cad1e9cfdfbd4483153034fda673c44bde6073d441fd54a6f1cb9fe9110bee304318f527679fdaad24070c999a3c15fb01108f8252c0ac3d076902058e99f7daf2bb32add6869a2ee3e0e29f623603e73ae8a348e31c1d6b90cc10b3fbf12be7b9d63413d61bd8747814e3feec87f4ee83180249cec97bc54642476a201c1f915cd2ba574b1034e94f0f70c21761e6a2049e3aa5172ca63e5953cd60e80c2b6b4e84d2ebe8b9a90e9c8979820995e67a97f0b443a32e984b0df01887b73787a4790dcc86faf134495ca0a745cbe70f2d7442bddea7da771193d4676171d4f50d470ce549469cd89aec9e85a090516da5c018d97639d73b8746b9cf5006ff4c8b17149ba3a7c4b4050c421669835a368ba3ca518d98e925359ae4698839c7530d2b237af18e1c43587f18c2a5dfb9cf8f3d8166f036af86cc2c4cb56dcd3e9960de8e42748e1289ce1c03978b8ec3025eab0f615a7623c5bff8e0fd82572e7c757433af1d1c456938381602fd0e9268fdea333c994ce66ee960e215bf7b10a4d8c4d64464d7fd42d06325d8c9a9a7fd66f527bf65ed039be6b6edf7adb3898145d8f852bc96ec0f4b2012cd4b60c867a7eb1447886f696e25cc6417909cbbfed641c11e1933f68d2031212d34d331c784cc110532f180182445d02bfeded52d29e6709cfe2fa60f4c349d84a57b8177f18db3b54c1f6eb87f900a9ef707fa4eb32617206280bc1d781bb9ecc5e85007a68ef6b102ef7e83ac509eb796898ba122832f80d4f327824b7c515bd7bcb595636930dd7d57f59119748bdf566cad19b9e9a15f97a82b78194d7ca5d1806e8e08490d0384d0a63b5e92b6701a036880fb09ec343dedb3bd96923e4854c3a806d3295f6f1157f30afaeebb7ed393f75a611e532d38a3723e3b47c44d9a0d939fc86fe6e523b06402a99cad1173c4ef1cd836c1cdeaaf73a9c58b8a677c8f3ae7d6b62a35546b53268d242bcfb2d55861fbebc4a800972a4bd80fa51ae814c64e1c5afd23bd548b479240468bf18f9b851318516a7be992c7bb4a260923ffd413aba9ecc16ea6a5226633288e233bf76c913f3dcc6a04b626e86db1b6659392238c27a135961919bc3792011774240e868f534f1efc7a121ec0c9c310eeff318e2a25ade5fb491d193a0b4ba9070271db8b91da54be4d4d62f5771f8eaff9695d000794b65f7a73a1df2a9264baaddf1474101c6a417526b2fb5f8b8151a30b139dacf8c1fddb21ff82bf7c63b97d8b0d0a056f728fc89fd07897f38f475694b71a619ba3653a12de332fa4a9b5d9955ff28c4157e1dcc104bc20384331b575e9a5d705cbde355b1e75434a30395a3b37f1691661e6a4cd9af4bf178c9972961f0ad600396e5acad3552b971bedb27c1345a0822d455dc53dee36ac22481231977693d13a3ce5fab47fb2aea50538f7da9471cfb21246cf9d2206801945e2d10d59e58766c70f8e218ba8c83e713f700faf574e5bb5793ca3741e87033da92cb7079cee9fa9c1e107930535bf451bd246dba99a05313c50e2844edb10207aa3f691ddc481e0c02851629a8379115f1a5b719f4e9841bc23e251e88c1a4b540e61665970f7d39db3d345c21051bd18f99c8bd2161bc32f33a9d85ada04585f4b89bae6a58b3bea6cb5aca366f152f852c9f77adf48d0e2f94e1b4de2e4c4a92d532f2689e2fe7de2d650830ba8c23939f0e3672268963d2d13132c3fde86b0dcd95f9cbab951fbc22bc661b5852af014a2b67c66e12553d0688237bb9c1614c64c6084d8926b2923f64b7c7b8bb9d301e3163f6ab96294898c2a527b2aa1fb45a6c9f4998ab50d1d39e9c69d142306a56b381f75442ffffede08bd5ee4dd28212707cf60b7d3d6627f893cef9a93d02cabdd00fa1ba3afbe379371de4b05190b1a322ec0e528aad53b41d7c4608e924c1ea425693208beb7a161a7752ea3670f9cfb8e09a4531246153ef34845e95e6e327652034e8929bfa6167a8ef6f216233353564c26bac754102ae8b6b1ea3454a64746f9f1337645d7e9aae5ebf0f28e60f07fa59032254f67b604fb415b29d72b4d5014297e7adfade4a78e721c9b5237aeea707ce993ef6c503e48f3573b4ae642f2fc9f41a194e6b15afb3899445c0e575136f9fe34c3037a317d4d2f2a6e65f8d3a42cf30a71d23b2857364427ee70259fc097002cecdcac844ea97452691974ddedb46b981718a1b6ce9aad7ae385a4c8df6d7d95ed751e883c76ead0413b1602741be16e30cd745b2907f06dc92652f6996f9daa95f049b3f272c73933a1fafc20a5820261d15a2841104129de441c148f06cdb01601e93d4ec478df695fe9d8135ee1881d4382dda6d130535f003cbdd67b3a63432b2cccaed91d839cda739838576090c5a559b11c5bb0d149267d399bce433aceeeae5ce779b1a75800e5654540797599735b09f854369100131d0fe7878aabb16b85f62b2dfa14c021cd98aeb80aa90b9a9167f4d8d2c4e87c55808570bc3da28b489b0a696b4c08d328b4a28c7c7b40ba027a34080561d7c8e067e324306b8898c97f934dc4e7a74ad8c4f8a2d8638ac9307aaf378868a3de469d67169785cdfa2b70e39c46d9b4a45b62e30d594ce83c5ec76d65493a32a3ccaae303c5b21736ec0d45ec6383e31824fa182732cdccadc3c3bcece393e53c645b7db8d3ff72ebe943833c0220bdc2f378fc80b04bc3cc146fd7747f74e802e67c74f0c1586b646f429b9c1bf824480cbfe90c07f8dd8e4cdf76e3880c65fedb67c9b4ba99f0e353832b4c01d1d616c64bc78c597c5420c8e64dacac704906d530e19dda01045dec7d7bed3345764e0c7baddcc111eef5b30d981800d99a8a721f74c11d8fdfec4d35b1ed9753c1e0c2d6f8274bf53446b939fb23ab5a6949bdf44b65152ac8b1decf604b83669203780a5ce3a622946d3e3ba3d03425e03a297440414423dcf27b487736dad9f87fc7f20af0b48ec4b8cb947814aaab863d01af3611efba0e77486a6987e7c753d575b0430728159b9bf653e0841fbf75241fd9c9fc5feff66e2c72a82b80846f972f4206c2027ac279b495ba25221b679bd89d781d201e1cb7841d7537bdc06d18cac1aa1d0aeead25b1a0de1553edb5cd3eb75e97b62dbd45a922fe61d8f506f283da9510032263b52962bf5267d16d14d70d5b033e57652f0945b8530af9fa66d0d92299b99c5ee16373f1bb3562c95ae3678ef1805d4b4296007e86f3b2b832b999fbe1caeec0e4bce4a94c8eb4b28652bab3e6dcffa53e9d5358e777b81860d477a9d3d8bc03fc4d5e8d8f792383706377255c17d01cfbbd6f83be8f1a9597133e0e2184d2915f88d6cdf9c89615f1d53f93a077f8209cea1603f278d5ab32c9e1495a4af95b7077c88e127d28b114fa456b9b67bca988eafbf72ac1f10dc12b8338751c94b0de0fbc18c8cc04035fc82fa1874b22b124103af11796db6a3a32ac41fbbb49d090589cbeb5607bd28b6169668228679408e21ab19681163b3c3cf20b27fa266bd6511f3432f5c3dff0463622d7a0f69ad31d7e2c650ac1accfddbec6ccd1307fb9955be568498318db6d9ac90ceafd7bf66a524695dfc1be1968d2a0d1ef9e3577f104a154d8869556511a898e605d41516f2dede43445c137774f21dd34c068ec7f3a5ff092edd10607298f314e8f0b7f29c3f4094d9615439cf6a944695a7d4e672987637de4b22bf3041484165cb8ebf3e79b73cdbae844db39a5614c157d612a6ab4640da75eb64ed913e26bf5ab9372bff4f02d6b5836118bcd6f959c0bc02e47d3166bb0e9fa1894d026acd067ac9469d51f7fb903b9a51025de016ec530b81825aad6e85666933fe632f5f40f776202d2f055b9e8d7ea24305960850cc696462230cd17d8b30fe0c8901ef999f5fb7dee6b14431f5a9249a520089d218e553e312603c02ca23fd6cd5f76fd0aaf42fd61bd1d1e41980f350bfc52e5159bd65eb62fc3b0d85f5d969f2ac207812cbef5c2df031ecfb1201707502e092394c0cfa2ebe8cdb3c35ed46eed8bcb2162aba95a4bd2f61998804b085b1700ee74ddeee29b1a357df3a3799340e4e639f2ea3ee856ec7230ddcb5cdf402a8e3d759ffabd9ad6732f005524b71e3020415ba0f2a98c1671ec5ffbcbff8f98350208532370badde9d30b5d9c97db80d359f31fadb3d5a3a375204e8b022bfb89481529ad9ce4f64f8cc076cef070c523847096d764c038bcb61b70a08b3177329029658e3c1c441222a7f56827023a3c1c0a2e972f4cc80b04e1418355351e04e6bf4686c0a5455afafc81f7e9e6a696e2ce0201d35c8124f83a4b03a219c94f4fe5308c72e8b24b1bdb80973a5432af717c354ed41f9380cbfd2886203af555afcfb4158049d5ffdab46e2bd732260129514bdf3493b740079b1429c593d8c93ccf19ddc24475ffe29650a6d1bc895837e0e6b20b23f83ab623164856bb446aa413234b7242797985cb9704b810972f913e0870386cb190de99475b9dfcdad1444ab9b03149c75a53d5331f0348fa35de3728468f4816b4d1dd549bbe5fd4c616804e2702d3ff363ed83a8a8a2308583aa792db9c93240270427bc68e39feeb06606f2e5519b284cf02a164a2975d7a6dea7b5e3cb6f4efed989976bed19069c00838bb786ea7bdd6739028216b325a79674b90c1624817b4357cbfd6a9ef4052730c4227b9fc1befe255f683827d0dfbd5914cdb2c8989586b310aa1fbe181a51ccbfd64baf09db157a8cf12ec9ad7f741204c2d08b73e0f4b092db5d68ad405a620186bd6423f9ea8ee275ee49dce03a768dfd75f702fa07eaa8c2f8e656909fd406396ed5386781b6890951aa728237a9268f5cdcdfa012d4f6b6e136b5d71a0fa845ea6bf1519f8b1d9f46f96fd6a43befd6ffb29beee6e25e87382b13606922e3eb787576a2b4b53962f8d1a7fb5c24ab10c469f73e915bd3a36e8d90b4c3381d82d70b2d503623f7bbfe7e32ee4b8a6fbd35dfff37cf3ab552203ade624a0ed3c0404d324d9e73f2e66b087a0b201e2518081f324cf994646cc1a9cfd042917c4a7792f30c1fb874988a9bc44273fd41fb7fb36b760d8d294ac498912e911b3984a9f386983ac5fa0f307f5ec47701a36199b24baf7fe59ec5f106508a6e6dc0d860547f7c0945155f290409a83f6de4511f6ed7cdbe3080fa74e49d416afd5f2d7bc6657d5b9ac52d916e4ca207b592f3395ed70c8dcc35f436ce11c696694171f196ba4ddd6e1f0327fb24dd3cad3adb72a423b8cec07b94d82ebb2e2d785ed4fc250aeb9b636b69f65939bab9a5c45d19eb770bb7e9eabe414b6787e2d0eb7b433d98893ea41c9cb5bc881bf5f75776e52dbbda84cf015fad97be52782a5e0eb0113e4a57a61e08c95b26776e38773bd90eb05154b05f73bf949e465ccfe017c4d3b0fa0951e658a7d55d1296b40ddc462a98b612ab6b33535718f102f47fa1de128e525b37055731577b129ac6ecd9a81611ec80a93853ec96c41ee5fdcb6ac758c23ff495582d300a500bdb9442f029d56a21fe2330c9efa11f47dd2f71d83d330821b8405d2c193700173525a59de7279be0c4898803cc86a07f164a5d643d9c589ccadd04c6f8d64dad4c5254c81a2fe8b4384025230461687dd86eeae6cb28bcf0b86ff3f8ee4a7aa9dc09585d81da41b99ee79cfab874c0fd91c29047358ee43869b3cbe14ed650beb4ae1823004319116a44ec6899112db6242de2210e1cc5959f52daac93e967ae62e106ab7c6d87160ca83bc770852ba8c6ff92f396ef3452305cb032e9bfdb1dc62817273cb7c7825de438a34cae2e6d34050d772e909a1c53a01f116fbb3e7db2031b11555a78cf6269d57cc54fa7a04fcfb9bbe7069d65f56effb6fa9b651403ef6f3af53ec3228eec11e0350519dffcd8f7086798c7124b73b2ca9248c1298afcf1b26085afa8ecdea8a0f56307a97b27dc315dbc8b77e244d1718b4139b54aa2829863ee144849db8bfb40f72c2d7fe29b9823bc2755fb9b77eaca6edd0fa39bde17b0bcf6e59128a3cc3abe1cf50a252f50657dbdd9e551c824f414831bd8143a54c31f4330452192ea5998bb8969fcc2e8093a1dd6cf03678f596dbdfd41551fcf70c07537af78b5614243c0bd3b70041038febb01bf363b9838b1bebfa3baaaaadc848ed2b2031be8e6720ae1f546cd39742735d43b5d05a2ce28d3c541c2da198fe9bf1839c56352448706166205d10d9b55f5647a0e7c3499e8b6924de266659dfb3a0e810bd9523484ec25c24372b6920028936dcd32f576f77fab4af0f20de92e7b4df89fc88ba1bcca8edccd174d6cac2d360c90948023f336bea77e2bc185312cb48bb18060d48ef356f2179c28ce0ae4b4a9b8fa187ef282b6f507fdacfc8745f7cc604314ddc35c326b54a6e3a2b635844c3142dd381c482fb0459aba6a3310010522c8e04f03b03b3432d72d9051fafe12eb19808b7cff5678b61c6ebc8ffcafde06f2da470cf05ce671f4427997aa1439923a35321eacac3396368565f7b0b5729f5575099b75a6740813215b400c6fe6400e55126fe403ee7d5efde2879ec97180ed1ba9ac38f759fbe386ba16dcbb2685d8b993be802578c2b8a55c59965401cfeb005a910c30cbaf7b254c5abccd64c76d111d1b7198d6888d8d6ff53f2f03bb51c702444e8d5b1aba4fc96629a26a66575c2e8909880463fbf661da0456265c383896e057e6afdfadc7805e683f0877ba4502d14a0f2089af49763490509667633ce90c60631e5e336255189743409cfc4979845b7aa6dccff0997587c07969c3ab83e11501551bead611e40b2671ac87f46f6de1d90040407e6a6aec699d93b17e81dd2b69989cc0807242d7da7d7c249cf5c7d55efb6f6dc4a68e30acbd878dbfcb763e8a85a295e42218cc2f094e28001f8cf66a03990f3f670b84f6c0dd5cdfc867cec99601d9417bbf627748d99f564a8db0357e035ba7bfb5eba98c044449e6817e7fdcac566b782c3a19227c4277cfd5a75eb6637595bb5b0c42c4745daceb4c7d7ac21f676b49aadd573561c7df83dc42f282b00f92dd5679b132a70af1115a85a07475cbfd3cdc5a204b33a2e789ebbec20a2df911f49b7852b14068a9a42112293a887e1b8864f808f03a7240f94f26bed003e47a84d6c4fbecec906c261edc570f57a4e74bd1c363f698137f84dc7e02859a4594a6e71c0eba00b215108eb9966707205b7f19d8e9475a803868cfc255a0a1516598d3f1f3b6541145fbd1185c346f56dd01864113011b7d13a822da6f8b19f983f3f232554dc726f2a93c2610741e469269983f047f320f6b094dca2c87df14c8fe9b2634e0deeec67c35cd5c07e91ea8a6224f23422047741b1b5229e6861ae2facf3624ac26471d25239c75faf813a5d83944cfdc4058b716b7be07f91aa714487c6e80f7bdde928a83ceff4ce046448dc1982a9d52af12e0b7656f0dddc465c1b13292f280cf2b1cdf72f3a6f89d5fff342a0ee2972e5f6fb578ee70d9324e402696e2f1be7281cf6006b671a43e60210993b669264543ea23a380131dbf51c98215d0102adb0605575fa3ddb24a4715e77614778b6258000b8a9d1711a8995923bbcf7966248d2a105a2f225091e527052d07816ecb97f11b8de62ae8512a60937954633c0fa4913fa2764048a4dc311147a714eab9a1834a5e2c33260fa00d6ac3b79d62acd8a5cbde1f8f80672eb7d627957d8ec12d1e3fa2898905e5a4ab374b8299a1bb163516fbf077326247b290d532bc8abc6602eb8ddc65741df7824d3deb0a6d8a6f5a5dd55d39107dc603d497cb45779fdef69367462aa06ae825112b90db5bb7108e4da55b1f240f1988b174fbb8e1e7c070d4264569e9cfff1b2293d77a7dea0c11a8ed3b196751d735343d8ad6b7d35b230bf7ce0eaac7e0035be7671910cfff2796c133b60459622e93dee86aabaabdf0ad496a5947f3be9febf0c0260470a05325732700d899da26c92f4cb59163fa003834391156fbc9202096f48ecf5750779540a1edfb74bcf988aae441f0427db640b3b1ff3aa07db9a0ad025a181c8883ecdfa4bc16feff4703cc6df9cf1331d9ccd7ed10b3fa11d7500d992f73e26f1e4c6a6398aff81ccd6c9e05942bcc58dacf1e2f557792892f7b01e84ec7dc5635f70928bcc5f396b5dab587f33cf9890ae9000de159081a0c956a9c1656824b10e0eac3805e0752bbba41defdf02310c530286895ba2161a73ff58a7b93398e09fe0d96f55a7f3d4143f7236c5cbfc91d5221b192c60f7a854f546e380cc0c47a97c24152df14b31d5ce7f1e6c1c5e569e053f8174d54704fc54d5cf7392a2ebc38b40c6111ae62ab3482c7226b588b029a608c2d1e4aad9ad96552b29759700048095d0d3c73aadc92fb194a3af9385d9496d43a3a7978a8a1c206a848e071993830f3c0e9b76a2e95ab8ebb3d8e1db2c335e4860921e8c064a915f77c9633ccc8d7d6a4c2fce910d35c993d1b7d8d1ddce3b2b67f7003df86dae3b4da759eeeeaff3db2f7f7545f8a16d7b56b6373fda1b3510c88e20052fab94465d8aa045bbf970ebc01d7a050b183d25cab18689770a178321d7397eb0603b0f622b234883c5d141cc5e3899d3f8d75518beae2e29ed70910c9f68cf4f186ed36cbcb9b59991163e6f4deb403571313f2abc4a7318abe5404a6ded58d20b732cc22e5acd2070c9421f49226c23aad8c2d99942b501ae92490409fc71f97e31e11430408c8fdfdc3fb38c2a7df8100230caa36d2cc546b3441860428a8e284fd400626448ebb837427d131b2558dfb4c04c1e4ebb6704edd4d105138bb2fe1e0d7515eecaf3f89bb4c37abdf2222becd1135c9a432a7b73fa7e33a0fe3b629d8f423492b830ed1d2a72cbd08cd771b3022d148c4c2323d0f37ce78c1d0db55f67af4cf6799a4b202c8d0cbb23cbd0be20fcc58d2dffe95df49596284ace078669004c480885e11f910e51058ff2306ae095c9a65db2055cf96c45aa70d94de0824d90ac25dbe6e2397d7792fac4dcc42ca1517ac40e2821ec8836d2c3203a2437f6557b419c53d708bdbd7f3374a18271f2717ffc7ff44a5687ef53e97eef609714ce1e6b87aae8cae417845ff53049fd38d2eec6a34d3823a13540fe3dff4400025b946ba7e41c7ef887de588f0e5521eec44d64b9b65eaf5618c1c18f3bc5e7012e99ef53f8f74dd9451825bf1dfa84b296e129f29cff5fa0b50b4c5cbd6634d4fbc400505d619d5a61defde02dbacbdcf23c58dd7d56dae5562fb60cd53cc4c2b1b0aea055c0aafa09211936a02adb7c1aa006a0a9396d36e287b16031c31a4b75e7d9eca86a432499e265856f3a631d5b7b374b225a5d6d50dca8a3dbd1d8a83f4836a0b7ac5e5e088a030d69cf1f92a94c6ef9e3cfc64b0465cac33cd0851023de2644b9d650899df4f3705f0f1416b2a85d4ca0bb9c4296c19305b7260ea05ec0156c9d0816d7eb6e4fb341b58d562f81fcba8eb7319e53d53d90e9c6e31456ec10aa6a0979844627e928edab1a61880732159c201472db0cd805bf46976f203e391ffad11aa4058c3075ff6ed538c32762d5584948d212628ffc482bca86a5fd9baa4af3407f0ed315d07c496322d77cf692642e503217206d6660b72638ef4849081ad054aea38089e65a78703b07d2ea100aef854bee693a6e3a0b29df4787bf0175ad65b4c46d395971e8348ebbb407202d859e255be0478220fb8a142376e9e05b02f6c1465ad6f4e9495c23213f598e3a5e0d3e8d9b13d87494503ffcf228ffc798dc0ec0b96948fc4abc4a152ebb94a702252bd159e26f216b89525e4e3b22b02e126ed01b0e451de939db374619bd587bd7e5251a2da973ce0dfd695f6642e3e85e4f80e7824fa5b4a35618534dc8bc01ac86fc337879584ae4ccf3ba249635db9c30ab1d255efc75cee17f8db9238b6eba860053306daa3bd653154e8c86d336c0124d6b6bdf0d7dd2e9618ed7f38528b0c6caf1f07f11979642a6519e48aef3ea95109eb4e5431a4385f351f9eb2a59e214d88b630b14419ebdb89c008c003c0f4e0da05868ff9f7f41a9c1b42c8a7167ff30f4d7fa627f4580961da0c387974b7fb6e22a63d5c05fbe892e30a20f0c0b47107740fbeb369f8c7cdc0855b40b20edc7c9d4cc3957ed9e51cd4a7b2033f78af301cfbfa504caed9f74805e0d5c3733c58e8bb8a9bafcc13282d3081b98cff40a78b10163bfe331dc95de79beaf810f62d025982ad35f59f2cea0746df48217f213d85a720d388d75a97bd0e2ce0175b8c34fcde8c97722835f166e8a43d6332ba72a33fdafb093c128ee4f9cca6eae76d1debe403e4964f07fc97ebb792859733ae0b8eb850db1706867dd4e7b45bde00fec0c8e28c2a4480e02f42c0c4ecdced31b632c09a5a5e565800ff650a89fb16e7b8e4448cdb13145e24058c825ccba40a2865775cc861f7bd17148220ef868023832c44b477c8f5679613135bb2e2a7ccfc7192670735620fd54024e5a12368549643da7d43b95e805e9a693c0e65482e72e9f00a9e4b4688c64b7bc453a55a42dbaaadce3701f55724b58cd639f7a74d26d9a21ec6782d62c758ca0aaeb235cb0caf9bfabfa9421fb39cb315fb6aef91bb0b14ebbf0a28e118e0e70f762dd0fea8714e4446f75339e6ff1595cd56202e7d7cf9cf1207d94d357336e45037b37080b1ab781e43c15d8442878d8268f82be30645c50427bc3d24ce6f10981dca00565c3cb7bb363d7b8265bcb85dc2a73f010c798f2ddd4d19c0f02295a53909760135df6eb1b6a6874da1cd34bd17eb1e17fbc95509bcb9b6e5251e2ffbe4c2e3dd01e91ddb0886612b735d3d71f80cd88b2a75534460683bb48e2e514a6e39c850f022b0d3fae8e5dd8b457ec0cf84ecb21f53df5ba4b772aa40c7c12d5011e5bdf3e508c2c4d587560872114557ec7ca558b152a0353b8a8cf9608f2bf3e7c4b09406ce756baebfdb0c891885ab2bfdcbfdc3cc9a59916147e59c54bf04e760e946706e1444b0c46030de8e7cf6ee81a5dc0f247699c51e4aa13154609db776fe97ad110a48411e86b44bc2a02476d2d2fe4735681a660c45ce065a461ea0d4c04c79635c3d7d524689c2cb999dca1698a60142a563d43e3461e7ae77bda6ec01652cc99fa94521ee629c54bac2b7788867e604f548ccfcc6c6394cf1abb2f44b1fbb1a72301627e5af59cdefa5fc38c425069a0c0c8ad216a74f2a8ac47f96973d9e366f2c8be85374cdb957b1551241a5e24a839613f3cc60e45eaf0e26b22d46710e43cb1e0f1a061faddabfaf0d9dabdc9cf0af70f4e31a32b0326b903a671fe7ca216a5cc15ac4fdaac9c4c7385ce51ae3cdb0f735ac5b3fafd7d12e262a28dea85365e7e1d81e15fb7877916504657a427b3834dc5abd3463f3e356cbd454be5b528aadc639477ef06c3253c95fc053ed0b5c531daaeeace9c20fb1ed6f9c59256f0e00d519b78af3018938fa886bd76f9c27029378675c92baf5e07b7db390f0d5dd7a34d69b4e941ec9ee3143e2cbc19bf931158578239cebbe35fd5e425b3a4679bf65799bcf8d6f03ace53ebb7825aeba848f33107dec61bbcabd82b129f8c452ce552374f40b280a9d21a357894a71f7e213057b12520b6003e0c5dca596f8c3dd3d0e187bb528507875a425de00aab0e854debcb90cd6819617fa134a82623c3207c358ab313fec2000d5e95acb19808b6036f1211eeac158fa709ad55639a7cfdd575f21e7019f5d6228cdbf1dd78702d0323820b7dd48c1fa86c244840ab7f816980891ea980937183bbca55a3c772957bda5619830999bf8f4cbef80722796b65184dcf22884d439977cf23e962bc4d50df91ea5101a886d4a191fbe267edddf891e3cdd2805cccd6ce539bbc6f82a6a14daac01d6ab27cb7984c4042ddbf43f179052ad50c962e7918dab3cced61e57c6cb5c97845eea640c6696706a0a7a1ba14215d015d1ad1620faa2199522c3e3545480d6a70cb3e4039e4b2e34b30deb369bf9ee5b103881b57ae45d0ebde31aafdf9320f28ebe429b7198bcac6e99dc679e36172744c586b637cc6bf95ee5e05db2acd335e293146c8b2dd5a793f4cb6ea844beaaea6b517cc6ace06f583f22198683c6e97ca3080f494a96407db789126e2be30ebf7ae3520d9b601a693285091c9a386be687a022a24653b2baf9dfa6c31846787c2b8a88a1854cac07d898936010dd4fe0d3000f4d97942c8ddf5be03f825f3c31f26c1cd57c2dc294676ca2003b19e053effb42336e5003a427e41e35939d97ceeb8697e68cd5a26af67f1bb23c68c93e28969b438ecb6a5a9553f2b1da091ef2be06b87ea7a228720e188157fba081feeae3e0b7a2503d699b0203f19583667ad5316b30c4bfdf693daa6952a91e947b353bb40c59ce2b0c1740e6b4d9c45c3582eef3c193c5431b6d731afe57670c0de145186bc482347121280a3b7ebd746c100abe1f3793d2d0c1a7b0f92c95da003d2dc3f0606b696c2b7df65e16ded846eb79a62c6671ab5105cf9ee93862ff876e017391b22eae59156e38f626149ed83fe8e3cb6951152b84a339ccf01c97c8496e4e4171f2fa31487bd9ee0e793ec27ae22b155f1da59bf26c104af35e00b3163dc534f6e942d7c12a27e57396df5ee118b0dd8f134e1afd102a7b552ba4dc3f7e44568e72d4b3ca15457dbb344e71ea7c9aeae29935a5e0f8101a7b2c2341ac55bd424b7d55215099c623e673758bf475cacf18fbfa6942af77827c44b7425ebcfb7686851e9bce717c639e135b65ca43dd69b766075361c67fa3714d46edab3778c49a841468ad225b233ed936b3696a5fa3dc58c48fc6d68b71bc807af8e43bd85f78cfa956d00d2145f9f369d53da7114ba96dacc40e5ff8097f45f10a7ba3e4a20d6472465d98917897df94b57be3f6e12b1f1f45d19938ccb691e840de54be8ab6ca4e727fc44a2f2519b9dada35cc531a66d33d8915032dcff0f96f0d755817eaed49b216aabc82677111ae3de6a3440aeb1021d18aa2182fc4c9e85df599855a4e3362f167856b0c8d4b197108266194751534de7edce0de3e387f6f44960852c11fc8fd462ce30492e96edd896219b4229d2cbf8dfedac719e6bdb52e56d57b0d2506f79fe73b11530ae675baf2b7dac909093f66f11967c2c1881393ea5d6f3d6ff732a0e68ec306380e6f4b958bea4e6800d9b626c377b4a5b5854c685ed3270902c39abd9b69e3b4cea507df41e12f6bc43824b65112e36007d4d288009fd82e175c091fa2f87594b5d2bd07694a29fded4b998076857a5cb7e50ad978bb992cb763a728f52a4acd731ffc8eaa2fe10c83cac7dfc1fe316d957005e94a2ed10c9d89a0d9663440d7b090c47b619fc210bb02659e02c47922f1cacf351fe18a58bd714143511783f67c336dba9bb5f7d0fcf880b6778237c186c7e6a2f2d513c245d068a3ae497ffc1236becaf509c953bc01805f6163b9fad409b712146d6942035cd6fc040082ec655d69f57744d163a6a188a9731873c3cbfc2d9dc37916d75350c48ff84c0b05e1c13e44fd6e29754caa484b4c133b9391fac4c034ee4db0a1384986bb834e53d39b0b0416de78e7d83d0574d895e5d169e38b06cc49a9c527828d1789ba46a75c56f52eaa9741bd58c6e9cf089b263721eafb160123d54be1156581dcdd803242b37f658c4805c682a521366b11583708fd1df3dbd1f0595e4e63b0acc7991918779fd8736d75cbfacd3e26973814adb0f043c5aecf043e19c7c2e0cba25f5924b38ac099c66acc758ae8bf51cbbccb9c22a76dea1a4358d9aa3c0f749a340332efac9a66b0a9f682fe8a27442a4bfbb4cbb5d9cf16d3f6fe9cdf81b57b5fc121199889a71ca5e3e3b996fb28fbbc5c192a7310a83e023a5f74fc306eabd726d07152f3282438a185487126eafb73368668967d799ed6643bd37e89475cdae789c27cd20cb79aa8975813a4f1c8239f541c7f4f2494145d5bac4bdc75576260f683e1cfd5c6b4e6eb5c00647416cf970053d5fa6aa1be31d89a9ba876b1570915152b50dd9149c262be52a943cf8a91ed693b8d8d0d87275eb6f87a285d467258f19a0588b0e7f1af6b5df007c8f7938fed5c8742124e704846d6270145fe94c3e6fef54c01bd5dcf72dfc773053f1c0dd85df62aa536ef1614d4cf2a19e2967a799d71c53c91f55131e3806f88297bbe9c217f0fb75f08d02e4e9267bfcc62576f3239e4569ec8b58606629b13631031927474cc03ea84884ba0bc4cf3f4fecb77e215a033377f9f019474a22cf022b39e0e326bfbf1ce6296310600dfbe3730f47ef123fd9bd37a00e605664e14124f3b2851558220ee8b37f0b4635e2033836bb7ca024bb25a16109aea5e442d8caab5ed0e5ca712076b942262fcaa8705f082373d9144ec85f9b6ee3b038c363a287699df0b94af8b204ac07f977fb316a6b527229a10f22f6fd679660ef233c7b0801a5960b63ab55c453123b2649fcce2303b9b6de672b6285c2f9475877b36587f3f3f74783ac71ed4b609cbda629acb3bb72424cf326b6c0ba631a8c8c44f7514e40a03e6bb4b050d8ae16be841f9a5bb2c9be5bdc10ea0ec190ee1effb9ba3aa9931a204d776b9f4500ff796613f02f82cfa1779fe170ae4517ef0a970236abe7b5d4aa1b72a5a19d7235bd3667ada919c8d69800a4df89935eb91d447fb71b743561c0e0ad56663fbb4f53f7c68e2070db5c2f3b060363b8935f2ff67c2d2b4c33509f63342ac97f97fb67fcc58e4b87cf374ba4a9490ed7e2e5e62ef49f13eebd1336e4f1b1d4df78c5d60127f5a3b5a8217b914fddd12a890582f26f63ae7721319815d193812b6e8e15933985a27be16fadd9624e6044c8a8fe5f9ff2ffe5d1ce798ccb5116ea7c17aa7858fdff2a1daa0d2940431ad478975f4f241f429356dd3ec988789420bae951c87aad2719aedc764275e2aa80cf3b4fb61d0e553d5bc2a841134905b6285485bb4aca52cb1a546e0bda141cba52ffb25affa0eb2958bd551d3c9a1534210717ad787844ef45791694c3ff31b5aa0ade25bb5535facdf9aa5b2b1b1a9badd981ead6f72659f9d39f90a9fbd04c1e641cf6af7fd1bcdb0cf46b78d327e0ada6f46fa44872b65c797e346dfbe7d3bc68365a00a6459a1e94ecb26c71de25c61283cf51dc23f257c3770e218f34b5356b82f18c5ffe95bcdb3eeeaa8e9e4cad20f5e2dce2f38f8dca6e5a32069a00cbd47feef9f77e16f2467f97ba5764e408d32d2764a3d375bd0e804b377811fdecdadac8950f2834f5dcea162ca802bd82bda6ce490f86f4ea2228ed607a3445aa937c371ba3b83cc08dec74a6c22e5b2b285b2b7a8a7bb09452e0199f5ca694d49239ce780048e1c97f1b53c6de089329e6c1789226d9c0b5d51d2b9ca80db10e1be583e6ada8742b06b0abdd8e7398576023b861e9d029d30126ef5be207b9677d14b0feb0ad4aea7f35ce1cf4d5b1cd2efc915df06484c522fcce10b9e3b500d42d02b6e733a5d46589be43ac7172c5027f8e388360f8dfd2bf18e1755b1fecb4f77cb31408d09cf50c10b54734223aef5184e33cd89030239c8b5df5146d40c77721ba10c74b7a14e9e6d53f0dfbb21899d0754a023d731f69d3885b8737362c778fd93914707cee1a6725e14a78ed6b054ea57cee3060d6ba2506dcca9246078a73e51b234ba4d7096d7db0727530e654cceeda48393530fce7b5ba870c280dce9a8fce05ca6876722eed07cd61f7065cdc47e07f433a260b9ba5e262dc5d40eb2ae7d587dd1f3c4248f8e9ba464e7c97d0a025156a91630bf1ced70b15a877387611b0392617931122c541e00203567e40ba9c9b0e6c133a928ec2f0d0b5c2eabf28681f5deeff26557dfb0fe67a749d38d56d0f0331c9dfb692a4d69a5436f3aadbf2ffa16a00bd117f7e75789eaa16ae0d2de13e6bf14a1e6d8c540d10c6537413a1db9cf8ee8af95f6412c54011bffc251f1d7149b7d4630323e5c89387bb106fed1d0ec1a149fa9bf9dd27fdfa4f4764ea3c30b314609381037fc00f115f78cc6eaf027c0e35ceb93f580aa5b35e7ebe6ab76217118af84a78dbd94d71f4336811621143dd175d4ff501f6e7ed4727a53ed98e3679875be2141fe43cefa951ea9aafbb94e1e868e0cbc25add377084904403a1e7a314d0458a68d16699b9f8853a493bbf6d274416874ac8071579a6235569054eac32764c7258158ebe3f5e888266e71dc2f47f484f51cd44269b08c035794441135636060405443183e8770ea67ae8f420011558a48a688c8338eb9cdfeef570bd3baad2d5e028c84348fc917ca79fdb1dc824bca0b80e7018f341776911522ef5522c870c67c5070d75178f476c65fd1bd65c5e4ba61ac3d21120bb3828fa64086963f6bb8495c855063ea3ef0867dfe44afc7510714afd03999207e76ab5df36336e8fd3b69dc40b6283e08e4d03ba7244021dafa66ec888e9b0a35b2747e28826a3e08b2b6e5cb63e6fd2db71efd166d44907941df27daae969490596fa669ad6253159bfb9de75e2b410953b7cf3b3aa3998eaf239af04ca1e84b67b0ab3229ca768a9461177a531591d4908186ff0c1d14d248323bc4f6839150835b784d0d9e9c1bcf37ada997608a136b9a25b27e5c5126c50a5b8371ba9a91d43a8062c5426802a1085db23647fd5f78c5acf7fb4d07aa9368d882b0b2e08cce0b2d2ba99c616d0fcda46a354e9419f1b91a72eade4b0cf4ac1e2f2e0b9d801c0a27be18a52559e09c154d02f5f1eec880eb42ccf926d89c4b0491334cb7a9b02c429ac5685b4b163ae407b9a41cadfd2ccc48829b0abc7163991b0c915f3e476e3cd1a456992fd129f86de30098dc7237bc023d655f4a7d1247aa4665c7458b0a1cc5587d7d9c056ab3fd0ccc67cd14e1842bd5ca717587f00fcc031b5c8b8d4c3c740aa2d9bef02e328da03c9b52af2d4617bbc913f28942efa96f0f018cc4a8996b5d37cba3565fe9037a015720534f9392c9c0380449d29ce09b98010b19b8f2767ebdb00b912262bd5608e1eb021036ae964de8f7212368e95e0eb0dd0e821caf5c7c36358d9670393b395d208be06f49986930b9cd96c384646b61673d7238ff96d87dfb520c59004382e3ae605c06d82095a6a24432fe71381c59b400efe101220670f1d618241b30796723d7388bf8e4c92ce82a841ddb42c37fff9a60a81572b174175dbbdcd778e436b9f5aa505244adabdc23ae37a362b78b091a7d501ba6d3a16308a785836ed3e095f1bf53b295efda636ce3f571e9d335a3c2273c937207cd8746b739cae9b4cf2f44960da9f65457fccaae516d2e8e7c6c701a3ea4108544aee0327eeb0c9fb421236ff3cd094ee4aaf1c5325777139179ea90228af8141d514c289097fb4165eb33449c7bd9729f5751fa7e5e6132c6a1a9c8b4d111d61788b6ed6df91e6f1895aa4fd6f68303e63df30120ce9131471cd4acc228e8c1d225a7449698c20fbfcaabba345276c6fd02f61dcaf7b398da12246fdf6410c7d33dac74e20cb10f5c761d5501324e32102a11144d1b2999967f13c06935ad05fc11fa8d4080e1d82687f74620510b449d51474e2423c4d0d1a5a8866d1b54b66339eb1c302538e27a88ecf6b7f7c6a003fab5f722c8585f28ebb82aecacf455b140944941d2e0b5115fddc31ff643c51be090530530c3284b229b78d3662b5a7a54d1deb11ed732ccfed9bb79d82a04e447066881855a808d1a04cea79b2d926dd007fde38ca21527c4f9b27bcce93a3f9d7395e995e7eec4338bd92f77358971579d931297a2a4a6564fffab655a51003c08e0ffbda151254099339788035f2ff6bb9cba01969deff44b9c9bed4aa533d02dfb5bcbea86f432844f3f0bbe780a0894524d25a2b35ca0b546fe84d812fbd8711ece53d29c7d5fdd59b19c0f32d9253edba87e0f364f9fc9c50e3a6a7092b9489c9bd1c69bc6d7a7ecdb48d0f5a6fe0f81f83d67e918a47dd97438cfa940db4e0b8df6ddfc7994164d6ce6fa84783ede5e67283c30ebefee97d675885f197d1b0facfed88f7793a3f6674c7861e844984885659acfcf86014db6f04749362f695bc795653e87bc9bc8fae7f209c77d88a8f197dee92589ac42ed7cd03631eb2a1c29b38d70eeb8d1e6fb1c62312dda8baf9c20fb9c266d77198fc584d6d15a08b78392aa0410124837c01246514b5dd5294047b3657d79aec3c03706ea3cf2316f0d77e1dd784ad795fe5a05d2295287430fe10a68395537fd8c5e45f3bb5921582fed01902b5ba48c8993b7b4187baad0bd0207cac55dbd0f0d3b5cc44356e79790c0f0da9bed8910ae49ebc04c13a2616bf236c27b474cbf364f9c80b4c12a3e908693c7be83f23004f36f1e55e880e0aff727d0c1da4e4f1c6b4f10643b4fa5ec4c2e2b6a25023ed23b0f3753c5a7afa12387d802829c0c95684917f0b35691531c15ea34d9e7c972e62e6bcf93d12f9c0de4a3763750a452be48dfbba104e004a879f68c1791073063933cd70576c6fd17c1f281f6afb77fb6ebbba9f7c92be68b9b48f3a7c7275457c3ffe6edeed1a4f03e7ff3fb74bca671e7c995b7f35ef0ee84f8d2789ff32dca88889d1f8dd7c3848c95b6b3bf67ebf6a862964f3044e2b9cdcc0bedc4ee9cc66e6572740e6adcd1b1c6d6616fa44f2ccde0697bd71fc62590bba93b00d26cb26437b3eaf7cb27d01f83f668d675d7242b8a35e4438a22d0f11a204d07476e12ad90cb9c808ec3ecda4fe8645155d2b051efd9f8d450182f0a645a4a9bb9669f115c6e2da4147595b7e8c52c53d3ad14c83737774e6ae5fdcb094e97a4932fe0c25d1ddd62048009bbc46c0d4da087c26019d2d5772cf708a6c9e48b8418971f457294fa5c4a6fa129a6289173961148f76ea0f6f402ba498572e0197c4183c0853853e368f0246eb1ce1444fc5c1a4fe62121f773b3ea5b4aee2f10006581c811372ed0d409e86ebec1feee1679855c262f15af9e64c66fcf2748d5952e61191c01dafd6f3b3a7b9d2b6f4d5ce5a475949ccd88a83d245862e414b1cc717964c9b7a0f2a7a8cfdc2c4e05c52aa4b863657a171c3551de686367880e041818eec9b64bb20907af6b95c7b9f47ab9ee251bbbe4543b0cbb36b687707619ad78fd73c1af74b77ab188c44a754214b62f163b3f3592dfa2c9512008f5d615a8d925cfc2880c2c44d9723bbdfa7f6b5a49cd675de17d3c48eefdde5659107e167f67de9af7f3270118c8223922fe36408f879d69d338436aad76de9ccd6f29e6144bd862dea66af53cb33704751bd0a7ee4cb2661ea1778fc55a8d1a03981a7998958bf61ace6db909cb08754f1aaf2b7df3c62e521193e8bf5ac90625bbd1b3561cde93b0066b45fbf4bbb48301128332f4765164da9aecde351e64f4fea6bd9b8d549ae14d65e9d4cb7dc2f8bc68c4380371d111dfd4e989113a34e4331012482a4b6f5042790b546a8db6e9d8d24fed372c936f28b9f359a8e306f1d9c4c4474e56c14446e1415254c282c9cea7b903a2f8a4bcda700057b33bb7e01ac254b6cc2fc25418f207159d5df23e595735167ca50dc83ef5460d6199a35938c51c4840a13279181f0213c2cae5e254cb9a060f0bcc0e25162b33191fb0bbf34962ac0e1decfa0b1d400e3fee97acd5a09cf466d4ba1d6cf0002b968f3a79a6edfd9d8321b7f69371e56c0ad29e2264967d9f1e75aaacec280d887e41182dac0a1b9d0264ab1859e5f584e4964bc25938b8545cf970f05ea64eb8e6153038a6bdbb12945ef6d303db3c9d052607af5ba08431cdd1197fd0b7ee1312df7fa77a6b58ff6b293371477bc058f770f4c4c94e951c2b8b341c68c68dd2a9457c57764e5f0d40f502eb967976b526f4ff35c7342cfabf5652af1e675febd2e7b250f896544f9c5e8c0e274027b627506dfc6b4e4f2de3ea0d8dea7c0aaf5bf842b28c0aca642c13c7fd9662d094e1b5199dc3043a625b55c58e64d958de4ab998bb4370989339a910a043d9b2841cd4b7fb9f24bd04da4cffabd27d2d873bd45d4ce6a1d68d96c40206e21254975aa66e2e38c1ea4a743017974ab14129865356227d53f2cc0619c17e57e6d65cd4ce7e414fc1063e8c0a9d29c2a6a92b7d9731333124fa7445a3b45852abb547a4de58183bd4919e056e2a8e9d50453f120fffe6e50012a21fcdda8b578e15a37f3930653118b7bc72d43f5f52b9bd04ab1d31bd64afedeb9e0889a830d3f80f2b90499f2d885fb79bedb3ffbfc02d6c7b0860092b104d6882e6ec706a8c9283fc1ed8553a235fd2bb94249cf60dab80fcfb35cd84148ab62f21a9ac9daeee03ec2f21c97485b626937b6ea929dd9c2023ad13774b81fdcca46efd20b9dc3352db180aac449105d97861be6203cbf42396d8ee717bd169f6d1d4101a537a52d606546d00b8ed5c25f39b0645884305f429414067c76717c9a2d2d157cbcb6f45c1dd6ae920cf38d2f19a10930f246f0be1a8a127ef99c0ac46d9a5b4741076f7d5af664d8a56b546764688be4a7fef389cf9e003e88f0e5251ae308e182b5e3663315ecc4f9ddef8bb1f2ecd1783733ab3a5cc3e512766ed0c5fe5db1b82f09dd84365aa23967a8913a8d766b39f416399aff774ce0f263cfc2554ba44f6f3165a569faa07a5dc99b8c6d7c527d245dd281655665d4453f52e0b937eeedffbfd7834ab57e5208c3d33b001353f9c0171fb1ab65e630643c826a8262d50444567f95c895eb2369edea667c083ba0c1782e6b7bcec73f4e36cf082396f03fa6d985a76de3b9b2e437f6a4c102955afd92b837cc99a5071fcd7be5c2ec4b2ee25c4739cb682be3e501e997c002129483525e4d87f1704e8bbeae5a812b0436a958293c8d147c5be8041abb92325276cc29b5ff8d0abf631f13bee116243388e974c224f3478458f55a9ba367e94b91fcd21f318b459fd27b0bf059f364bdeb8678fef71bedfc86c0ba1e8aec3aecd646ddd4c4176612e7fc1af3111a87c2f6359530f8e2480438eb18b66b18aaef8a8b5976c915f64961812dfcf31ec995fa7eaaa55f54a7f886aa8ebd396585f4f6a3bb7436ec1a1c092370f841de070985a7fee9bbd54dd36ac40f810dbc2cf0b5dcdad077ae4d19ea17066a68e8210bbe9a5a6198e077a61dda515efde715645bf064f04d88e6339f99fe29bad0423c8178d0b4674ad55ab33d4bfa19dc6bf3f7dc04470b1219e221f818437fc61c3fc067d48c781fc2a9b34ab467a182da1c1b79ea4e73652720381b68c39ae0015feb20276996e246028db2b962bd842eed4de8e279786214bba7fcbd0c1314884a7a160638bffbe5912da9e832ed7d6f760d80528d65d84e9679eb4808fbee00840110232ac6fe36496a6b74d928eb04f3ad4e40aa444c8d19ea27c790937ea0f6b8e308096f739f0170e9858d0464366232ca570f480f67102adb830e1ac9314448dc73c6a239accc1d932dd32340ffae21011be233156450b8d98c2484a6b915085eb562b84d781db7895b86107677bb291e04ee3da4b8e853ec6904a2f9b48e379ebe7560171592be8eace728a1d58ffb2e7da0773014e45aac69f3956bd81457fd0766658a5ba8ed1a21a83677f7a243343bb0bac3d76600f98e9d305f07df9db9b85703f3543964f2166a3edb9cbc942b484253d974fe9397ae1c1004df82af6483d5bb8080a9f00a50cf2b52fb9ee0b714ead3703d67ab449e616256d933cac37af12f5f8cb1c8499925c2c8514bc661614bde85bad83879926d3399de685f9aaf6ad7ba1fccc6be512e20de6c1e46b693827e773a9ea9a4b9cc53af474a9cd8d0b6d325c1460677e274a57b92669a3226bc6f553e789cbd201d0192b87be1be59ceb0acddb040a13ea342014d2376b8204c46ffa1edc563e575997a9be56cca7b09c663559a8a6d0c192b0fa49ecfd0b5be5a1846f45d25433092bd2710dac2eb76fd06e96f0cfbb2ebc6e9628ab66d9c0c8d0f61ea590119ec7bafa930952c5afd0d2a0daffef88defee50a2e93d9b24ee7dbfd09fbac655a342bff4708ee1b36ba8d677c6e6c62097d2fcda00b192cd2edba21322b94583de2c1a5657f3bf91fd7eb37f199e9c9a29a10b9f7ef3e153adf58f7224612aeb5d1dda2d182b9927e5ebffc72dfb237e8805586d7307ac6f86ad671261fb6b8094222c898b217d039cffc2ab92fc5fe24478610881724afe1a4d00d39002e4d9deba709d289235906a6319c185fcb33d0be65612a56c960768e34deeb3d0072265103d4e5af4b343397f153e1a64f3855b319515199060e259a2b75cd37119788263301a971b1ac9b4822bed0953d9908fedf5a02398fa0a28c78225e0417a304233d554774bf6975b460cbfd1b4f21aa7ad316d36e19879bd3caff1f94bac2d0d2f802758269041d077527fb57c2a4e70afaa191969ac6985210c566d0b08b08f81462679e4b3d9c67117245eb07e40ec37f2f9bf425703f527d5d9d58053d31415db3ad491c298d7ef24d05a654d92ddc83f8550e851cfc9fa97a7a2a8c0a79242120ab59406c4be6c05d5d3322f4b3c42f5276b095c079918683ef0882559cac03509e970a52e65c2eb182e70ebe0345f3b4e156bfa86fa6a7372db9f023924a71e30672d8e7d9e08a945f12c8db6856bc3848e70be31d07f4fa88794a8cbd79a02eccbf0824187d668be9e9dcb74e005c2b15b3e94efc532e475fc03c83037c7dd486cb931c4aa038004a65d2e4a8114dfbe02320dd21ef795a225e75238662e98050b82f10271fbfbbe62243f562dd3bb8203ddc1c9c170ce234cf897b2a38466c67152431599e0cd571c80e901f8be4b2618d319530aeba9cd2b8671e782d42ab29fab9cdcaa70e1f4ecac462bc7902ed22a589be7418fe4e7c7d388dd6152635a9974a253e411a088c46f4c62e2e3b0f0dc0adb9650f6c23e7fd7d3937699b45afcf85f44e68182766e5029ba799cc0e3735de8cc046bc40ec9a51f3d336ac4effb27852a0b67085362a1221fe29a5d8d143f6f3571a947f90ffdc5bef3c493ae0af6e764abcb82959f8630092b8ed5a823be8fea8db65cbb4773d7ce6dcafc62f1e3e390ebbe0af8ed85bb0ad89d2386a2602806c65c2e282f32bf425ad988e36b2f842220da588e17b645c90c87c9387867f4d0ab3f83434b9fe46749b2d264db3846f35b41ab5ed19208ab4fe40ee0396f3752dd1984093ae1a85903cf2b3f9528778d225aeff7a0b1c28025f2f2da8cfb4b317b024ab69a6017280fb8aa54b2423da8ccc4dc7e82251167809ce89d2a3e022e4deddce4e352d240a3b67bea42cc92616d8aec8e60b4f11db1e820967b7da08f4bc88f98f67842474f8ab36fd990de743086944250210ff38a15577279e53f939d1610e0c33082a3bc6d88ae0770c995dd64626c73a51bac9477f2361d34c8367d867d1bef2bce9513353de980d23ad0e02c2b5039eefd47cce7e2dfe9f94432f9065ae540b7567a5d8979973e03b1f74f9f19a5812ee8db61343d7a52f874bf0518042a849cebd4199bc46ab5004ae1e3a688fac32b1dfdb04f1378f912fd588bb432fc0dc203a71847903df3b8f23afba9031540f6a7a71938842be867cf01b0b19ed736ab45c32fb4823dea37c4f22830a21449471eacd0f3073c5d22d96d051bdae747d0c732b2a82a31855205a08fedb964830007f0d30022333872f39b26d75badd9ff32fa8f69edb10adc3d8497a8be8157662059c8d64a13c59370d75cf1068364bc804f84b7dcdc29f6f79dea901a783e8cdbb91e2ddd1f68668933d315ba9f4e9cf62d35166f1cc5f92bf948645dee1890d0fe45f79f89574982991e9d6df470ad7aedacaf1ed25478d2a45e2f1349b522675c577cc9837e80c6acb74611a44d9149292c5af50b200e1bb03330506fe2ddfea9b00866573d1d2f79547b879551ed91183a88317a4015132d5da411cb6e4a40fcafc52ad08ad74198c467dba6cb0ebbae846c7f7257eb4720bfcec21fe4b6c5f574bf731bb17457c2e90fbd100b33b60fe33f8fddc6395b9c9710494bde818e0bf302e472c214d3d2f3749d8f4132cf0b2a41a42ffb1b8e0b75e19e925e8f864628e74fe0e6db013bda7852f3043175d799530abbaf6e93abb003b868b610c061a16add3739a0c6777e2b763d39bfda263724df1612d229f455b159c62a58cb36567a1c8d589d255c89cc5c537f7309de2ed96e5a2c53d56ca130caf55f12a59bb0d5d04e7e5e8bb4f15a58df19178886d0dcf0e8ccd294555917d4e0b2d51c254104eb46976175ae96c6ebbb1dc2e72a1102d6d942c6a8afb4e640e6a99b6cd8caba29d5eaa544aca580dd37dd4689fd8b9faf0572e48f55332f4b407867047678819369f5fcefde1af32d43e009eabe2b9995c6e659a7a0d0f86d9dae5e54efd65ded75b97f704fb6d67b5ab8d025d16c6b284999cbc0928aca1460a31c1d11efeaae303c9c7537fcb762bafbf880c31fc61ff23095fb89cba9d16566fec174afa175afb7225c81d15c7c71deb6d5e9d576169231dad9c6d6f7a6fc137e039a2ec4333f36fe3243622da6ed8d9edfc279d792e6e10750c01647d29768d3e927f595e3e1df9bc5be1f73315a50883ce963e516ee79826dc73b47c980704a16305fa89f952da839bef0134f42c64013afc232459c46e806daeb9576112d60af233347d8add2081120fe4f4cf269c8290075ed97dfc7081aaeb5ba67a967c076c614f4e90b457209b22a5c48ad5be1a73e5608e6fc255a1d7ff63c5141cf2b07dbafcdaf71c48f95f5fbe338c5291ae2d593482c68cbbbcc61164527f264e352b4e3942d0874fca56a5010bde7c7d79e70f6c65d4b35d91049cfc3104d8809f1e789d304271d42732ea2ade81a2c1045defed877b1798497b45dd78daeda25684b8fa32c7b35766d6a17ab7e2601944d50649ffef74116299e53ab00e9b36ae26dd5f856c32dd50cdd3e5ef994b8df1939886945cc647fef9167501cdc10c1b53a7b3a30569f8c2426645aaae0c2f37cd9c081579de4012ae2563233b3a7a8d3950fe3bcd74f5badc6cd6f977d2cd751751c9d9554b26dc3757d05aa84ea361a584a768c81f2a6faeafad658eb08ffd8473301aaff867d6fa6268d7469eaed227e8b16cbb5078b98a303f62931676be4f74176fccf959ae0cd297303813f96549653e2e561c0f00387b930bcdc0ac5fd5f243aa38d7d5f0787f891a433e4880d824ba05c9ee5598ec9a637bebe60fa7ad615565dea7ea4a46d2c346c10277163c5f2a978a983cacb95ddc842151818715e6484d8dcee8cf97343c815a1db91e3de83315d7684475b2b31bf0dbc2db5290200e5d864ac775a0c96c79ad8003cdf6b01fec8bfad24eb4820d857851da7abe6c6581288fa010311181aecfaaeb1e68ee299e6409fd81372db623a9e60cf017c1ea7319cc59a797e5dc0358db8bda9abef2ec0414d1c0133ddaf780a0ab622aedc0c148f87808e7d57486c2870a44f08748386143d4ea38402536c934ca01d4aa708792658d541c06b5922b4cd11105a12cc38a5c6e1d7cc795ece691f056ab3595041c46f52ad75c01bafcb1238ea00ccaf8d6f90847b43e0fb124bf7edca1e4c37fcfe5670b3ef5d6f7f14611a5163f6696d13e996d5581bad4a52d26538f68add49ce3627cf4a0e9dca7128574b9e9661a723661ba310f7fdb46d57479f420e16cbaff33e1349582c3bc2096a52d64ce2763b48145cacbec2dcc08fc2e5a183f6aed4a0d9b7738baf5773701013cecb4cbf1394bf4d7588b1798cb80fb9fe29def82275900118975f0d55e8366e6059a7b4cdb8e402415f6502660cf83f3ca773ea64a58f4048bf3e645645f52567c56e0c80a56c29fd3e75bc4626ff2f12117ed151ee54d4f6e0ef860bb6342d3d6f27ddffda9d35b6f7c0728cce56e438f06fbf5c5ed756fc7e9572d17de4143636240d0c94e987a2c32d36337db277cb00beffec274ca809ad19c42f475c474939d4a59a34ff6410e7abcdef7f88fe0dc97cbc4936fb19f2825b3f235736eac7d963e839ab5cebbf521af37705a69500015f0c155d94dcb06ad0d572c68848edd591fc418d25beb530bdcf69d6899569483b0c60e8cadb202e9f194958187d51c973d4b1cf69a703ac40fd03c7b8468c2346b6c095d54b29b6da4e93b934c3ee60fe322b88aabb08e22c5f762ee94555a019fc4544183cc7725bafdca500e19056811b050354407812a221b2fdc7ddb5c38a055093073dc5113116f737e3b1dc24c87ec87e0dce5adc366a111b4025361b1b87a11ecdc193b4756f8ec8226a1e650c66e67a5f0a7bebd60a066927c52cb18509c8f1c377e1eb27a92020687d400d99a1125468d6ff86e2376ac5f2db784e09d7adc57eb0bc347db43c93326687eaf2286281c1e0f593e632cbbefdfb99287418fd72fc0a9f34449527738d0827b1a770ed41b9e5ccd53b0a399d412d0b70ecb985cf229c6f0c24eecc18416ea353b0f857458c102441d8e29db9f8158ef83c21cb34f333a39fd9e1bf01cb5e97c4f1250f945af4957666364a1b37b290b57267119e553fb5d9160ba7489b0e28896075c5a558f68a977607065ade6b160bcfd4c18780f484f9213408ff5bd55c85cd0062d97f6dcdc33c9fba6b3d54e9dc83b64b7849693297087a1e9d2c62a2ca0a088dc1d6730ad5b1cad1620e96cac408b038ccceb72c4dc957289a1fb7bbfb87c36bac0a1829d3a3d8336897d216bcf97bc48feff13045a31a32b7fdf2d06565cf7d7baa97eb340f3385911bcf56c7091cefdaaa289495453a8f810ff1093eeb97c86e18af177f00d85511f20d58a692228bd1afa688ddaa81fddfc959803057af8e6c0dafca1876a97438e0af7585ba63633181b929826175b0bb027a66a525bb9e1ddad52c07177168176cfbbb4895642e84e38ca07795c9987bf84d2cb13955c7b769d077773ec6d8daa6edaa6070763b123d8e3223772407644c1dda902ddcb38a87914998bb46179e4ad697e2586975bc930d2836b5a08f053a2404363f6ecae375c220a1ad0746356ed62b2afd0cd2d512563fa73f9ed6cb74b32568b66e140d7dbbdc7bcbca42cb37b575e5cfe86c7304383f3481f2f15bc14bb75b316219b51d7413737e9333cea5ae10dab652794240b4b7a484213984a489a00ecd2429f0116cd0bc6f20bfd8728c1b62a248b71f7e3f6b2b20bc122741560eaaed5c33239aedec2017bf8076768f44b01b540e950601e5f0a3c261fd7bb833c4c7f0242b5ad2f80f0151df5375f7b12637ef20945c9276477fdee00ec266d2971854e243d206ce6f48ddfcb5b74e83a3f67be4a26f73c213a846dffd36a4ee3800c9130e476bac8612e8f648563d8b1b2295e8a3a1db893ca2d90e6de6e32e52b6ff61d2846c9b2d676e48781d8eb18807ca907cf26ea22d0b690a5df24a00da7da02217de46bdcb56b89c2a26adcdb84b213dde5f85be422979e54594ab5e94ecbbdc56045cb806125c1d92524d4343be9cb571457981d0206da26a6c7711fe179bad2dc8e3fda7ae211016a56122bef55192860852158af3c5a78e722c9798affcab0963ddd85a74eac62e1b1c58e28b50fdc941747935123addd2e55a6740509383a488874d05d919e05117d914f673d2f008f8dd17be6845a1473991d2f0ce4eaa497ae74237180cc96107c2d201bba1d6e870ec7560fdaef058775ec932a6cfd737e1fd1863f20c01485c8b95c7bba5663f0e2d18fb162dde3be0779a9706230c3ecbefe66177974dd5dd1ba5588471f42fc89be6daf60026a976bde8659e10bbb9e1a4ec975abc282f448d22717ce39bb85ba11a87e169f97d7c47fa0904d016d20f62f297cb9343fb606213c4127302dc664eabfbd8fd298139d25427795371f1fee7c4951b750e22ee30fa402d8c1fac22b1a6e1eb6be7cbb25e1f357836e9b0bee4da569fb7316e32d2066fd0db2f74277e1c6a09550b123a4aa70d9f8b27fada9f3372734c35f4dede9d5c923fa3b1d36feb105ae10f745cb3af4cc481a4fbc0d3aea113ef49e1ccaf1edafe88561a4b08f11a96c7b55277210475c7df62fd1117d58794c73de45e8add85243cb7596f30f74c78ecc76beba0960f2126f4cc93789ca9b2de5635e259d2527239bfc7f55ec005e3ca1c413f45a7047daa3f27ae08a772c95ac4bdc4c1c5e080343b913a5105b1e5b09745c2f3a8a4beb9218d2031db1f8e30c9abce3212f1d22ab30455ae393df102b84937e4df6184297baf110c5a4b1f7a1def533fe4b739a7754ead5ea012d855a597036705b8dfaa7c2872acc3adad3f35240e86a473d18b4f947ca43f38934e03cd8b63f11b6e69939ea9a9702bfce1533c0cd5e5a604690afbd3af95094296fc1c14207c87e49793154e6da59834108152e51759f74aadbc01fa373ba3d8152369aae280366f7b87c1c78ae10735ef505b6a31c58bc7b568b3660099b6eba4156ed54fb9adf2e05691561027121b31f8f673e301bf7bc1463b4dfce517a951ea43050f42258590a4174271aa50672bf6cf5d3cc6dd0b724bc40a27cf1734e5b095213bd9a85c68b172c6d305cb808cdc355911c1c04c09dc4cd62db8d442c6de8ef43a67f75dbc1597082a16ea7e50afb6cdc177b5e314993b094915985c89da1167c3a304b9a6a55f5fff88828335285c446863aae606886b2b2921383fbddf15088ad1a376337dfbcd651934c96d5c47efe3a45950f5cee99d55403e1e12d7e89e36874df02b9e57677ab974c18345a0433c3c079a947bf02e913b88d990cdbe872ddb0334fcddd0c32d5c6dd6ec6f86241e4f2d081d35696b5183274333d703ea08080711ff80c2c95d124eabee5ee5316fd2c5cdf1df47395e3b38b9877c438f83f5b1e875b42b0214f635ea6371de4b2af71cad913c1b4ed86e9ef990e5dffd7fd806ef9e45f91d160285815c15c6bf70aa7344ec9210a30210319fa72e2624c42052b79b131aebe8520528144836097d88ce44496aec89927aec4f87c4b09570d213ae4621ee94712b9cef3642b66b4334fa4de1f407198529b59f908d4af43a6ef97e328d1d1777aefdf74bf3e64b2eb7a8291ab5509680114f12231276820881fdb2150f627a420e6f8ef0e280bd4eee7b4ebef65afad7fec313bd400c1180e8fc6bd116999feb5a2c80814ff7944dd45d8e52fee7a146c61fc3c15062d1db9be20f056544acfbf90161eee9fe001dfced586bee6432134f193d991f9670d8bf837b8e2d93b7caefbc18e92198bce30fab71d8d1c69643a5bf67faad7f133c8f555f86e41ea10bd98aa5e309396c58ac38526e34b62c8f37fac59beff24e2aff6f4412021252422e91ddc678bab6f055f2870fd5048d9a29b3ed987d648fa909a49106b2d47f6f05b10fe9c76ee78dea1f51cf9cce0b916135941b1a8fe11e1db4396fb806c2641039c7314c4288cdd661b3d0d2e040933ec135a0c4d9e8b71f2d516c813cdd52c9c66440041a3402ba7473c34665414eb932df0bc4f926279c653257450293d27f600c8d0bf2cc5167cbc5d3897e6c99d653b3f804df2da51c14cb9d4ce1d3a34abebc1e3a48c21685776f2a1eaa4729c23cc5c437a082160798deaeca086bf29b8b46aa6946acf73f5ecbf6b7476e751ef71eed681f0adab2dcbe680bd3694a5edaa35e079a01c2596e121e5f825bdead89efa3fbf1cb7b09e8c549f7cd34830d63072bf5504a09c0b3ba693922f6f5ae195e48334e4e3c3fc3e5a07bc5714b629608b6d1318fc4ab419022b1801e7b59ebcdc4da03c74e04312841b6a73c29ab2e953e0277d90fbee2601fcc040be12b33b731d04c5aa33d39cbf16ed3b4b624435232f42a664cf6ff17a877bea291712ea3a2aac4e4324018a9b3736179d664281af407bc69c1aeff6cc78968a8cb6587ae7e41259729636cae1ed8dbaab6770f8054b993125bc4454c7346cf6a9fc61fb1e35fb561bc7376a3bdee8b7b8f93f57bc3a75060486a5f56065198203327dea254f1ecac5d070e7aa7fabf0d85858d922f6267f6e2249fe4cfb425f64b4a9297af36031b04d2006a673260c55b6ac5309f92604b4efcb11fd97ed1927e2dbb361391df3e740ce7de39d6620dcd2e77be7a2f79f1c2149c652813b9400ce44ac430b2bfc7f447e0033925cea452acc4b1d89e28132007b32d8eb5ab24cf601971d3c4b39d13e8c3651ae0dd3281710faf183f9e25f115bdd2c4d8ea518c2725642d9006eb5638594428390f0ad3494494458154435f076a05c827c9ba22920aeb599912011ba5287f4591574a5799076e17d299492d58857ef0913a441b060f2b4cb2cc1b3cf1864af3e9ce3e538b1aee6dd9c8e64f931da4efc4e2f786a5b9c99b36fe1bfa913de1bed3f1ae0b5c7ff2784b0b0670e09c1846ace189988be7ebd51b527c2b9eda55c1fcc4884ec95fabe6b79c86e9967cde7fa3381526c0dbce2f846615712b79b3148c5e85a68f88890145a86b38f6f7078fa1d5955f7ca7e09dac9404a5d6172bddbdab1de565fc04841ed470a93ac11d273ca4fb60024ab8c889f2f6215757939989a2b9361e52815b20c6c52d72e0c96bc9c0afc55ab9dd8c4147d30d60aafff33842a4d64e98c41298e503d869bf4f69cf5f59c9ed6a9b0cb2733b5371fb70908c9e9545eec24d5b05508e3d15712d6ca3dc4cdac54a6bd2d566d36751a9b0287d8428d43babae801169a892e109219611bfd0a730c09f2737f4318cac268870618e80772b3a5c14dbe0d1004f95dddd1ce09a5f63945ebc46a1eeabea2dc3c80adf8ca4ef3ae6281695743f624d1854002d48532e55265f6a8c09d26870df4323fcf71cf9e711c1b44c7f891e4f3c6812b3b85238682c51dcc7b61bc4c6787a53651f3cb399b05e4919aff54bc20ed658f675065a2bab7c9be3ddce584dd9c1af4cb6411a1a79df6ee10a49d549fb6808d4cf97f40bd1aabf23793544178666e144872b4aaceb4cc96e44bf9ee4dd233497a9ad6c69019a0a2434c3b2aae41e994197fc13afe946c83de02c857a5bf6075993e91d0f0a8bdd8b8522ef2a85f5b60c252f6ccca3d309d80f970b483c3c88356ebabd9f272de82c02c2311c5aafe7d36c366f4a32fef60872f432369710d30fd6b15628487c367fc0615074a950ac4fc2c1f4e3484c145bcb3fbdc2b0ab6887fca9ee854fbd75020f77e256b0910c2d5994ac4560767c913bf73624c9fe43a0b18745709005b7f09ab38dfb9def41db59d2774e08435cc0c7b804e0601d1cb69f713b827a688086c372c5cae1e5ec1fa85800d6917d1a02e0e9647314e9735751bb8673804e58cf0360f935ca6af41ae2ec6a4b95cef63bb9aba6cb108dbc36ada1c347ab8bad4bf93065230a59ed9844f7465ff01b06b9e616ad9a1d3457ad8454386e8d68a0ce70b10bc271e5ba31f4c856eb840987caf09ac499ffbca519aa5b52d47b846828133713402907a91879ff5c5a1eb6f27d5dc689ffed2553348f8be1b381e55174d6aeb6292398fab50b70255b9663abe09f7b1a4c8caea9cad94e06a01bc2ff001507cd6c9d01d5ba732175bd3d1ec8c7b91f61b4e9e898d04e3fc6de70e773a0f83e16403baf1bfb99984d0e02926e0de40f38d7e65c92bcfc26028614c4529a794dbfed8e5f75f001095f3e0677604eaa3718f023f25374e193889c39ad6c3d3c0393b50fc2b7500da51c0ae1cef826010c3dcda77073e474c2f70b5b132babcb8d8fcefc2a4b677113c718a72bcdbedb169e2c5def2f8daefd5f0913571ec1ebd2c5b9a75e36ca04f5e458066ba864a013bf0d28b52805d7329497063826a996f119264b8c90405d063e9d19857a78424ae36668754eba310adacdae511ce063330fd2e2eaa016c87afd92fb2ef840a4debed00493243331b93b3a0aca72b1ebfe3214ec93d05a25ebd7e17b2953b74b2493b6baad493c77a102f6192b73210481848ec11b32b99d18bc20b72aac53fbb77a35963c0162b9a9501877b46b3378759a197dca47d2a0b1ac3a84819a5037b58903fb73e0281e09e63c348707b7b66f0b7334a0072bfebbc63c623d7f783c36793e4ba62bcc30e9b468cab20bffa051c2978fa9913d475d45a1ee269372dc7b08c7e22878274130b77a4d01c39427f5c2e27fc91ef7a93cfe0ebab5d5a214a9ac7a799a32e1795cd5c83b16e95dbeb60ae6517b5eaa1d2ce86382d8b248a7d53eb0f6d16d610dd8afbfb58a4fff1858c68d2c60ceedec65d2e5320ce1f2a86386ab2045ff71754e022806d202f2e8fb70bc8098354b4232d75b303cf27bfd2adfa377e3bc84c7c5525d908355f171db79b81cad5b81b498c79cb5873bfe5e160d73e15c7b3c938eaa7a0e359b35e6c6c71976bc96561b1fdcd6721345b505d3e9d9ca33128b3aa4f02bb854a463682f8cc131386c2109096db0cdfd6fcefec9df696e226e421e503324b6373ee625e08e99765ed04e33e50d67c584eb41bb886c7c69e8de10a3a085e6858ab829c7333517a86bade4cf1a36823ffd21dd48baae23fd317ec8ce23ab6d32e2d123040f740ac2bd19dbefd511edbaeb288d7d55d73f40aff7a967383790498cbabb6a6adfc46ff5d07d5318a0f4b6693fc0c32adc17ab62aac7c6a05512c0a82050a41cb59edecdeec10283567f5185c8a319314d1cfbb768b778be0a91a188ac0b85ff78779ace8279941e014c777e9c8e42d35f7aaefc033b921488adaf55918ab36da794c79bef6fb0d29f2254a4d4cb8b7d8db0903734bacbbbf3db6798a986e00dcfb0f3558e0921a9e4cf5c77b7ab5ec81432a5371baa8a1a726031506139f63cd4934b62d91fe95b68905b412c60b3378dd3755e29eafda657a33071b9b50daf6faf0c3cdefbc16f6a1a97f689406208acfb2fa4ce7e5644dd1c034eb4810b2fbe7d5ee0229ccfd22273fdc21f0fee4eb443fcf6606cc7729d37cbd5b02e77668c6dc6d60ba9274e4aa232444007967a0ad5c6f8e90fcb0a8a95d8b0eaa37b519ca947f74d68e8c65832765f205544ba6b7bdb0932c41f38ee58fb0a96595c4ac3c327bfe50427558f242144f831e360a62cff9e53425854777da783c341239e90279b78642e86d7a4eb2a3151835345c539b6d8c0529ddfb9d7851d000d7113e9935c92100f3ce656bdc751030aed237b0596862a08d1b0e266ed234fb4546a4e5f611656914ddd074f1fc0a97205894ff186e0e4f3957e4e7b9a8d064bbd293e37e8cf34ee5c9136a1cd431baf3121c0ede2be71de7b1991af874aa2b4e46910631eabf58c8df4256266d82da7aee5daa088c3c04780f72c4065f83d201ec88bf4a5602ecee067c7d1ba4c3563f2728ee1e2c4bd1747f0df22ab75d08f31943675692c7193ba899d72acdeb9719e8ad718efc14b0cd04a8a1be836abf08c4f57cd239c6c5016b525c386a56712ff6e1d777c5c1d9ce4f74e8d506f02a25f9c64dc44645518e1cdbbe7c9c27e8c2ed2624f5e2fc4e322739640fde291e97bdb010880a25801968717701f1798a882be3288511faa5920797882914ff297e1ac1135a80e566a7ad4a26c3cca10ebfef2a8d95525e443afde3a7947c6d9a0300a8c68e5711de9eb4eeefc902b4c1a64977d9c3291d256d333b69c131eb78116f6a81fe65de8591abbb25cd68f3c79f7a30c732dbddfcec3b7ab817d74b065125bde691eb5b91f1bb8070406146b5bffd42cce094aec3e4a7ed23a735a8c71ed2b82c5bf8af3d3ea5f2826af4945607835ccbb6d6a537b4f8daabdb826fe1410319361a6d670e6dade3039e187aeb14694be96fdf2e1bb9a207cdef333f4b0edc661126faa8c113ca12635597d279847d050d2b23fd03488017e69eff5c95e5f04deb98beaa24275f93f64c923a217bf57da3d6aaf3b055c333d8b90a86489d7b3b2ba9d30a16e350892d97e9b871964f6d729955dd493bba652e5e6054cbe5ffa0310a434edf3d502c96d0d0f54c3c5261d38f1e9b7beca8ac7bce9391e16e4985dae48e7a6843d514268702765ae50189c98deec786db2ae2a264d818ccb2e5f158f25d5dbbb8ee5c16a7b662edc7d6fca0cd6ab19cffab5259583a693ff5ce76ac498bf45464e307c3ef5a6c652031eea1d59765c32dc4f614f3401bb790ef09fa8814bf995d525b4c5f154c451c02948df93948425c60b48ec2d892b5fd761b97b4614270added00e4e2e0aaa42ff79d0548070ee51d80773786be683da865cf9d23ba383a769acdbf41d065936ca6f18c15a8eb84053e726622db7b3ed85e8b4ca1f6f86ec263ff4c809aaf7ec494cc99d75611fa7f2b8d8ccd62e572ed579d6e73930284411c99212a785cbfd28715469dea225d9157196b689753c163426f589ff339e10b8d3c9222ce3ea1c36a6961249c03385f4edf0bd68c40545dc786553c4e148eae0d4406912bd44690ddfa78111695f76120c30ef17179e861514eab5fef9ee605984208586a6360514b19bf034fa4d2cb62bfa11c9114bebc295c462487db0b379a6cd0188708797b9e91a25af9d1a6840f68e72ba35e9b28976713ab9ba0b37f4ad5e422bff3bbb30ae135912d835b9bb2ec7e31263ed69ddf73ed59dc7549fb9d59093693a915c1dca89effc03def663d8d0428690697ec38d6dab3fa9ea6c4087843dc80fde1b8aa718d6542d96bfa670e858fefb1524d8851d7c249f9dbea71890e1955fa006685e6888b79421d491eb3da707582f8e8ddd83fedfef5103e9b100001b9b711b0c57dd69379342d11d9588fb65c1b4da7fe67ea3a944dfe4e8eb0c0abc3b088e2bed26c4e4f79a77f8c1862873fa6d48e893bd572a08009e952f0465d7b6f8f82539571636706562f2498db3e7c03b6c8649d5a9f923265ac601e6d4abe357e46405c62d6f6cf483a795b98aa813c60580376433e1104a29b90eca73c8b626f6e566934e7c539e15464490eaca2a3da7b4767068c0af1a90a8f23ccd80b1c76a6f24942f491e8ec540622a4addef44ffd40e53f96905e9a738ab74b665c6db8fb2669eb50b5a1520f3c37e4936ff92fbb922becd29a088c318ab613e1b71e647d669ff3045d894af62ed402a501ec8b844d6b9528c0e582afe47e06ce6761b1946618449bc3719cfa6be5c108764f18ca7b2e43834551660de98c1a063e866b92793b76c26f939f090430ed6587757727959f2e61f265064506ffb02e9d969194cf61348d709319e8d3a25b7bb343d455b469145069d8d3f0dd6c715b231ebadf53d5dce1669b5aeeb0cf4745d2ec1bcee0de992b5acda48ba33d6d04279f0a2c3e2ff2fe589d643979ac05141bd4c8ca73b328e66c00ac9e7ffad37e84b4ae98f276fcc1d1993f630138bba16f2411d576e0cb1e4b4f7c128a967876bc721a4b54942ea7fcdbd3ba17420b745dc44ede428e8889a226bfa7f341ea955b52cd5e30f4b0a4a49d51dd4b7bf27668c1212932aaf0c43663e556fde2239566698b8afb74c0541b40312687f97da64b9c4ff5416767a22f675d57e6e1ea975789bcfa969aa02b32ada47db499dab0775bb63a611daaca1443ecdbfd046d62d11621e4b2e473b7c48b854e646efb1c0f07d1cac81685a66d1fe9359b6c32b3e8330d30069d8a37ab3739f9b0a337760788d6d9ca5d65b823e72c0ecc0d9a17cd0bbaae9c39f4b67add80c3375d4d0d114e7983c5ea23aeed057b79f34f965072bbf735ddb4f891b3aa9deabe076fb7eb26172df4b5378eb3aad2e4b826016c68c11fb1d5f3526a0ffab3efb6157de0b1bc4087f3d72bc2bdec1c0c57221b448d39898c4610483e3a3c7867176a0f5f42422d652e151f58c9b01b19ea1ed4a8ce5a0e17ed98b63ab1eba2ed89c2cfa5be80637ac5cf9417563c3d236bfbd285b175b7dc1abe69fb7f095b552bd9a143e58707c69e46d47b0aadabf969503e328733e9e7276dc03b3ebdb1d08ddc712adc781aaaf0423aa2fa95380caeac5d3ac0c1a31b0435ca690a7bcd4e9a68a1e5a48d32524e8db218d8d4f8b19b79403c37c2b0863b3173ace9c97dff68d49dea9a97366425a7c685b1443f2b50d02afc5251c67b1b33b4d0f0b200e2ef8b9575d8fe9da76590e3d780d27b7431705c544649c062b43ce04f5381487214738ad1e0872b1849e7019de0b9393fb31abe9ca2dd8e3462109ceb5705a0fae7df5ebb96ab5af03594bcdd286d0e5fe4d1f1366780687b47259859ffa5191c80db1150c331926aca7e01d9176d9c2c2cb3224aeb13f30ff152f22caaeee9e087a58c839f4e4efda2a9d4bd644c84315e3e19b78b8197fcedfd5d44f865ce0fb385ca02a14c34eb0e60ba211ef1de55f47723fdb44afbee294c6c82728c31caa0d16e221a23f9cc922a8158840bb9ed70c788697b26866a6c82cce133d0c5e3a314a41ec6c8793f9748df024735ba2feafba37087fa7cfdf1089fdf78203ba915145f1eac1b1f3c2a86970a0f343a923e0c97403d3b033c1fb479e8fb1cd22b7e3241a7f51281b1d7196a51c9195093a6341f2a1f31347a87dd15be830ed4769586e3db69ff5f61c64fac7f9f72a5ceb7252b75c47acc9a48a482caae359541c4bf4d23b28e5ecf5eadf5ffb34bf463fee6474b6501c6e31e0e2356d4498bdd996232e088c805287e11f290ecd5da5b0cb3c2a9ff0f362cd244e49e9aef8847e8ccf11e3c18e0eab27fe31f924d944cd93d7ddfdb4e93b08a205cd1aaa483a9605d3f7ee4fba7873aaca06bf8a36c2f3f5a7d66c2258164f84de23594ee039a67188934a1171ac5cb26f52d23dab50c2e051012cdc1fc77d930f1e1a0d8d092f301d29b3b04ee2391cfeabd6bf96de53f982945b52def66fa6c6a11411c7df784deda18b5386f1052a5d4f2b7cd68ba7faa9ef43bee838029db8a12054b8438bcb0baa9f677addf4396c4c6380a7fdc5fb0fcf9f37eec6b432c062d388314b8926bdc7cc9d7d9dd08c96c88a5986a91112c926ca1081aaae57b889a8b227ab61a8d98200615e2b343a94dddcb3e7af4b475157981a61f5e22e1c6cbd79fca6c2d18ca8294de8aad0fad510d717be11e93123e21792a64420b61788d0a75616d1007320e70557672b98a6ed5f2ee290a0501ca47bdeee9f75158bb09ea09df9a9bcf196fe8ef21999009f473b3a5bbb42bd9c849833f6fce9d6081bffe790c7ffd013ca4566531093f9d16b0c437e81a28a7f592de2b60dd4b7325ca4bcd9e50a233a6bfab57840d22d75cef1c7b468d9a4bc0d8a6b284831e63cf7194ca8115625c53d25a7c8ded93cd665d9ad22be048a268bac3d5ae6da6900d76a7bdddcfd78186b146e80101c705c526e3b90f0d0b3ffc477060d9fe67d5fd459a377d2aaee6ece8a624e6bd47f7d28935243d5619eef6766a4cdc7403b448ed9894654fb34abcc5020f64e2fa03750821862532d4fa7059e1063ef5dd0fb3b3b563d2a91224e67c7d8f6c8a09fc54259a24abc21422db319f5802b28149ede205b439abd12ba5cd086a19088a13879412dd9f53e48c5e304057c11d79e634fe1158f46e8dcba682f560ca6e833c45a0a2e1bca27ae9904cc6d0e3d099a434fdee8696407141404a6a9044da5c184ba380e599cc0b55126f8fbfe43adaf76632f5a8a912978d29ab772fb9c3ebd055af0d9fb439157cebcba489d45da3355940f340582e20ce35ecdcd44f9cc168be873f08e782449b0d5d0ed19735f837248ef97bccb444ad730340b1785c8f6a8e4458f6872216c620d9efcd79cfc9d639818fb52807e3dae61a37c800d694a010cd525a2161845e6de97e4bcb3f9b4aaf7e1eb54a81b9390d5c231f427fa4be3798a25e4622b02fecabdc949b6a39d32c0899fa2545eab25e63f2ed0a33c4ad1511426384d30705b6e5e6165582d2fd7a1bfa41fbce8242c72476222c55d17c2aa2ba933c932ec784a9085610794521c16ec795f9d7fb1fa750e70409e1587b54c125f36074cfddc0442df19ce4feea45f87c4f002e7ac0de959bb5f18f4156e36f33e86d2daddbf7f23f67eb92dd25e500d839455ec465df40d6adfb001c2990958a7cf433818e561b0037147272b56499445a35e8a9f6af68db412fb7533c963b00614bfd7205f7214f8dbc802c044a9b6bac359add4163fc5657ec41b58326ef26e2d569fe39510d3d927dcdd5c4c58dce9b05d3c428140ed7f0d85dce6002ba0e6706445644c6ebb3c6f7f78b790842598324f614cd996e3ce19c0cdfe2b75b89f6c35a57eb00c2c65d1e63b8d313c7e762b270793f9eb54b9dde455237803aabafdac8e391c9ddf5cfdf43119e4cccd52b294b8c7507340e0003279e5b5fa4b4bd217eb2bbe4ba6401bdc4e7c93fc51f040fff03e04b4ea1dc362e187056b376d0251618b336b811b93c6b799fbabf219e1d96f9911198aa09de53ecfe89896583b7bbf1ee0b584e7b34ffb7007583510b81565adfa36ee9d5a734fd691266a8fb697bfb5386c7e8744dbbf12a0eaaaddb0c8420d67e6769641d9a486033577c6923fec0a45fe4834578d03dd2bbfc5475ba996837acce50dea8fed6ffebc61cbbc3bfbd211fd4ad89ad9123d52fe41bd9985a90e821667a1320ed08fa557775ebaf51569cb451d2f5ddb755b295364324af223d648e12e8d69842b7e50142291b22174640593afd2d3a0a618baf632bb141806685f3d9893c8fa03a61cf4510dccef5a19b97a11e71c89710dc033f5cde9f969c4715a349d2f03be9b36242834d8ecf3b3491415bf8ef4c05dc2ef1630b8d8d102134f2268740593b5bf4bb1092c744151036c5e6d393ec910f0eda5f4d8a35e9c687c20b8263751b25035f0d3f2237c4ff7e9c717978704c19e111f46bcccb00d5b95002c5a84eba529a7383f3e6ab64149364e5d2a114e85d087f8f4739eb32738fc8d7ee6e84196d9e474560743ee9f9a6ac1c9dbd3972eaa210421fe8f80bbfa4aa58cd59317021ff86b8c71d0f52cba61201b5dc5f6b6ee310ebef18a078e8e664b41fa4a131218c3585737a0acd6e197fd2153c5e9d5ec4bf3326777322feebd41576f3ce2d9e06b669ac031349428d106e3eea4585f7ae6c52ccfff656a076b346763de2e3ceec59647973f19a35f44b56465f45d50b2e2a96c90b6ba34f2dc8e7cbbc0595d680c707d1e9b09bbbcc96eb14db9de3edac301a26c763a2efd94e5de0a06f7122dc0be6c22c619880926f318c6cc90669c2083624337e6f33878b61ed57a4dd1ea0a0c084184332e6ee246a29dcdfbdb52e720831acebc30904679e8cb243679778053c54ffe84f261ef7cfc4c7a41d1bbc38161560f096e66c277ae75e533566398eac08965375deb6b17142c680569feece6fd0d952d125bf4d0e903217a0c4a2963c857c8fa5b7e1a0a78601f489f1c4539580f0e45dc5b2c601c4679ad699582bc169c3cb01cb2f90d81f599ae0d3515ba0b6e7b4627569e4b49387fdb82b6ea1ca26feaf22fc455948fbcf7db37b36b61fc5c02097d4cb41d0be66c6c35fefa2de2b60381961146bc608ee036391cb865d755ca78c6b57b6e2f1e945383b24b79e2edd1e20c9e8e1b47d656df7b5f8a381dbdf144c836758d107b1a6f72c6168c14508d53cabe26d8d7d98e8240bce543ed84fef5ed530dbaa142f0e0e9d01c855f05bb79f90f7091ad695f0799746baeb847ee2e7a7c313b019b1096fdbe5c23cf024ec580292045dc70d3350dcf14add1f01ed6c648ed60e1d778c42531dd33eb65d37462c42554db13706cd3ca6e4ad4269f94579486a2e64b1c7a7e0f16c9ccbe17b0cad53b75515c131193bac499b54502577b27bf0859e169c2051640b8222d890e55013f003c46de2eb1d1fa435246858eedadc28a9d14dce5d1c880e1077ee8bb445967efcec4fd21701af0cdebe36c642b3bcb1e9ed7487b394b341f081063ac3d9b4c087bb974e458fdfdf913d8392f8256c9a575a4cf7060dbce792a2f6eed01f7bebe530840a654d2544d34e43d4ca0bc51663d03da0e168ce1aa10de704378004cdcad75db7002fe4c98127c131f1f29a9dc763c6840b0cfe14c7826a5c511f26585c2901fbeb58041ec89dae2ff61166c42072ff5b00c570e1858ee8790534ce121c0ac9a36db390305879db5293d75e761a803831d366296b37733743e1aa263e301ab661a297bd38ee7325fbd8021b82964b2784f0008cae2063e965844da2a087f2519f471268c42b4cb46cf584bed3db38508cd118702840f6eec789b533ddb8e3ed73f330122d6e99dc66e9004acf1928a4bba92a9b24b8cc6be66a0817d8cee0feacb193b094df1b6146626fdf72400b347a271ce1aeaba533ca61d15b08429c07df5f004a19f6beb8dde9e205d3576ff31f3110200b42421f657226663729098e646765cc83f02ab128b1484f55a70dc7917f7c4b3b41d17027cf54ffa39658002f24e97ac563379ad8ce9d5d2ace5beb654db282f733308b34f1528036f0f1a8442255d974298bd0fa6703fbe5b41c91f614c106c751dafc71e8e94f58edd010358b5e9e6de21d368e572d644c1e29a1a0ccb05c6b8e67667afabb3bd9f6fc266a0175d6bf87e893bc37678b471b714e701d79fe1910b710adcdbd71b42c1b8d9ee69abd9fa12c19a90f40c3aec3ac5c488394b4cca212022d1d9bdc3829fe65790514d4cc339bfd5a826f8e377e08984f3114dfc2fa58adb990ec9aa741c69e5be615c51d38fb95f1e9421b22be29acb4e15f4fcb0f8e7411b5e8f45754cbf485b3c38e029ea7c9d6092ffa78fce4bb4bedf424d7f4d57693befe65627d43988fdcfceb47629ff6f4dfdec4e0269c32fdc89d7853ca64910e8702c37f61fa83edbbb23f073c3f8eb012e74dd429c2187f1fbc02a9a6287978c1f005145b3a5f9b55fa7ec6c5f463a27b65ea29e34f02995b1fdb42c542a082483607d9e251b28054e2cda76213c07f9a8eb7a51a1337dc005f5c18e31183b64fa98b70676327b3791abc5ad198a80b4887f53a9ad54341ab7e1c57f36ddc09d463824a3629a2a58e6b50dc98f20ec5257ba8c3b76c19ed8a2c2ecd22de37185a3d943d9e57d7e5136d1318ec9a1d6937ee7d6163210dc8fe70273af03c417ff4b1352b0695960ac39802d3517564e0340367be224a4ac261eb8a84e726baf1e1779dad7dfad20c19a8c8c2f1711872ec2a549f731400da35495328703dbb2ec3535ddae8a05e5b2b453c9c6dd92f16d34b22f18d394b5399eb5f18402f7b387db42ff712f4b78da826163243a955e5dcf56c290e3eb8798852dc8217c743b3e8d6b86a635a9e4b67ed35b0e9a275396e0bbe9e407bd3099654bc56114dde9ebafcb234a4733e95863c37259e6d1ba964e38a428b5e0c30fa57eaf3378aa53b877dc0df30d9226c38f1474c44f38597e3f1186401e9ff5634ab0489eb577c8b85d26ea01048d202a5d9184a603e989d6e5174e4414204c048e273cd072a15339124c63474510a280250ccfe3f38f26c93fb637eb7154086a3e7f7178cfcc3b8de93edff4c1f8d28d70a3b17d1f355a7bd9e0d57c54bc82bcfd9a515952fa24d08e0c54b190e7d5651822163d90c70ce9f5e3a6f57b1dcad6dd6a3d453bd8d891dd16d151ee56e71493096657089286609c3c744836273fdf3fbbbe0d2dac058d60ade1aa5c25fdc1f1e0504cedab75abedbd097789157c601eb25c9f8d7ac15898291c01b01b721d66821d0d06bda866086c1f2d420532f271cd227bae9fe601b293f8abf39cb77d1722f02a8e34264af123ce72f268f30e46320f019f22ef6239d025293b8673679a4375091bdebc10b5b7674b2bcffb7abed57cedd3414f9232ccf9b1ebb798b91a9c04380a92700cbc84aa464cc0083184dfda4c2479dd4ec964712593221be79af0a7e67764b34af6bde73c9050217e422c8f5e39197451b49d93dad4b37f11bac9c695cc6453a5dec429b1510b8d2a48694f0304f88572afce41f5252996c48af88b47f5e4dcc0e801986fa869328dfe635c8ca6464c8124134d8789553790c4548e77825378397e2c55ff8e4c25c266d51e14dd90ab34f15297c8ec2314805e58a14b0230b6fff1ab80bb435ba9942f221ebb1d0a10f38307890dadd4de13a6e07b9838277071f4eab87273a4670553c3a33fb8b73bacd30822e9606282caf0270ef5366c5f75c347ab54e66faf6b2d8f228b9b34b724b549a424cbe04e8f423282c1d4900b15c817f939831da876b11cad768d1c414d1ea9dc2dfd9be570126824d4a125d5caca23071ac12a1818c989dc653faa44820bc1fd6db0c5c2da493b873956b24b6264f49fb302117c452d8692a4d23a8d683622c6b56631b9180b36668f8e96e645c2c35716cc360b352829e83953a97bd363c2d587a7fcac95ac66af61f024e81be881c86de2053e80138b6d68815d2a32d7fdfbe90db27e7d56b113bcd95572facdde72127ddf7f55b7d1603e4a31bc1785e6057aa1988a2a0258fb3ebf765185410a63fe8f737e04ecafd763f6a7bf9227d4e15799659dc76e87a72c785b2a298854a70e1afc01f55a75bb46cdfb570e3e212b3e7e1ffe7d4d2ee5a0006899a61d7cac5045d7505543aeb42093b8680f96d3c3afeca6a566570ba543994cb15a29c169a86fb0ed97c8b3fb447af1bf916468dccac868efac2e7d27e8321c246ae77b2efaded4014e59a58be1f86a66d616be7daf78294c63404883ff63ec54dde80cacf2d34d77f73d3bd0c677eebff37818f01fc0706ac5b1dbb85174c3d786a7b3eb99f2b64b806c594b8b3d85dc6ad6952abb07286d46fcacede0fe357c98375e98c3842a38b99eefc8a3d6496921365ba29f2ed1ba12ae790da7c6dd8bcf2f8e0cd9b5d21fbca1de9fe59d7028b3a41e4404d805930d13125d6b77d3a9aca5b5b65fcd0731d9786e32f04d0568594b275a7f0f82ba5231d74475ace61c4aa7b14cd99bddc34e32e08f77506e037ae394338e9fc4fef91c58a268689052512ca6e80dbfc3a6b38c0c8e26be5b94bce6b1b302c6e6ab30e3ae0aa746509cc4b31603c40f5185c8f661dcf347582cd18938a27bbd0970c6ca88f8ede408c00efb8c7b1cc73a14f64ad769e38a9f55d8634e80c979ab2961009d229a76b99382e050bc991c5f13d05206721213be0f7a0a61f2abaea9827abc7260e054fc4e2a5b9cce20f109f20f79850112af47f019b30981e2a0c3cb23da3df25310810e9a784ffc05e6490b61ac3f5c92d2e12a58a0fde33320d0adc412c109953b2a8235efe5b07ebe730db66404ad4e784f27be6647d6a4c3082cda1079c950c4017798b158f043a409fb91091f46545e6b07ce7331358c3010ae450715fac649ae7c30dc3f089b9154b7060b0a553091f06bb9f7ceec0b83720e55486368ab53eac241a99571178695ab186de58542e0caf8a8b5986dfe9d8f84e8709834e9b2831162ee30f0ad9bb06ac9ca0e1ad115f2712eb886ba59070ee96d53f86b2b941571757742994766e5d87566e3265090e83ae13034b1950b710b39e448d6f94943025be1b1230ec9517d1af2580dd935b55ac996b24d14d9e91ebd5e1a4309b25c8552b49e32ba27f4e5e00d47181633f314943add34e2e97a284f23c861ccb36e224db626d3a72397fb472fbe852e2080a0f9363c93ba4502a7a30d2a5712cebd42e3cf1b0a7fe653acf97e2f0ea6b0fbcfce9f52624c1f76d57cd625cbd3be9251e25a8e1c82e4dfc8d17637633ccaae775db32add2b2384a68d90ab88c31119d3702133ec4a2f14a8e61e6456d4c3ab8766a5af0f75d8c17cbcb1586fd077dd9d6a974f29927b0f0d95dd9e6cb12d54cb4d10831133f58ad9ebe38d80fd92e8398e506707e1ba7343917783f2f483636121b54179355b7b0400df5a47d88117e11c174edb1f271fe5b67d138ace4f0beedec73c006d47d905ccdd25ed536a4daebfedda16e319cf814198fe0e71ea2866723a2c96c2319c303c6a0d879d7c8ad2ddf01c804be54c97eba90ff58fb76f2f4c23393020b3fd513e6c13e4a45faf1ff2d473fd3280852d38d5a32139d443e1601b9c2ead24b123d3ff4ce65ad3bfb17f6ad727f8979468bf0faf0d9e3e102b876d6b02a7a9aff4875889097cb08ae3ee05d3f051a30ad3d150d8a234276fccceae41faa431bea0be2a9525691140dedb2c6f289ce1ab4dfce6792784abee44e200bb4b51fe90f0f3790d4eaf770cc09327666afcce34c2f21173937ebaa59fb24c587ca9291c3f00b28574e9e1303c75eae2da527805b4a35ad9c6d5a2f7d1b9acdf943476ac0d24a07701d2dcdd835a1fb8878aea5963533f16b3aa4b379b690b6fbc3886e040fadad5c50a66e721fddf1e89fe01ede884d235934f88c5a628f9fdb46bf2b12712c69a0bc774b81ea47db63b577c7de565cdbef8813ef0af94922d04ab13a689cc062b246c277e2ab82c8469bcd49535800da26b5b22ff93ae68206f015f166c07e9d6b1a83a6d9a95111598118928a4ae91ea9752306b243769d08b1f2026cfd6ed0e2673dc1ab5c38e77449d77f741fc30d9be0e7eab0dee7c8ce7276b6e3c63e13759ee8ab5d7a331cf7f7197e072d5ad207093da8bb0ef992de8d3d6656599683f4cd085337f831c62de263cd66d077585f0beb580c1f71b6817c94ec6cadecba24068db37ab6231e2720810641fbc40a1706436d1a2777d4e0c150b558b23d65d5d9a4a91a2d86cd31a7017efab5cf70829b29e1d936c13f3158b63e71858280ce96d790d635b29c5cf4f6d0898367c7ec24cd90f87ffa9b9c2eaa1e0643202ce0bb31ab6303d6727c8a75c3d768c1ca9162bfef9576e0e026e59ee29e35744bf9161a9fbdea50580223bfebd1035a8c81bc1d60c1c0a7eba16f4afad3ffe85e2e93d1473fd386f03ccaaafa161434d73fe30e35c3153284cd1a768c92a47751e967b95ef90554f7ae3cd1fe9c3909a604cec51b6f5d2b94ad9bd6477e64eb437605add7197c4a97e004d6afc77af77f902cbdcd820aabd982dca19154e5e3305062ff84294749aed7d84d659fe55924a1fe4a1c827bd93d5d7a63bc2c6cc5d28448c089e9c334058b6165b13bcae345efec11ccdb354af868483f79aeacbbb9cc4bd91e848b2f3d328e381ff680fb868f3c9f20c9a5c7410018ca2ca06b472468fb206d893d14da1d8bbfbe03da32bc1012805c182c7053c304f22bcfc0a25d1184a29dd2fbd3228a243c87f78f613060c0627c8124bb5345d6fc2a86648240a54317ec1c80a21c507346261a31d406d320c28ac29cf77b005d10276a495a33b05d1963e4c3b67a9d4b94a24aca7934ed6f79f7e0f13830c447f67e26acd0bdeebee05488d27c5cbc6a81e02c9e3d2a61615cf62c8e3ee57e729768d7443e8f8844604b01c166a41c87a9b7f80c9e1dca62a4fc5b2c71c81a8a237238c5f6181f0205338648cc0e2ed5d48e7b6975d160f8f633dc363178e28f8129a256fcc4a338b19f4c5ccac1b46d590756554abdd9e377e664ad214ddd84bc535983d48a775bb89cb5d6f06256767e3f8d0cc79fc71f97a8473d405538ee108a5dde126dfabd3c0cedd320f37958c2ae667aa55dccc25d661fd35c793d972ffb3b384ae07c1f28bb55f14850d0d0531670a0920610dbeda7372842c9005998c58c3ed7a98008c2254ee82b3eeb949694c7d2762036c9ff44413f83fc18639211c90fbc06f29082c21e816d0915c96441db4169bddab5de2c5c167cec3b3ec533dd0e958bc9de32863272deec6969e05e4c8835c4f03aa99be0012f7a80da6c070127d6828a10aa1d8cf9a9cae42ef02774fadee323dc5ece53864cc93224d5c2b47b8ee020591f33a922f5eb0964a2b53caa32139113a63901f96a472a9a538db2d0a969154fa0f686a13c18104752bf83ab299420c6dd6bdbb83b26387285f1e0046df5954213657fee8d2dc60df4d9b923e01394d4d55bf896b91dd87f6224a4703435c0fabde826cbac6a9c4ee43cdc3df290ac2147ced45797a14c4bbdc7ecf9cc98e150ef36282f8ed4bec6db9969b1d04adfec12373739862ec0c47d21d4c0437d95a0768362a0afcd264e2d15f55f8cd6ae200f0b684940206a5b2e90d1d1dc0a5bad634b3f81c7b073b2b419520a2ef05c5a3312ad77f92fb97a84ba61815361ed30ea95ec2613697065a49dd328334a48136c77fc04c81185fdb38ec22eba73870b001448ac000cbc1a40d0eaa4d9ab5158f0f1120657dadd077a41f74437782012111794596c1ae64c99ee81643973a6d2603894e30e64c232ca1717e681cb077c913486c179e93727886eb585ef770cae118092c91a6e42f471d8acbf4db5f0aff4b2e915722379e588405ef213bffce29b1de1bcac63cb000d3d69f75142f98bfe08614cebf3ffcf5cbaea5493c820b8c83e08d58fc624e9c5dfe81100cbf0b2f54d8bbfbc8f146f099dc94b5fe405cd4e8b04f62c5a8c37617e1942bcaaa446f5662a8e7c3afe8bf2f7025df3bec9ef013613485f46b043b0fb0e345b0b749e95dee323e8f45edb1ac1724ae22217903d462352dd1688fb37eb8c1648bbd7be2c0ebac1b26d12178bb7300b60aae4a8cb56f406dacbf63dbfbb1bdf9c12a9c220e172978cb8d5ba3796256c0f7b6c08b9c6999f59a4dfb3ea6001c36b572c855979734f0407c77e4e6497d84778dec3196f227094bee52425659476b03c7350457c5773e6fb7627b7ec1602b076f34234e73e3bdc8524d5f6368186fe254d320b0ecc1f1fc6f9d39e962f09e0b1204439203ecaffb7354053c55643ed378f6d7858c1a364d06b75cb7557b2dc64b806b12acdbeeafe28fc00021b8a5be9c00c94df755e0245f6d6933d7939792d233937b140296978495a33ddb3f896f3e3f3cddc8ff95a9a1a7dd31dbf3c842e4baa480121df29caafc31dca01bc46004051fbe41ab5e7c00d01f728ad1161280378f52589cb49bcecb8aa13f00628251d86ac517f8e1db70b13cff1d76d359b00809b19ffddff513d5320f3186e13e8893f9a926a4607d050e67874afdb3332cc4a0b4abdaa5384a960464eb28c3b82ee7b6f0488eec791c5be8027b7b0dbbc25c8989f7acbd5a0653b8aff31e2cc7c0579b01db35f71dc853c420ec15d5673e8edff69f12185b662237586f8a40d3adbac3f70a156caa1e81f9abddb27a2ce4eecf4ef0666d132a23f242fce5a315c6eb8ae7196f2c9f75de22348003daccb585359e5f0bb9d185dedad2eae6ef526d7eb5f7586f5547801706a77959535692211e2e1985fc9cee2b70ba2fffd4209c1b7e7dc420bd6fe41ffb7266a219a2b212af0d342df5045f86cac0f777d10593ce171e4d82da5b4a68587c440ad1d37d22a21152472422307b38ebcd20515b972a175698424aa234a86dc7098d1745b38f8f55543538f0612f6cbd98290816a8d75300b6dc92c3973d7c7a93f014c85cfe819832948af031ee09cceab7a122e4c6baaea24f39e8ecf6993a21a5eb1ff5897fca63b353dae83d4eb12ba8c53d3ec66c48629c8def1d34bde23085e912ccbf0a683bbddbc55a98045527a3378de56f212b76145d10e965b35706f078d922ba0e1ea8c4a6f2246b36e96b816a2e6d23728473faca7b62f93c7f224bccff6cd3275bdd19d83744c06bcf9f05fcdda338fb2906a85b07638012b86d68c68a8a0bd00eb18c7308813f4ce6efd2616edf25e3299e2ed97a6969300206129e5139d75981a681c14b7e895d7e572dc35f97e0d6da778e28b5822b83dc33bffb200cf475a2bc792f28145802c77e74b9644b2217879216963de5c42df5f9647d2ea3614ac5e82ffc96f37b61cc58d053c6a0b3dda10c175469d9c5d81cf00300962ee8a973047aaa8416d2c70779b7ebedd4b192b6f71d9e9c1646cd4424773c11dca3bb815b7887b30030a68ac8595f42e8ec87e0dd55d1656053aac4c8ecf1cd9daea66afb3bbc3bef84ac1fab7537050e2c392509cb360e813c18034b8aeda8457c3b181a93962bcfab037e484752db5e147807437405680b159f46bf75b77ea729d31c669ad06364c601235df48311c0be6b512a2d58f4148ac302b70d3e511a46faac54a25e0b5ab1a26d11e2b8e841cbc7a9dc1c089b985fde80bfdf471b896e3ca6713c4cef47d8e57edd7db7485beba64c0a7ca7fdcbf2c336f2d582c59cf9117cc34ff83fd019c0671c3adf34913dda061e7ad16617ec43fed8140d220ce016bd47c8231b44a66c6d87b49190535948e37ae712d7df4f57b92c22d74a408751fa59e5c9475b916ee953680ef8e9ad39e14dfd36f4c45e2a3cf0d92bdf9d82002607552ac2f4387babc4d09aaaa30bdc28dc0c7bcea06b2d2adb5723647c1be1680467d7bf8de88d930cc0255cf5a4dec8990416c98fbfdadf73e818f4538f3ea0de7d8ac91a464f81bcb64f5efc9fb86b3c38e6ab410a964b2c08c183f1e23c94ff83a4f9cfa3427392dbe6f4f3a416564e04803c25bc331f2df1adb8f2b6c80ad9557a30c0798d5bd32292bb97b8ad498b9c954348b87708814ce328159d9e5ccc65b9bb3195192a950771cdbc8bef2d0f0fa3a29532cf87f7446efd3bc97d9fad3b9793552a60483e1547367977b319375465d6764514fe72d41652d02e476ec16fae70a61f6efd07ea3ee7245ebe8c138f053884a435e57cbe535b5eeec314490a8ce507fbe811777219c267e797d860e1541bdc3b9da12053f0b8cfe41bbfe6598529c8f1da0cf29bcaaf4c267f8d378477ea48df1ecab4f94665a5ec7ad60a2c5837bc24522b71b03f112c3d055c1d9361e3b35ce41d782972fc77acec0598461e3f1739bbcdde3ead2108eb311ec891821c6d51b3a3b2f1ab43dbe61839d8deb23e45ddad99d13ba6ffb4988eaa8e65121b9f657cf6f75cbf595769986fe2837b03d1bf49c0ead1d35d0a0f472adf085c99c30b4f04653876f1cb4d2906d92c62157407abf4d500dd644431b754969ad12b216483d9610222d86e6c0546570e7335599d27dded1236b013e9bdfa61de28497e8b598eac767c57022f0f26128b66325c706ca5317cf6d62b17a3016b56363fa5b52daf9f03514626cf8b9fb619011419035fdfef8387287281e859f66784244c915fc11e0a56ba134b7a84e1e8989f776f654cb4346af0da4e152ff98c487c1caaa329dc028521a34e66e8525c84d31bdc5a06020f6b6f8bd73175c238d0ba81af9b70cd385411c028bc7d85d3c42b55585460cca7317c077b6bee84b157a97df6785434c264c3eeca1b1edd2af2a04510eeae6ec9730f60a5ada57a13cd27663ccfbbc4ce8ee5e49a88790bd61fd38d7011b3b91545ad3b7b7b65068fdc0ecc99ae04bb43c17a61139ce886eb253b26cad18bd59652d9d1c6fde1864bf75bad37679ec5c448eacabe096bf511bfa54aa1acca88f559fa3e30320d16614bcf21e0f32b7c201735c069493fd4b8cc324082f1e78ee96b488833a46a2c0c47b6cb322aa7d8d3c42f9f834d4f210e4cf4791ee05fd822ca01994ac2728ffc81965ad7dcf543555f6121c3cfcedb76c75c4086e8268a408a2294234c4e457c6edb1e85cf229698e7c97550c943fd8a579e35e84d31e35103c28441584b4d8984cb6635834d99619c61ce2e59e3eb31bb3f32deda8f78037cee5870477b2786698beea5eeb5f950497a53c45c94849d0e9215deb98bd512fcb7255c58916f01c8a2efd52a99c7aceb38464e4ac66b3c72d4c10745d6c67eda94b6d6d774366969f1a35bcfd4963f6c153f1b61eff182679da86aa5afb4751fbcd3084649a2f2e74c6890871f0cbca06d048b90a29d7c3358b8651ef28e5e97449aeae2427ddcae38877c34f9825819ee3d75b3333dd947c57a48bee201a984e277ddc6da42f8ec3f6b13519afd173773a9dc6450ff8c87376e4edad00860b1b8b737a6780d72ef312f6955a71f18f0d6d1ac4de1a350479cc29773275fed6bf9c91b38828e9994003106ccfb7e3849840eb0466d5e3671583626f38639b0615b5375aea6ff9523217447a047a9b50a7821acabd983d6508de3df519f872fa39c383ff2c43184bcdffc189105839fd5b59153e1f08f9d8d62d98f260d6e2bc95e1fac46df17ed64e6c2711c0e28f031b6fcc50e6ded1400d2a016b1758e37ae2b838b0d6cea95cb46c439191a3b38ec63c7f3ae99eac389e2e5cce9f6855809116969a60af8d7d057bde43cfecb2e0474895ebb4cf1e853eb48bfaf5150f9c6b02d89ea6e7d3818a1f01d6809d5d5f371aceba4af53231640057fb4da5c4645f22967a8a3fe0edf500452368da4edcdc99033077bb5e5c5349f52fd7c6c486e9d50a2f34651340226176ccb0c7ccc8b011725fc6111193351baa457b0bdf117d422d5df37d57de450a7f37303dbaf8652e1629116b698f0b4ef6448ce13ab23762d49f6528f993e03f7c1d5192407208db089b1002ac802b86f79a50b40706e07342773d14ecac120d70db865af931128215da0ef9b5f3a560ff05c5cbe2320ca2dd232cf1e427d06efe7d5032898b693944d4b21343d6eeb56a356e2f70ff22f624ff202b56c5d0a5a44105b0539f60d90f8f2767948b8c8f0177daf6ca57d290d867028e611dea5dcda85cb9b04dc39c95cedf3e3780194c0cde527b742cdbb34f98daefd60ea70162f32f5c1bda4562a8c1533af3652f4c03a5b99970427038ce4efff526ffb5ba6c4004aab4a46eb4984e5ec424482c2ad48004e10b6673c494c341060c2aa5cd75121de41f1139a73723decd804f15ec88db58faf7d20c803b854b425e5deaafe819e420e5a645c068606ab5136eb6c0acddfdcce5cb02ae7ac5c54711a08255ab98d7b1450e5d108e05c82ec5933c75c0a18d65a273c3c48ee4b5078b99d0f848809725a20e21c6f6b2e001eae24868f43e9fb5b715c40b6a270a5a467dd9f907a69b7a4ae2153a4d5f56cd66f76ba410c2c7e683393c2e2157ab73d53ca222eff163b4b645d4027c51cba4e4510b2923b32a8a74c2c1093d6548eb0e852bd5248e2a271441a8c0e23cfd22c6dd6710035229255999d8d5634278d5f5abd1bd5cbff0ba5c0b8a87c57e6223c7412650729150eeb12751f3f8018bf2a82ec3b205414b51352292cf5be4943175ab114af52dae515fc11f950c32fb9d046a28efc4ee1c9965b32311c378536bdf83ba6fff55ce94a7feec6638126abad98b8bd1277a6e2df6646e4ff31cd424d90736fba7fbe50c0f2738453fcef17326ac1a999e7acee40e398fb2f4f233c96d87010c3de0acb9c95c46af1d0cf5bf67f5301affa8f0f82ec9b4bb38ba4d0b7869b4d8abf63ab24701e9d19550ea8438074b91fb16f20887611b9fc994959bffb4e3348c8522e069a07fc1cf20ba2dd9065baa46a05ba24268bc15b1e8655a5c05f64170dabdeff9449739ad1f30e4a1e4846bdd8bd7ab2fbc5c0e719b541102e49978d2e30424faf3e033b1faf5950043b21a208d6b5cdb91ab71ffd6ea4f2b13dd8a51ba06fced5152f6e62965725424822f94aed533a758600940694645d32d09c1ffa81627787c04a36fd099793c2396dce8f13c5d8536adb3dba288a210a00a67fcbe8b6d13422492fe516db5c2771e7f104424c769285aba734a86067dba68298719de779cd07a68245b2d4f51d1c5d8f805756acf277e1fb9ed37be1ca4803769514e5729085d504a8800a72d5db9c5794785e3ae2120446e48d3ceed3a131d631587f3145b8f452ee79974408a883891ee54c13463dad8bbd01e6c2583ae86a42e5af744940a30cb3fb7290056968633f052b0b36e589a16e065b194c9fee376599cb6a841ecc5c5039c739189b2bc5ac7748a36ada0c4e5206d824e51330279520aaa36bd245469937af67653072aa7bc37ac489de056381ae0117c9f8d8fca708bb7e11283e0a3f77f360eea27b889181ec1d6545899422881a4108c2e11c2770ac53660809d1f73839dd21d62f1b156b211d1711988583d1f9d3b1e7591a7c90e18959ed8fb90e771be447dba1418d3dad897c347fc27b55a97de622a0393341a01ed7af2254b5e0660e86159d0862b2a27bbad287bf63d6d8ab71abb6afa1132119ed1c95a28f7a23897761236731a15b2aad72a3e8e4e524f4dce465b1696338226339d678e3e6e53371541b484a3a0c84331cdfb28f4ee97c6db12f8690af376eda0aa0cf4010bbc39cb05da76b056a85e5857b2a8af2559f07172f77195ec107e46cce88d040b577163ce1d94251f758f9ca58a793c32fd9128453ec5b8b32dda078dd4d2787c1252f0615ed7d8c711a7ef0eb58f29193fa8dc18f8811a1f450a5aa365debe7598cb689c3f30cdc5c283f8facfb12d82158b1284bc2eeecd1219f9e11948304bd7c7a27c24f7699d210133cb272e24470516421ea8106f42c2f2e7831d2baf09a0f036687e5d53ef0e7433027b4457cab648cab13dcb2975c5465b908b9cac2841d558957e6f8a1f015a1df4a8bed695424f1bca0d93257dc51d5aae37f02de43f774dfd2d0ae26c44032d3412b73a4a8518680d6e22fe2b19bc31ae96e78b409d5bb07df1399ba7c985cfedd968d4caf134d6103e85f618ce3ad803d5f2b8b175817d46cb4a853719e86ff7b63ea5837078839b021e53d9e56e40bc20f57374ecd6506fd722241f2ac7de0d7a0e8d5ddec760384f3a4c1d9c80bb842fa65b3d4d35122f87f62f08d217796e5d02f732a89da1b1a5061b7259dbabe37be1da5bb1e76385c65f04a8e2a8b693b7f32077a6d22317eb125b8be6ea398eb916075a0fc1e5d15e2ccbc3dffcb4cc41d4052362c06c23587045ea4944d484f138c58d9ece1372f30996d87b6804b44acf5e5f4dab51d11294315a7c23326e327c7791169c9850e90e802645a9047e1f4544a302c6a6dfb79fc4f45a2a0d371861e849200f8acc6b9d02eb88f860e8b85cc9cbb283200a37d9e1410e57065ca351938198c4f9736b55caaa8ff53f6359d39c0ead16607a6fd4047a0bb40615b5eb4057cef27a65d358d9999117f06c46df0803c64cb0cae2cace4b0200b3bc10a17d6f3cf9b7f46ea69ef15441040f63ab9c05a17b653722a5c7ad1c70eba0006053e349951b52c582960c48f8f0d32068bb84f1de37bb7711812d3294baa14bd53d0185271c638d466a3644e9ebd43781369c9de4b0fe4f4a2ae9b914f991b7de3a8245f3ca685e04db36efee38a8ae8ce23c7f598958114511b895fa4d02b6eecdc84b768a73eec6c1c5e58fc32e65cf3b2e0b9f09e46067b7b5246a8a8c2edc195188900362e9c4e7f20d83067f37e14a97718e4333c1df20e503456c2bc363d4e10d81cc53b9a473cad8bc647e16b32502ef3484a949cf9714ae7ca09bb1d0edc9a485cbc1efdb1c438331ee9668ee956174a360862b5782ac8f0c869104dc6019235754d5b5f8d99132f13073782359cfda72146144c91f6a3afc7c3cf132b73a34bf24d10834784fdf1eb92abd264d62419fe6cfc17ef03b685eb7d37eb8740f62095dafe9614906a2afec1a639b224e3e3f9822299e40f77ff786ca5ee3b1726877ca71cf3d38f3f514f8de87bb951593c535c8c2548b8c7c4d4ae017a5e7e26fea7b296779258cdc363585354a4af6c5d449f922d17c41c9bf6fdac285ed26c9267d5d9e6a874330735ed182efed9ddb2578a827e5339cb41ebe2351fdbe6670e2aa0ea14907687d681fa60d60e3fdd6f5fa0300199b946fd2d9bb9e82f5f1cee4fc111728cb6607916da4e32a34f859636bebb7b2617ac9950d5bdcd741a082fe13836eee1cc549d9c65069e1e24d9e5b37b5a1ff33e714c80e7400261c375f32fd54246582e3f0ff6a56cca88a8c1d20c704fb0244f32575c332181a0f88bc18c6222c61efa687b370884843e6c3de1e2378c6271c1349b1991659cfdb8363d1d25fa366092abcc0eaceaad824958a1f6c8b70e4c0999a8062b0314763658ff514222bb787aeff702869f4dc9f535bffc7424bec529815f496eeeffcf0fec2ee27647017fe403a42157b3f44aff0d8adccba413da84ba88a9637598eb0c5a5f54c34cacb334d6f9ed344de38e44b1ff6439e32ccc1da4fc2ad4805287f2da1da7133c604ca6db457f7b69cdf89f4aab7e73b6d784d820b767691412f49e8a7bb299dc77c16dc300bf700021dc392d6482a1a6b50a341e9c5b7cf39217d763dfe3e223e28ecb2bd7d3c3d60b0b4dc9bbbb8d331ddfd727c9c97110a966c28a0cec02529013994a895633a96d37b12df3a1cca9e04903102e0244bb02c1903c0eff890ce617da14c5cf9078f88d2adeb2f64735299adb8c164fabea145e9162b6917f0802e8e76032db3df44a9e450feeb1f71b60c8764848b7b04b3bc6a544322a70987d456d7828e0af3d3eaaa233f44acdb890e24ae72e74ab65d1c2119bd001100f4988a0e1e32915e853881a5fff35be2e3992d5c57a8693094804ee9d131dd8d527c04f7692c47bbdbf9368c856e39d483a3021cd12ee74742059c40f9dc319b9273cd0ca048d484a9275e582fdeacbe403ebe803bc6c0d3ac6ff33d4f2c7e373e9becb04f4e047e27512eebc1f011c098b73d782475cc38b8a03203dbc4775436c4bd25a1a6a07e5db1f641c5a55b7d3811c9ac8d05bc46c21d8e49e5f225c242aa7792877b5a64cb7f1ba8913aa7fb2ba0a62d0e791ae4639b74433656017fc2b43ddcc18e03ff918974305aa249990ea6e964bbc4eb6033f663b65d97c49442547ef5d9cbdf268c307f9098935ab0a64bf30383fb59e70cc30a5d42af06271e14bbb33705f6770d21ad3d06aca2770a3a0b6b6b235c2d5159ba5ce35044911b98df649f98e5c8e3604fea9f9d04fa5a4654ff22e505583f5d5665990654ca472c048fe766745690a4273e048ad9cf6904adc8e21e8c6d84973babe14cd4c924d6e5f4b91c4bbe44b34c15f021b077c9b7cc252539a76f8e2fa37816e7e8bbc6fb6669e3f550eb7021081f91f783da2ca8982baaccf65759696984b8685af45294d2b35d22390f317209ce7fbccedcf6ddc0a32a657e5ace6d3bb1da7b278574aa1716fe61d71ad35b380e54f680383f081f78904edad7c69db59c6d33f09e8e12f9e661a1f56a81b42d312e9b6a37586104a24318e4ef48ba9c941adf0abdf068e837fe61a2225e3c9822575d051ca441d84b1cbe3a020b283e4a35fcc5ac0838065b431a327e0f2798eaa617811b23ea3addd0f8343f3597238bdc55cac0135929a1f12dad6d6f3c0ba44b8dcddcda9a0a84a7c9e22628b5ce58104137420fea84ddfbb8fbea68a48ef0b4210312cbd23f1baf28103eb3fdb09fabc93188d98894903d3e9f3a869e9f5b23b0e235df6f47b0adf5c99b5f8d8908ad39fe13057ffaf6b71b942362f45ed5195e1eb8a4f4d9aaef0aad0f74e8f1c4f9d74a7c03bd228ae6452f249cdfea46594f9a44a58965528ec5197cba359a0a837dd4164b62fe72662ef6e1d1e97016b63ec3ce108b88541dbfa74178b1af00541c05609985b2091b9438b6f4c288f79a0b086795a6ef68c64ec221324fa043bd7687abfcc86dfdb1a9504251b78f38b0c461b514f6ab3dbee00c83390361bef18cb5f26fbf820e53ee875b3afb7390b8bbe0dcc87cd9110859be2193cdbe64f8f1633dd8b6c632cd74f9b8535f628fa4423d775506dfac2272702095b4050fc598d2d3b01b54422210669747e7028680068021ea023b93a57db21d8aad650db0342e513b05a9c9bbe0a4b0bb78b5e57480d9419ee60cd8273df3a948b54f4223180012bb6fdedbbcb30aaaec3a058159ff4a03a8c2ad972a7ec336bae5799b976100e8f2c247bffaa56d1dea895ad22448a29797451358e8e2a3e6c86a260bbf4e9aa5a412d4cc3302e3131b0290dc887277515114591e932f95f6898db4d88695ab1e724e62bb75bc05e7526d34c98a292f1983faaf390e124807fe1a5d223d265b0e828af95965ea958a7d29bf5ade8d994ca0eb519051b40cc035f2dd6e812c6cc41fb64ccb7ef1c44257b676d23c1ed80640c0bbd63584a92bddcbfaea2ec6674791d853dc5a55ac06fb9546380007379e6dd77850de03c0c6560002c64b9c73cb7b2400012053019c185fffbca85105118b2e44128553643d7f80ca0d661a3b7909ac5cfde6b10a4242f8aaa8f71f97c48ce83c425f8c1938c34203fd0889066b4bb0cdef33b120ad548fb2cd62e34b96e47365bd5f06ae022dc06d921581313e9896494f38b6ff8751b6ddd1bef1f6de9dda8b689d8e456d015b23247843ac0e1499360381a931b19901135866d2d424e4da5d149e83da4e2dc0b385b2bd9236b3f851b8068f47762a5ddc30e2ce4ebf564c82b1f76d370528f1ad2faf1b236e2ee1f716b98212bab6c34b8b0ca7e2c2a8bcc000fed9449974f1420f49f88fa229dee655ff97cd47679bae628dcbd86d1d7efbe330b7d09e0b4cb8c982c36dff69f80e6041130da47912ae895b2075d01dde2624f7fc16a2613a9cc8507b13e1e7c6ff7395b5c096781c3544f169e0ed3376a0af04434f0a0d4b29a000a56d49cf18321e0dcc4e34bc015924dd5e837f2b424154d15e715e63f0739a940c9d3eeacde7f0aa6a6c6b3ba0263425173964e40bf93ffc06cdcdfae7a6222909f6fefa8c2f1177ff27e7d7176403945e624c6fa9a665741fbb04e86aad3da0507dd39eb7fa0b37cace40ac563ba2fc1144bfba354955aabe84329f202257c0d0e3e73d4a918e843530023d5f68562b460119828b2a3f78e72cdf2c76f5e267e8a3fec04d67b9b61461ad3fae09c3ba44dd8bc40d856c55572b1747762732a2ea161ed7746cc8e362f20d00734bd5237a4c5160418d4a21f045dec40bf87466acc722b8f9431c50436697db9f740fac2eae5a62b0245ebef76e6a94687158791d99115da3eed46f0c1a503ca96f4d761bf3707991ca4df4426b455ba2529bb1733e1d4aa7841991289f6e77626488c174b74b63bd4dd564dfaa204e4c2d587ab9ab50a58934ebf9f7d8f8acee7ac164f3d0c8ea63c151744ebb8ef07710f3ab609eea4445ab4663202141b39403096fe4a8624670fdb5b846b3ad215e3349c3f687250c355cd9bb4a631e47389b57f2ffb009a9aca4e9e30078214d659dd92bc99c8b5e368d4fb1c74b83b823247226e50b125d06ab068afaed912d0b3527ee6accffbd053b65514c2639140d602b9d884496c89b3facd56aff28b783b91d40beb11709966fe55f7991372f434f39239f731f65c763aa52aa1332e6329b70b25cc8fbf0d9f500fa5d7def7261782dbae3365e0052a9ef487df81517c1dc0eca97b36e6e53c3c7dc416fc5fe969e4e7c4de7d9840a77941d69e4cd613884b26c9064ced81f115b02c6704504d192aa781b5871c82f29b3ab9c77044948fbe288691a63f43e77da5ddf664c3b94963c707019dec4297012b51046421959ba8e82e442202723da17e11b1d98b638fcbb57e192f162eada0f7075e7527241625c58c58b96acbbd7a710addbaf882f5e05a12c9398430fceeb50e75605ecff4f9283ad0d724f91823e28bd53dde04ac659c02fbbfe2a32b7e8f75d112cb0399db184d12f5d0dfb496cc7a9ac3fa5b4de1e67f0dda584ba0a83a59b16524fddf8e05b040f5a18491ca76e966efdd27d41650378e60f121dd79a49e7bfd7596d379e88430226654415103963cec679c8c37ac3f82a676387b0e654f6bc52bfae51567858c229a85410a26f705e85442615eefccbf5bbd654f62a5dd66c155c3fa8eea0d1119ddecedb291ed86ce43e6e5866c4387ae19559a7598e755f3c7b8405ac8e3ec8a532ca2bf9bcd7d8e2b677a34c709a0cab7d326ccbfb90113434c77e8d07edc3f06f6bac18cdc69286eac06dd3b6afd782463da62d6cde250111829008e1e0856344172e7899b7c653b9f1d3d70aac8feaf511ce6df2b3aded526ffa4f1e4434da76212446d0a7a5fb5481eb6324579f993f376496a250573bf79a86623039a1916f7e970d73f367656333781fa08fcaba1596b5520bce8ca49323e54e20080de40f688f0bc300f99a931a848feeb7c17aa39d58ca25d9137e6496a493532524587d7d7919d4ec7e164acb3b4521d4073e8b8e14a9286d4e4f35ee9ace68f2b95874bc7634382c0edc57829d70ae98e84bb5e04bdbdcfeba35f069f5e35ca8a641b7f137136630dd4cbb2e006719027623fdacc40cf18cb312c7fa6fe7a06171e6ad2bf72f25ea44e623a3821eb326dc1d7f7060363aeaed4cda62c6629b785606b14e887a0fe4dc6630ac9aaaa7d970fa3c366d86bf7707d1e25a94b6f6d56eeecc8760c40b52c76bd27ca572a82d54bf4c175bc4ccbda3f9750d52cc62de42b8f36b577b1fc52bee3f204a2b880af59cae4e42759160644d42ad8d4fd92a3ad26eee235e65e55b81cc90c03b418a7fd9ace91126ccc3bc9448063f40bce198ab4528229adafd380285da57ca9e8d210b04bd93ddf6abca51e8eb5965b00f033847d4f9ffaa4f0edaf7c0b51dc084a7a732a7f4d24b35cb5d5404a15e89f116057062115bb31fe8b80889021e56d09045f9c1c5b78fed6ec70ec95d864cbfcc06857fe35d12044734e71afe941aea3ead1c3f3670ce194f76d6b43f9e8c93a84270a7132518f346bd2c5c9da3b0ac4ff1246ea822ef0f584c266543da76d3b8e594cccffb0c16f501035908c3ff13651b829fda2d4df9e3988cdaef4e7e5c49ddf9ef0613583e5482096f8286f7dea13c1b709242387a2e5b1614f0a4057d7b9ed81a7bfffad716e9f5d33e190c1182f058355ff63b18935e9eec6530a51f3edfa366738f576c203d2e6cfe7ccdf21d6d84f128af70bafe00f82c4884976f1c077277eb818ec8d963a96655d094d58e1439925a6e25ffd4f7eaaad0a45bae40ec402f2594c62c0ae673d9e1b4b664451c30946f6e875a90c344476039bf7a0ed55b021c4d803dd9fbe8fa12d27142c3bcf3fd4de0b6474078afa0d116c174f2632a848119b545893495fcaa60e9e21c794daeaaa937c513cc3e606145ae6954d4201a807d5cf99986d94ef418c6a952a5c2c175e4504a2ffdbd9b794f402e6162487afd0d1e97b4de1dfc821f25a60274f107a226b7ab96982b09f5f2add7e0f2f5ac5214e992f49f84b75c87bdf3416012b0f7f7e451c9b3c03ff8ce3d42fa27ca4046374fcd836af79578306d5c31a21e2b6b151795d38df93e21594d9065ad3ea8a33c0855ec3bdde41bd6b4f4f63068a6ef51d20d7822e1428fd065fad0a66a25cf8ecb0bc206eebfdcd2038742a954c2ecd2ba140f2dd355f2d4e4dee4cf6553c1cafe7adfb8a1d264a67cedff8b2437f2e75c97d989d04eec3dd9d8e8a9f945e891eb9c448a4cc5383a824cfe0167e6f5e50b81f5a98c23d130b0b8ee16e0a932c5da3bb5c00b442d6d954c5e3bdb6d1e4662d3182b4d84d289f583615f6bb2d47066fe4db1e1aa2388465be8f83e66f1b1de75345901c536a56764d995d4a71b71e4c9f356f1957fe23687d9201c059ce4bb09666b1a49043ecb1e972a9c99424176945285c3c1b1b2dbeca2a9a49d270cbd7db951643a38ff68318c10462f15405278a392b58e15852b0af33912cd471263c57d58f8750b345849883910c40439b5ada861b3a12dba140057a8543a346af52b38d2469359b002e97fa28b93a60fb5e15eb14048acb172011e968f4b6cefb9ad10b5f8d2e52c389728ce215fc3c89a519608699a96fd6cddbb8d880e1ed26b677d803ac469970e2fd84640d25b0351b8bf2f253e53302d31e43d54bbcac47919a97c7ba1e2b568881068f00bda092933923e4d153ed9ab28db35a0e24bce232c2a40f95373990c8b0bb84dc2463e4112fd9262549cb7c910d327d868803048bc4ba32133b918a19a48893ae69c9c8d19d94c4ac4592f34353ef53f26daf25b9e821f756a147693914015a1a712444c3a3f851e11f24ffdf3f62e9a63ee8d10b747145610258cba48453214fac499394be1918f96ec2a055258d39c74be3daaaa438b2bc61b277a93bbaf8847dec17a522aea2b1a9e8bc92c0baedbe8e86428cb45b4e744860f6f94047a339fa007ac2622c684651dd96b07594f5c8d1714b622e5eff379cb9e6944c3e1f3ee31b7cb7f68d93c17e5c51fc5b3b300f557f6f39673461091dd0675d68d63c3e09130a3cc27fa027311df24559b514939404112f3f334424eff36b79b85c52317b38f91bcc33798caf66dc22398722e3abbb5cba06a0eae24bb1a0c647f8382173a9e6601905cf180ad65276336026e04997a4961f2d71fbf99761cbaebda886f0951d44b561c2a47572d7b44ace7ea4851e941d8739c72c34b4c972bb1706f48a15d9d18411a5d5668ffd1f3576e8e495a71d2d810d35986c390cf47163acf69ffaf0da6039dbefcbaef29aa049ca552104003c5af23838b26a3d74b71143c93b3558af6db0be98598e9b0ff8a214ede6ceae73b37424e8ae739066aeed4bb09b292d5b1f243d095bd8d7b04771ae28d3955d44c991e388dd0e19ff32d0d3d5aa8882875e33fdcde43bba054aa4df74ab58f5f099d39e9a2704180ef3543c2e42308d7883f2bdbab2fbb00f2ec793f9fde4330248994b40b3f65b2412376ab801292217a12ec0e4239c94b5905b98dd3b6fd01514fb56dea9e11d8e5721f284bb32e3dd76f50a8fb5ee24b9fd5ef62237acefec9866fb33504f8b4df75c363e341611e567ec55799708acf23d1e53846dd8f703315190d1ca7abbb1fc7db8612d7af3dcc72912bcb5246afbf3933c8d0c58f2c87ce0ff53a259532b4d344ee97d37fd93d1701812bb8420a549de06038443079e91a86680b91f2e152d1f304e4c3474084460f53ec71322820f2841bd47786a479e34b20e6ba354da80950d92cd49c2b0eb27aea84f8db9b8eabd0fc5ac3fcf0819a9eb0f6176322ea5981cd32f7ce52ec0d67b21d85b38410dfccd69473e324362bc596f720330ff68bc7a88db82844c1730c276266b3de532e2d032df03131d49d8d744499e1b2765535d760177ce2032be19240209a972ff0e4cc191957510020ecc7b99d3783123aee5e020bd8189a34b23bc60e9ce781d9518a0dca131c09c4b236947452d0d1f28636833e237f665bb4df97f35fe37e000e44278ab24cfc8832706b0fcb57128c4e2abec1913dffbb765c6903e7b1e5fa4f95fb8f842e6d28d59cd863e7e128c554315d1b888ac2da0f55ae87caa072580529fe11b5c1a263c11c979a7af11a0cb88b50203e8d585e3a419963ffad7f2ab3df3c7c03746313541251ee42401f47b61948f4303ee6b761724261036acb9638c202d797aa83049b6c5137007fa77a735b652cc367b4cb4a83373eaf1b02ab26ed170bb4fb36145c2b8a7d7cffdfd060f0c24e527f79a64a709299cfc82ecdb0c1b64c8885dab775577b883f67bd3994791e6b1625ba310b6b70fce207eb7a26a843a636db38125ec82dc53ca00485d0a0210e9be2dc750517670078cf337ced2b4a1e34db41a517e3667bd050e9bb93e771064097465897c54e0db73420921276a18bcfce94467d1a0d81abb7c5c1ff5474b859b3c5b4cdb5899d417161fbac19ffafb0ddc0dae0bd644ca9348601ba79bf98b5d0e076f01aa85bccf8f18c8ac46272535427a65d6b261f9db283846ea761f1ae61c83cd7b1d69095d0b34f7a296196d0569c2d869dae70a0948b50be3a9485a3f109ac78414dbf02e339e9510edadb5b6d38393152e30b503dff75b37ee1fd34103de3cae1640ae311be3328c1afd127c3468bec6184606fe3d99b2804d73ff840073c1449053dc86dd558dcc134d9730008abb23f30b4f929e1552c03d207c50af38114bf3d08edfd35b313a1de6bd7005d631ed0c45af4a6fed4ec780b2f309320acd9bbb45bc8bc29b66a4c04443f818864421f6cc42d17c440abd5be1a660d6adbb8ba8814e538ab37f3eb11826b22f28b9e7fb5a1844a550da6cd6d2a0cf04043a858d66a19b9df77ef98ad243620e83acd827558a395bf31960800075df36dceb2dd8e80f6679572729d086b89e28e76fc7bacc328188413a889b252c422d787cb8c6ead3bcd7d5191e8e50d14cf153c175ea0a1a0e4ef731a7f9c8c7db482c1b45a2f553d6ff3bc72111306ae72ad9ab9f9a94c1904dedc80bad73707e0efaf5ce57a995d64680d08c2b68f6e27df2e59b5a0a744c9e60e1fc636d6bcbcd7b4ae2fcfa23497bea857cf6467a6c395b5b06ca8f4e761a50498f9a482a1f054dde13934b07e188fed0d6ff97366b3f65b8c4851a2f6f07910bedc2be718f009ba2fdd7a809b70680de355581df776c470740e31f0457ddb0c4347ee65783f9c40275365267ffa501bf62e2b07e40fb2e44ae55783086c5aebe830137fc66278ee97e76121a856a791c4c45b871a07e6317a7b206db22e0b8223679918ab2bcac754c419992d5e96c8459662557be5d727910d7e7f4ccc5db4e44277d537156f7ef165119d8be6b4c8e19f769b1a79253cde274b879033d0c0581426144577bdef270542122e4d6ea009a6839a6be3b7103f2808947999281c147cd36921cb4c774828ffadb9f78725d4fcd7c679341aca44c70268164aec9efddcba605c1e8af82097ade526928023acd584267e10e82fb62ba2e0d9dbe43fd9da84c23307963a082bc80082135859ed2b5b45687281c4aaa708c06a562882b56ed48018defb687231c6799b26fe5af5c6b5030a2b2e0b0e3699633bb0109690b5fabd91e1d6064d638f1588eb7fc3d4912ee67a8abc79724a715808159fba7f0e8bb26cb84d70e070b226ffff297b1efb3f5f64b6f4b2b94e6fea15e88569f98fc40e4ba4cdf212a49e50a8587985c95cfa4c54f037bcc9ca87810e49ff9ff93835d5d38366d9bbbd8adca737678acf63b88d07a508999a349c4fa828e2f2e7f6a9856b0ec72e2688d118df5128c2cfe735561bde0e571d45f75eaf7faf4580b12d15e7390c4fe38009039df8ac416cdb751c755a60dfc9c33b028fcd9c956dc7fb8201fa15b746c52d6ac4860c13018a56d67d41b0026e9c452d34ad477bc1f6325cf07de87a81049f82eacaf9d74c5b6c6a2f32b4fc58bc941cfa0a72a9b6c0d654734ce7d33446c28e6aab42e5925dceec2b0df4cc88e3014ae585d08246d39f807aee72592d126e8c98442ddc5457e8f1816f24755b7b372c40752fcfcd3691d12416770723dec1e586dd8a92e52541acd271f18d09fd2945c19ebe4f056dd658948b48f00c57c23abc55a7af9ce6e576c9ad9ecf500eed27bc526a0bd14891dcbf177c6d0d3b727a5675c8fbb7057cfe5b51db21af526a788a2bfbf93b8a2c39b095a7c426ed1525ae6acd28ddf39ee012d925d3316b793345fab26292895bdefd144a460a16e7ad3fff047ff592f6108d42caee8413710f8ec60fd7a61045d86459bba24fac494c1c5b7f38631fbfbbded96ec85f5be541fd3701d98fd8b9c0a5c0aa75c215c1cc78ab7e6590946ec3a17c95287489064caddcb02148cceaf7c911d5f418217cd2678202a3e073cca78939f8af6fd338e4d08f9d01b35aff62a9f6f5a9998bdcd3abaf57755c45025eecb90fbaae5c59b14d6c5a4c675ef115f43385c852b8dea00d760e709a7065a93184d43ad1ac072ab5bd1814f1037e73a442ac77bd964a3cc0204d0e735e470e3046ac220e86bac7dd2d7ab39d42f82024584fe6c581e12ad438b7262de43b480ee4d837580bbc4ecce321abe8aaa8de8ddf2efed7539933d536ac71ad6fb1c7897456c5ab8d6e4236cbaa6ed9126a53f3dd94a7435d929d16d79f791baef5ea0b5f36617a8e89071e388c6fcecec37b26b25e01cd9b7190917dc14ff41a6f03dc4c63f67712077893182e509240b5262d915533243aa22df0b6dcfc12a24ea8c741f5a9912258e754841e905e54137bf7ea64160c9e0452f2079f98ef4dc69f02ce7aea3add960c0f314af08e003b9b8a716eccf865574d06b6647f393ca267fed16cb737f171789ca58e569a058de1d17fd1b3d8a5581b1ae7087024f2e70c8c7eeda0a4b0f84513dbcd50b9ce78a1ed9176879d5bbf53321156122f835492581fc1e0d2062cbc883c8aff5f5be211f294b76cd2b895551fb763f300980f720793b7a3247d2d476dc0fa262e151663e94df466c0b13d1a304ed2fab5aaa0f22c01c60276c6865ea2c6be77dd3c9ce954ca59ad00345a83629c229f42d464805d2f613e2cb39c86414aea0e66573cb5ef40bca9f72865d0d53fcf7a66a095f7c5ed81281b7ee9b74efd2d4fba09138202cb6352b6a6ce65b3e9a6dfe39ae590b7d71df02a67e1998e1fbf0aa4f3111595ce4ae598ba9be1e060f05834a8e8d9d474d001c74492f3f556289b2d11f71416626bfc3d259d5b2607a0cb38902a45dfaf012b26dedead9f1372c04b4286b33d515a63954259d59036808ec6bdefa34223ffa172cd7d32f1a21cbfa4d966738d3197086f17891fb43d537246c80ba6f9bcf9c7890709f3efdbe840e0f4466a3f8c7aa665a68cf45ce54bade71350cd96d6f4b06eb04d400de37855b6a4537be6812449a3da7e06b2efae6413bd80df7888a50f3c3540c5313062b975d5decbaa4f6f2ab44eee0c020b631d25ddaf3d0f38262582dea63692ddd54d30ac1a3f86d2269b62ebb512b437892e8a2299a9036b4307a4cfee487a944d2f48f26388607f6f95a80baee05b9d8ad87866e8b08ac60bdc63eb734cd24e836d33305ddc9050b80a725e0891edc11e6e9a4ee13b90e9e6f83d6c0a827665dcdeccf6b91dd2c9d3353444f23dfe11fc5d9f27d995d9f8593279e6b2e4de88d61ac466981491c735f9046ddb75c807a00a98f858cf86f3358ba565f4861fd79ab6438214bbb94869d685ec74f8baa714c44fdd6fe6174f449f2e6a0fc432e16c26afefafc1f8fd2b15ad6b6121f804382ef07fb618ec51b9885c18d5ed2ea311f5ffc90282b0cb0e66a11dc5563f18f07963897510ff4fb9fb491150150c91fbccc95455a222c7709a36d54fb1e058a3622bf4e213bd9c4c2f39d4b0016e87df2cb936e477320676cd41eca94aa74321e48dab342e782b9c6dc71ca12cd6b5ded6e76ae848107d8f4a6adea9d646673a97fc632c2c176051b93579925b860b7016834dbc7ca263085628dc79301cb8243c581952c0a2da26d0c13bef2e228ba5a2948bcfb241326ff1f21cda58cb86607faacc3a7e3a9ff16787eac453343d276fa92c538b64cdefa78e5ee868f181f150133112447516d8560b28c6ed8a0bb05ae84808c7373771e1fef5ffc871df0ff95a28c059652f9651a7e11469894e2f7ef664b02d9a06606164d639bf04e151dd712fabd121cd9c437338a5df0f58bc4b41f40594e9940b3a8c98ad881e087a3eb816bb38cd741229c2e8d87f5ed578f35e90939613579239afe53a5a85392dbe43aed28d8305ac74cc759835fd4b8b9e9793650a1322b3941c47908afadb1d920257723436089a33c7af7a8b4b646d7cd5c2683bd77dafdc4e3165e10f372be71ae495d28c0cb9c836bfadc0c283af904adc69de9aaff943e181930b9bbfb6a52dd8462020c537dbf4896ca2fbe688ad0704ba4589593e6ed962890187e9c93ab52cfe93d9be984efbddff020a0958b719dc0edc7530918311a2835ae5c7c444b31ad99c8df08c786dccebc3fc13293758e84e947ea5f41adcd6d8c80806f2f67cd9ed9520b4aa360b84411dce2272091af1f15b9e27da87f2f2ded005f2e87c457966f5e24185c38829ec1fe5d2f03f14048ec729fe42584a504ebf5e83b391b655753e74e679fca39420470beaed1dbefce2aca9eacd954942e58ddc6bb53addb8bf06806d5a56e75919f5061a38589e57063b6b70fc9d9c9df4ec6c7e24ff834fe9c38ea3e37289fdef7dbfbeac034dfaf997f9545ebcbd4d95ff49afb95abd8788d17826421fe02b617e32e4f8e6587699597bedeb20082c0428ddf5c21b6c95e06969a2ef8e2f6b0c4da21457035a1db0ff935511aafb4e83a7a644850786889ce9eecbe621a4eea7d23515b365fe25730d9228bce117361d9039c7ea53fdf8287c3c96293cb2f6171a7976bccc4ff727b2e14d5083ec0eeb1eb5a515ca2a25af8f0f6f8be902b85dddfc320e46e77f5c7266993875fec221f5ae0f74e8a99fced3406e80af77b85a1f0fb3d86721bdf7816d8a423994d37812d1757dc30eef3bc331a522f06eceba7bc35258a26a8ea69c9c7542c0d2241ad3530cf8eae9b4bd23d1d8859ab961ef0998c4ce8c249047c6e6cd729237b396eb2e31bc2027c67cd3110b24029d4956c513a290fff3c883a6356bf83ddd25f98ddb5c5635aee490c9f5b72584c31f24c97434f21fe3ec0f76d85ffa38553503c372d107a75dea57a52970722ae84a4184dd76b2b88b0b952ca7e40139bbdd88e4fcc7bd6efee1824b7fd3973a76ef6f246d1cf081500a3ff4124609c5321e6dee3c34c3e0eac028887d1bcdba78d67c24e8774adf5a88bb4f017aca39078e2d5ecedcfae3b01f90f35a3cebacd16bf225e18879f9e9dc4df66bb8b6271f0742d64792df1b6e657991004fb0b00aea691c2d814e8c2ac4fab90bb9bd023a3ac54ca70a84e07b3fedd9b1f2a7547c72615bb5144da5afe8d34bd4c7c9afbe6a89b74483d7c3d5795feae1b709670cd7792c63c5d7711bf26513d44f0695affd54b5d31da2432818b587432252f7d7d16021c2c82ebb8b830151a9f334650b9a6a14a8b7f6bb68181feef2b0e55c183597e8519b7661a87c8d5db0c74acde5910a196b01dbd5cea85910185af0c90db7ad4c25d8f69af1f8a5bcb5182c1b2eb03f1f6c7e105256356b27c7e461d2e2611de87d09bcd629387b20eb0a6c09f99974158dc9523a4e00913b509ac983f7a9c2db13b025f60791d1065bb420c1931cea44f73eb709ad772505b1670cec84916dc9b760d9bac698693209e2a789c0186b566ec63386467eecc4cd3827851315936aeb6d25e62d15351d8c267450911cd81d11a187f2c2cf92359a14f431b843a7290673ea83cbd39e512cdee314cbcf262c75371e72a599942c9e084c65360fa46fda2e2732fe8b507f2c31e6fe7f610ec3a77f3a02847f313078576f1a858898a4980ecda7398246f2939f21661ab89150344e6209d0f25ce129fe259a473df00e0b70bc194a97d3e87f74b50e2a356f5484556b1bf92ed75c1570babcea8d4533fdaafede4ec24f0a9961deedbee72e14649fa9a769b481c3f8252c403ccfc816d27a5c568d8a043f3dd627a32817e9dbc62a09896f104c29ce3cd8b94585a7460691a2f661681cca6f4c13192745ba9f9f30937a12e0ef7781a8d893d9f6063efadafee1318792b37b5edafc16b50f3bf849dd7fc4183f39fc4e3aedecc6670cba826971aa91cc6490fe6b2c9311cd0fb045a1691bf987cd830d0298b0c0d9e881be57e5cfaaa31f5b0f01c02cdbf773e07f4a330c3e3a92be12b9440619f06475f02cbdcc9d560bf32d1f65ca09d58d9811977e79e6496bb7902d229b500c2f40dc01f8746589c6fb5f20b32bf2ff5af76e76a21fa05434ac9af3b669b70ef67aefd65a241b3ca9cd6c20336ed6a14cf04afb26cabc8c52d98b1b0fa2c6bde4c30671400962a2652faaca76cc1f16b4dd41d9e135dd887c06f8ac6452609738b07ac23125a1b147dc67346deb18b1570a493c3b4f92d706e992a6c1de4802a53a8f3ce2b4dab3eaca549f09e3d2434d24350410d58f2d7a4f67a8de80902dc2bec0078dc0857dfcc544d65ef9252c8bb4b390402bf62594a14ff16fde713568d9e446bf6218913c31b29cfa1d25867113ed633c48615970bf518434c0fc3d857e1fade5885c5d0b4c7192e5db0400b3b04bf2deed4497d39d5bc6fa78cd4a596b9b31b5d5768a648aec3a59f8e2923479a4893d30454dd466e2cbc1e295162fe1b860651ddf271e8f18b070365a41d1d243cc7960577f0c0dc3f943d0081d64bb6a6ced6355a6b8b6ef56cd4070acf091102b8d6fd165d3b5dd23b8273d66b6ae7300c61d3b0a02cd0cc9114b783be74813db870db53b93bc09e30d1733e77d43d285073cee2f8848efb1e50acb56ee6c73f0aa2e1fd75b01d667a97611915e57f40fcbf98f3e7045f9704366e48f267a724b5c34b233c7d20073bf9abce5006e1fabb5ac9117e9b937bed57a4ed83e5c88b7c00a06cfa2e90e4da31e787c21e0d889e5a8b6d13f4a8b5551a7ec45432c25539a844818d3df99b803cdc0b7d874d493ba74df2090e61b6d075287840c71ffcb6276e8b33e7ff8e1eaaaa1eb8c27ec7c04ed94b64ff2dee1f5948de25d5b289fa48419922379f189729ae09abb1e8d723ed5bb956666e508b168596e51c44accd0408f3f40e671e355d4d8b1bf8b7999ba19568f9b8c585e9e5b5b95650a742308d9ef295e960c4c9c41dffb10f45e74d5bffd9442006efd79ede4bc5267c65360274869571d531f1894b8fd2bcea9236cdce4bf1a938567aa219a567e80ed2b85fb964a0b34d692cff75f3720e7146016b0f33c468741397ee834ad3e972dff00784104a1532d91ee00bf3574cdbbb4e1e1863a82a3aeb72bf2314bd7b8422f05183c75788719b99ffad3c786b548eafb0347cdcb0533cd7d555cabccfe5ceedb93f7ebd0288612c0188060f51d53e6b6a4a253f4e3a750d823c502bb6e7f0bf259ce6566727411921a7c5efc3a31c746d7ce5b834159bc978a40e5032e12de86112904cfaee49e86e354c4526a112bb66fbe2ce66104396fee69cfcaac2c9843a573156b0cf47ed8856e31bca7ce7adcdbf70a1915dc7a6c1391c195e6c9b31faf714f44421b138319e3f8e0147712949f8333425fbc9b8c105a387b401ce7a6516678dcd283935e79fe339e7924303b3d99baeaf108260cd020209f67d504189cede71963e9b4c9c92bd5f3e757d527c9c0e039b9c9ef300e4134113ff4379d228c1f21ef1763498443960d6569e8b0a5fb309653251c2f2dac687d5c093a3eca6e2fa9fa09b85f9a0b10583e76b6ff90ee86b000d134b62886993408a8a1caa2e37ca1314e0e0e6274a8be0d4af18a7ac42bf9f532f9f5ac8ea561f8d0dc077cffe02a818b45af51f55058a5b050aa3ba64c43274aeef28d97dcf7311484a12b50332b72991bc94116a3e2f2afc34b6e9b6f8844642040078cc089c934731705d1f586aa6e99891017fa2379deb550ec8f7045d33817dc3156837e2c57b9cb9a78d69d9ed62513424266d53dedc4797dc539073a72781fba11f0a1b50f991a317f0bad33515292731949161e10bbfd755984403224064e2a74c72a772672d65ad372b397f36f3040cf898d455d8a0c12444f28122aaff3c4b19174f2a0e8d2725c7f461a92a9c976d482a2b7826d2584b1e96f84182c4988f3680f5ce695f21bbbcffbc62a0510c465c46b66fdd6bf7b4374fb4ee924141aad4dae8550fab747184fd16cb7df01f8dd241edf2ae19cd0db97fe1b461849a890c5b159a91aef026904c31f07fe2c7bfe60cced3a58b9405452897f3c07f6274a6381ca8a2f086f5a0d88f56d3ed87e4b610d326f71934fc6767ad14bedd694e955abefc798fefd54c2a19facef44a82df83282126d8d6e821ee028249320b9c913c70f5813c0d89ae4edc6da4047c46432155fe0d4877041b143f08aa35c70b5ba2b23df72fe52add39fbde9b83237e90de70af600813489f805b197bce8ec375ffca34690a2adc602d7c7176d9b602123e67bb122a146432fca749f137c631050995a1e32b31e575a609d0d30379ab089ac603f6b49fbbaf4142a6b702b32601b36f49cad8a3d869e0374f245169171e897794fd617a669746fd95e0eacf1417476a364185f1a173db1b1b6286b7d04a17569bb00cedf6466670b26dcc6a2173bf1470466911cb4ce6616714ca366908834235cc221eac4b39fbb3976d969cd8137029a38f482a8ed324c359504591ff2ce993a3233154c91724476c285a56e446c177da5d8726b016091592562125238d40a8a556b2894cfa3ffce51283d8570bf42219535b8b0836b26d11771482e730abc456188a8baadf7ca666ed37bf8de9410d734bf9d45cf170d0ddc67a72d3e96cc73313c33cf2c353f86b4e4ede5d8b9a71e17dc5a765fce228cbc2fe40c85d909f703f40583523c0dc202d5263584ab064360d0123db1ba63948c2a12f9502a6fd0141518f15043dec021c92dcd23994affd44aa6401ec9aac7663401ec6a5ec8b9455266e7e620765b67a0a55778bcdae96c0549158a5b43160a4928b0f093ad89986a78b652eaed82b19fb30341a9ebfffc0b8e7850b2c19e7da11af047176a6eb0e552b8df69521e09899786c6955ed1c00a4b9d32e2a9471c9f69059c8e4f67af7e4998f9fe8cf8b767e48fd5e44611b38639798d1474ae409ac2dc4362024cf1d7c68882b5bca99dbf1270e383a4bd8cd6feb25bb14c4c49a89a9d9bb2bbe36997f4763a8b5381ba8e573e5259ea546535b0769a332ec3be6de8365f6f01e27978b2338c19f5c24eb8bf270f9a3b244360cf1db962db0381c07d9ef1c2fa18b371ba559174fdd45345f0b3012c81c2b225d2ad20fde2dfb701552add2170cecc77debe1ec60ae0fbe7c8bd044939f02fa7fe06516dcbb4a8bfdf85bca033b7667a41c3a2b70074c6eb5416d338df0e911473f918029b4ae1ae866fad4bc3cd7baa6cf13fc5d8338dd1208ca72b800d11c8429712f67ea0881cb80112763551fe7241d76ceaff1b8df1935bd485540148d897aa58c93fd75c1f2ac0429338426983e152b3b2e6f2d567bc10d62fab4b181dd26bed4cbe795b90945f4df9eaa0907c31e14e5d805fac1e9115c3b284751241807cf13a454ae660a44e7e3e614b5028fa911e9f8e1bfddae28d605f46c31e77e665e099b99c822f5539ba056da3b886ae86e01dcf6ef2298da3beb2b51d1f21e62a7342313e8796078df0f309790d6fb887ff0c74c0c86eb06e8d7cffefeea947517de35d8e3df5285f144c33590f5520cc3abd26ed6f0d2c7b6c4ffb70b2808000297681dff21240f0a5b1c294b15aec8157b666c041acfe156a93d604b35a254d3528650d19e814aea6e37274c7997a59de9f4c6009d1173e2ac96016331b5c08a4a5fb7e37dac9e15c205ceda7d3fac3bde87988e8867356022fcb209d85f5095b1594f8da8c0e7d84e2642f81c505b26aca08dbe87d614f5bee524c38eaadd6b6063349868a7c50921eeeae030161a044f954814b8bda7b1ec809e69700b520f1225d53085d909bd2f9bafbdaab39944773a0257a2bafa729abd7389b314aba7c714f37764fc21d4ec2cdcfbd4dbfb7809bb5be710696121c86ca780f8fe0f5df40101d2d17e85d32d4c5fc14061020e21c0fefa085ed7f1d21c32feb2fe129b361b5358ca8d23f7b8332f255a645b90b14bd48aa4ab7a7c3face277be8fdef6246176a1b6be69a84279c76206e2b939724d6e257de93bfb5c9c7899949da2ed7fda8a0561aa6b0fed44a24d072d54894de268e1ed3125eb648ac909c796539e6448d04d119d45d17a374caad9e18a661e1d85bdae0d5eef4b979b71239869a344709fd9a8b4752293838f9146550eb2a66f7508e55960a92bb9c44f569682f2cf544bac2f57950f7428d9bb8f72dc60954301ce6260ec5ca4fec381aaea45e81d5dd2a015a42690bbb5f265e6acd574d492c995bf700b3bcb05d11b9281691ac57de7e32dcd0e1eb7ef4d767d0b9179fc9309c82dcdaac9b25e4a0fec36b3b5384152322da7946943f4315bce77f482eaf1cebc75e7b763c7bc7a783e36e643bcf2f78a1a63c98d54f56e4b35f8f78012d89c61a4685a241921c08ebf839c25461c32b73621325d3b3a4b9db19aa3e388398b1a04f5efbffec3a5f4cfb8b22b7da21a04b7d6015fdd11cdcbd70e13b2ce9781411510ff8d0ba082e13ee5329486264d28b87997543a61c39453b883163962ed86150ff02fcfebde97d1ed61be3b0325116c67f2850f6ee5c6159f2adf575db6bf6eca7d448cdef67435b4007ff1272d570dc8ef3990e08129d6bb76cded7c594e680a80bdeff181d9e034105fdefe24e0534f3309e9485d182f15e8919dab37ed23f13954a1a0e5a5f3b4b89353498d15d0a4cedf12c1892ae541802e80c1bf004c2c75cf2493f578122b2f25df040b2f1fb28a5e49b12372a04f0eb8366ef1877498aaf632f0d10da8adba99d6ae1668d380892a33577a3d7b79d99202799d37b8ae0e2d429275e60beed2e0d7da7021e9031fcab972ea553975f1fdc8cad804ad7f56c234506c422289237f1bc2f5e7b256ab8f082e2b155918ed1c05ea2c3130013af40b920b5be868f00cf2ae64f5cd61e5279940a9a7ac4ab9b12b69583985acfde6a03ec1cf92e271b86191dcf5a630cb1472cb25efda5c6c2eb030f2c9de2658a581b43e944c859b6b5f01cb92aa6878566f28404b80a97ca9f40e55d3d93f13483d61fc0f0702b67b64996a84b2c79b6f24f821be82967b4ca5bf7cef7332b2debd616411ed739c780b1c3cea8273fc422347a35808b09d9e4d3d75984d572d34835c5744d6e0c1c990c708ac5edcc32e377be7e6733779c43d9925efbfcb4e577109b29ab93e8adf0f0e4d93302069cdf0192ac470f97455609478e2c05b15eef90b05f80775f62204e8e85217dd6171a7fa7ac15009f8e1b71cd3c57180900acbeb5feb562d90e28f4259d2594489a6ea9bcc7e609cf304c2cf07371b8fa5a2ff600acf10434003b28c82f55efbcfb708dfb33c2b9e9f038b414d67cb157e77fb72359a00626923798ddedf19a0362ab4d7be369056a2567b90641935772dcfe7003a716c1d3ab98bae744a42b3e8071b648d6f7e1dfccefd79a4c9bb10ff959cdb8c3e9ee499b98a72eccc5fcd549c2958a5882f6aae6e5f5567af3dd2915d37775915e54c6ed718f62bb76c0a7300b7915b5336814ba2496c21d65fd7062735e59e21b1b1e4ec4c6f4a79ce5a947659f779722d53d8ff548e9ab8bc863ea0ccdc1c6d1551465e8f9ad8c2d52e91cfa93997bd7488199a31df63bcab58438a8be47f10a78715b9ac20a6735a3a7414a3c066cd0b4c76c535050031ef810aae724e00cdf9eb16788c05b68e5a1f778f3624709427387269ed4e5ea45b76bf5ee849073471567b7938bb722e26f9c398907992542c1bc128b5d902e6f152822e19ec8b3eec7fd03045c887b60218e1a87272ce7217aba7e4dde0fabba0f69bc0e9753fbad9eaa1631f8204c617cdc5c686eb8ed75d066a4410cd0d7985f1562841d5ee3fe5f9eaebcec4f9face6adc820071e668f294a808e8033c9a89587d7599fbc9cc31d8d5e0188a3e94e49dc9ddc53db8aa7b61d6a907b8835f0f5d9e4f1149807b5bcd368cb515a23aea624b0c27a8188fbbf7006a163dcfed0e4a88667a921e1ee7008253dc03c05a25ffd8853220bb68882c05b828f267b7871f0853a033c8a5ae040e4f09be8300da4f3463dfc045ca8b1825406c2c310082bd37e50bd0c2d869448f976dd37e816585dbe04c6953ec5303553b4cd342512dcadd64bd4981c0bbc08dce3e51d0d411d0bbed3a289cca1d1efb854e648dce26642c914bc5c4911be5c252cde009129e163951d49cbad63aaec2bb706f504c973f4a27a8e0346c9ebda0e7b7be5de4931ed975441ed1852cd5dc75fb5b39ebb22d639b25d2a33e8602c4d0fac702dabbd0164ee7bacab014959f24583ef316c170d0738bc7b867487046dd62d99f698e0175dcf86febaa0fefe07a1874a06c7542cc2b9a067a5326ad7dcebd77b8f0d6d9d1763b247581e94934d196c04fddf5f547cb214713b19a25b8030baf39295c40d25eda1396452ba079237ee30481c78c3bb2ea588906aa1db4e58de503f8d74369311ef3acffdbdda950c8f1ead56b0798a3fcdb9b82ce6ec95ef4874155d8ea442340e6be412208b84a3ff02da7915804b54f7a75aa62e7339b5ce3da24a9b7e7ac1fcdeaeb1520f7b376cb13d4118b0dbb7b12f558b66742bed69414b27d2707beedc3306451fb3456ea08330195f125dc6e980ba610b0bdd40ab1efbbbb7b80833efcd2fa7ef4cdb69b57e197a7f23d2ae3e20f5b302450815b5d3626a6609b3c7b62f3ed9b4faa0b5e5db3d08c4b4ed2be23cbb837d6cc8d2e92da292f732b86f5ac416f011f562f38f5844f89a45dc1e84c65aebf6c40d27fe7c2ea74fd6fc239cfe1a7bbd3ead15d3be6af7e02bd0dac9b518031394c840e75d98422083e8ffc438ac7f2a28564764c203d0be309ed0af670fd89335afae8c35268bb5fed7ba11f6bf82ef61876d6836d472ab0eed31c5008a790d36eca54b8bb1ca32cf24d2df2e64b5044c7bbee44e0420b9baff550eadad1e6ef3f11c32efbe3a3d71cf8d8a32e4d6fc311345fa2ebf3f875b75939676609d5fa0f23ccad16466de7c82ed29199d3f2b238f7da0876b21e76d980afb2089477a91378c7df7eecf61875fd628248d794b854c893b19d1c8cd001624c97d9f515320cbb742b6e9bf89a44cef962ef68aa8e4a7578a50e10333988b5e056a4905dcf8d60111b2e646d8f0a99a31bd86153108ffc106bcd3d3fc0c04f233edde4c6b13f48375978fddb455da5b7ea71429f751ba466c7390530923418e379567caa64a7e798141701735050260e27abacc12116f58c051f5fcca2d707a8ea5e9ecb930d29e2e628a506f54fbf33a181cbae45b8bd94b893eda69823d14147f37e4dc15201ede36573539cc2a9aa5822c5a175f89b94293a36950144b5eee1613a15e56de304e4a58e719256a066832d7cdc9c99cc7c02baddf46d85c2f69b1c922e7f364c804f309e1e8ef3465555e266caa11bb5b49cf7f9355359c5f5fb4e43882169d99fd48bb45958fbe587555b093011e6ad383eefae2b572d850382781e0c046f8c1b52b21e1a6f9a11979112969d8d653534766a35a9ab2eb367c0fc1e488c86b0bba589a6685a24dca87bd57c59cdc4701f40fe4610aae0e3a76eb12f85f3d97e12d29ab3b59aa86ac0938c2dd97d67f6f14c513c716d3f454e2a2f56c4e4233e748d79835ce3f48bc9d01e8455450f39b04d033523998d2afde171df66f060b1562842ae1a3dd9e16d70936ad9807b9d09e74bc21fa4c9f10c34d14f586951d2e09ce84b9ba51db43112b20faa75d85d0f894af645bcbc458e20a26ee4bf86b314cfdd987de32ad413aca13a94cc1320f85a5de76add3b69987ca6dfe1e51171d2156198449069de02d9fbc9037a0070c176054802924c2bca52c64640f4e3ca7e185ca62f9df6383027566137099cbcdbdc744f7f28026632d148a263f3919c0a65331e33dec797f90d015def8d300a4969a2084f247202669c74d0e970d3115d2d6c69c1834af02df0d7ccbaaeaff092ad203b95b77a260d58e91e74c70c2a7d70355d369099ac7959c9fef81a0b10e89fa6b483b451141b4ff9e9c5cc1ff229f53da93b29cdcb0f5c24e4a16118a58f052a0dc4afd75fe2dcdaa7bd2e23d108feb9fa01eba0d61bbeb57952ef9112084e6b687400f08d13bb11c0860f533df2f412bb7473c4811ec558abb74a75c3264f20ff1ca2fd606e004ec0226a183b940decb264ca582932d390db2fc506ddc8be50df83c0f40812fd759263506dhostconf.vimhostconf.vimmenu_af_af.utf-8.vimmenu_ca_es.utf-8.vimmenu_cs_cz.cp1250.vimmenu_de_de.utf-8.vimmenu_english_united_kingdom.ascii.vimmenu_eo_xx.utf-8.vimmenu_es_es.utf-8.vimmenu_fi_fi.utf-8.vimmenu_fr_fr.utf-8.vimmenu_is_is.utf-8.vimmenu_it_it.utf-8.vimmenu_ja_jp.cp932.vimmenu_ja_jp.eucjp.vimmenu_ja_jp.ujis.vimmenu_nl_nl.utf-8.vimmenu_pl_pl.cp1250.vimmenu_pt_pt.utf-8.vimmenu_sk_sk.cp1250.vimmenu_sr_yu.utf-8.vimmenu_sv_se.utf-8.vimmenu_zh_tw.cp950.vimmenu_zh_cn.cp936.vimmenu_zh_tw.cp950.vimmenu_zh_cn.gbk.vimmenu_zh_tw.cp950.vimtutor.utf-8tutor.hu.cp1250tutor.ko.utf-8tutor.notutor.no.utf-8tutor.zh_tw.utf-8rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootvim-9.1.0836-150500.20.18.1.src.rpmvim-datavim-plugin-matchitvim-plugin-nginx@@@    /bin/sh/usr/bin/awk/usr/bin/perlrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)vim-data-common3.0.4-14.6.0-14.0-15.2-19.1.0836-150500.20.18.14.14.3gb@gH[@f$eqe]@dܺ@dx@dldZ5dJcd'@ccR@c~ @cM@bb@`4@`.V^)@^@^2\@Zľ@ZlZ@Z%Z1@Z@V͛@V͛@VIV@V@VVŲ@V@V@VT@VV@V@V^VVuFVm]Vd#@VQ@VO @VCV VUU6@U@U@UnU@UUUx&U_@U>$U+UUQTT!TD@TfTr@T T TT|TTxcTk4T[bTBV@martin.schreiner@suse.commartin.schreiner@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comjehan.singh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comlnussel@suse.delnussel@suse.delnussel@suse.deidonmez@suse.comlnussel@suse.deidonmez@suse.comstefan.bruens@rwth-aachen.dekukuk@suse.delnussel@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comtchvatal@suse.comidonmez@suse.comnormand@linux.vnet.ibm.comsuse-beta@cboltz.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.commpluskal@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comwerner@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comtchvatal@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comkukuk@suse.desuse-beta@cboltz.dekukuk@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdimstar@opensuse.orgidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comcrrodriguez@opensuse.orgidonmez@suse.comidonmez@suse.comidonmez@suse.comsuse-beta@cboltz.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comopensuse@cboltz.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comlars@linux-schulserver.deidonmez@suse.comidonmez@suse.comidonmez@suse.comopensuse@cboltz.de- Fix for bsc#1234333 / bsc#1234214 / bsc#1234245. These three bugs all have the same root cause: Package 'xxd' has been obsoleted by Vim, as it provides the xxd files directly. However, because the "Obsoletes" entry was versioned, depending on which version of 'xxd' that is installed, the "Obsoletes" isn't actually triggered. Thus, there is a conflict between "vim" and "xxd" in these cases. Fixing this by removing the version completely. The 'vim' package should always replace 'xxd', even if people are migrating from an older SLE15 service pack which has the exact same version.- Fix for bsc#1231373 / CVE-2024-47814. - Fix for bsc#1229238 / CVE-2024-43374. - update to 9.1.0836 * 9.1.0836: The vimtutor can be improved * 9.1.0835: :setglobal doesn't work properly for 'ffu' and 'tsrfu' * 9.1.0834: tests: 2html test fails * 9.1.0833: CI: recent ASAN changes do not work for indent tests * 9.1.0832: :set doesn't work for 'cot' and 'bkc' after :setlocal * runtime(doc): update help-toc description * runtime(2html): Make links use color scheme colors in TOhtml * 9.1.0831: 'findexpr' can't be used as lambad or Funcref * Filelist: include helptoc package * runtime(doc): include a TOC Vim9 plugin * Filelist: ignore .git-blame-ignore-revs * 9.1.0830: using wrong highlight group for spaces for popupmenu * runtime(typst): synchronize updates from the upstream typst.vim * git: ignore reformatting commit for git-blame (after v9.1.0829) * 9.1.0829: Vim source code uses a mix of tabs and spaces * 9.1.0828: string_T struct could be used more often * 9.1.0827: CI: tests can be improved * runtime(doc): remove stray sentence in pi_netrw.txt * 9.1.0826: filetype: sway files are not recognized * runtime(doc): Include netrw-gp in TOC * runtime(doc): mention 'iskeyword' at :h charclass() * runtime(doc): update help tags * 9.1.0825: compile error for non-diff builds * runtime(netrw): fix E874 when browsing remote directory which contains `~` character * runtime(doc): update coding style documentation * runtime(debversions): Add plucky (25.04) as Ubuntu release name * 9.1.0824: too many strlen() calls in register.c * 9.1.0823: filetype: Zephyr overlay files not recognized * runtime(doc): Clean up minor formatting issues for builtin functions * runtime(netrw): make :Launch/Open autoloadable * runtime(netrw): fix regression with x mapping on Cygwin * runtime(netrw): fix filetype detection for remote files * 9.1.0822: topline might be changed in diff mode unexpectedly * CI: huge linux builds should also run syntax & indent tests * 9.1.0821: 'findexpr' completion doesn't set v:fname to cmdline argument * 9.1.0820: tests: Mac OS tests are too flaky * runtime(awk): Highlight more awk comments in syntax script * runtime(netrw): add missing change for s:redir() * 9.1.0819: tests: using findexpr and imported func not tested * runtime(netrw): improve netrw's open-handling further * runtime(netrw): fix syntax error in netrwPlugin.vim * runtime(netrw): simplify gx file handling * 9.1.0818: some global functions are only used in single files * 9.1.0817: termdebug: cannot evaluate expr in a popup * runtime(defaults): Detect putty terminal and switch to dark background * 9.1.0816: tests: not clear what tests cause asan failures * runtime(doc): Remove some completed items from todo.txt * 9.1.0815: "above" virtual text causes wrong 'colorcolumn' position * runtime(syntax-tests): tiny vim fails because of line-continuation * 9.1.0814: mapset() may remove unrelated mapping * 9.1.0813: no error handling with setglobal and number types * 9.1.0812: Coverity warns about dereferencing NULL ptr * 9.1.0811: :find expansion does not consider 'findexpr' * 9.1.0810: cannot easily adjust the |:find| command * 9.1.0809: filetype: petalinux config files not recognized * 9.1.0808: Terminal scrollback doesn't shrink when decreasing 'termwinscroll' * 9.1.0807: tests: having 'nolist' in modelines isn't always desired * 9.1.0806: tests: no error check when setting global 'briopt' * 9.1.0805: tests: minor issues in gen_opt_test.vim * 9.1.0804: tests: no error check when setting global 'cc' * 9.1.0803: tests: no error check when setting global 'isk' * 9.1.0802: tests: no error check when setting global 'fdm' to empty value * 9.1.0801: tests: no error check when setting global 'termwinkey' * 9.1.0800: tests: no error check when setting global 'termwinsize' * runtime(doc): :ownsyntax also resets 'spelloptions' * 9.1.0799: tests: gettwinvar()/gettabwinvar() tests are not comprehensive * runtime(doc): Fix wrong Mac default options * 9.1.0798: too many strlen() calls in cmdhist.c * 9.1.0797: testing of options can be further improved * 9.1.0796: filetype: libtool files are not recognized * (typst): add folding to typst ftplugin * runtime(netrw): deprecate and remove netrwFileHandlers#Invoke() * 9.1.0795: filetype: Vivado memory info file are not recognized * 9.1.0794: tests: tests may fail on Windows environment * runtime(doc): improve the :colorscheme documentation * 9.1.0793: xxd: -e does add one extra space * 9.1.0792: tests: Test_set_values() is not comprehensive enough * runtime(swayconfig): add flag for bindsym/bindcode to syntax script * 9.1.0791: tests: errors in gen_opt_test.vim are not shown * runtime(compiler): check for compile_commands in build dirs for cppcheck * 9.1.0790: Amiga: AmigaOS4 build should use default runtime (newlib) * runtime(help): Update help syntax * runtime(help): fix end of sentence highlight in code examples * runtime(jinja): Support jinja syntax as secondary filetype * 9.1.0789: tests: ':resize + 5' has invalid space after '+' * 9.1.0788: 27;u is not decoded to literal Escape in kitty/foot * 9.1.0787: cursor position changed when using hidden terminal * 9.1.0786: tests: quickfix update test does not test location list * runtime(doc): add some docs for file-watcher programs * CI: uploading failed screendumps still fails on Cirrus CI * 9.1.0785: cannot preserve error position when setting quickfix list * 9.1.0784: there are several problems with python 3.13 * 9.1.0783: 'spell' option setting has problems * 9.1.0782: tests: using wrong neomuttlog file name * runtime(doc): add preview flag to statusline example * 9.1.0781: tests: test_filetype fails * 9.1.0780: MS-Windows: incorrect Win32 error checking * 9.1.0779: filetype: neomuttlog files are not recognized * 9.1.0778: filetype: lf config files are not recognized * runtime(comment): fix commment toggle with mixed tabs & spaces * runtime(misc): Use consistent "Vim script" spelling * runtime(gleam): add ftplugin for gleam files * runtime(doc): link help-writing from write-local-help * 9.1.0777: filetype: Some upstream php files are not recognized * runtime(java): Define javaBlockStart and javaBlockOtherStart hl groups * runtime(doc): mention conversion rules for remote_expr() * runtime(tutor): Fix missing :s command in spanish translation section 4.4 * 9.1.0776: test_strftime may fail because of missing TZ data * translation(am): Add Armenian language translation * 9.1.0775: tests: not enough tests for setting options * 9.1.0774: "shellcmdline" doesn't work with getcompletion() * 9.1.0773: filetype: some Apache files are not recognized * 9.1.0772: some missing changes from v9.1.0771 * 9.1.0771: completion attribute hl_group is confusing * 9.1.0770: current command line completion is a bit limited * 9.1.0769: filetype: MLIR files are not recognized * 9.1.0768: MS-Windows: incorrect cursor position when restoring screen * runtime(nasm): Update nasm syntax script * 9.1.0767: A condition is always true in ex_getln.c * runtime(skill): Update syntax file to fix string escapes * runtime(help): highlight CTRL- correctly * runtime(doc): add missing usr_52 entry to toc * 9.1.0766: too many strlen() calls in ex_getln.c * runtime(doc): correct `vi` registers 1-9 documentation error * 9.1.0765: No test for patches 6.2.418 and 7.3.489 * runtime(spec): set comments and commentstring options * NSIS: Include libgcc_s_sjlj-1.dll again * runtime(doc): clarify the effect of 'startofline' option * 9.1.0764: [security]: use-after-free when closing a buffer * runtime(vim): Update base-syntax file, improve class, enum and interface highlighting * 9.1.0763: tests: cannot run single syntax tests * 9.1.0762: 'cedit', 'termwinkey' and 'wildchar' may not be parsed correctly * 9.1.0761: :cd completion fails on Windows with backslash in path * 9.1.0760: tests: no error reported, if gen_opt_test.vim fails * 9.1.0759: screenpos() may return invalid position * runtime(misc): unset compiler in various ftplugins * runtime(doc): update formatting and syntax * runtime(compiler): add cppcheck linter compiler plugin * runtime(doc): Fix style in documents * runtime(doc): Fix to two-space convention in user manual * runtime(comment): consider &tabstop in lines after whitespace indent * 9.1.0758: it's possible to set an invalid key to 'wildcharm' * runtime(java): Manage circularity for every :syn-included syntax file * 9.1.0757: tests: messages files contains ANSI escape sequences * 9.1.0756: missing change from patch v9.1.0754 * 9.1.0755: quickfix list does not handle hardlinks well * runtime(doc): 'filetype', 'syntax' and 'keymap' only allow alphanumeric + some characters * runtime(systemd): small fixes to &keywordprg in ftplugin * CI: macos-12 runner is being sunset, switch to 13 * 9.1.0754: fixed order of items in insert-mode completion menu * runtime(comment): commenting might be off by one column * 9.1.0753: Wrong display when typing in diff mode with 'smoothscroll' * 9.1.0752: can set 'cedit' to an invalid value * runtime(doc): add `usr` tag to usr_toc.txt * 9.1.0751: Error callback for term_start() not used * 9.1.0750: there are some Win9x legacy references * runtime(java): Recognise the CommonMark form (///) of Javadoc comments * 9.1.0749: filetype: http files not recognized * runtime(comment): fix syntax error * CI: uploading failed screendump tests does not work Cirrus * 9.1.0748: :keep* commmands are sometimes misidentified as :k * runtime(indent): allow matching negative numbers for gnu indent config file * runtime(comment): add gC mapping to (un)comment rest of line * 9.1.0747: various typos in repo found * 9.1.0746: tests: Test_halfpage_longline() fails on large terminals * runtime(doc): reformat gnat example * runtime(doc): reformat ada_standard_types section * 9.1.0745: filetype: bun and deno history files not recognized * runtime(glvs): Correct the tag name of glvs-autoinstal * runtime(doc): include short form for :earlier/:later * runtime(doc): remove completed TODO * 9.1.0744: filetype: notmuch configs are not recognised * 9.1.0743: diff mode does not handle overlapping diffs correctly * runtime(glvs): fix a few issues * runtime(doc): Fix typo in :help :command-modifiers * 9.1.0742: getcmdprompt() implementation can be improved * runtime(docs): update `:set?` command behavior table * runtime(doc): update vim90 to vim91 in docs * runtime(doc): fix typo in :h dos-colors * 9.1.0741: No way to get prompt for input()/confirm() * runtime(doc): fix typo in version9.txt nrformat -> nrformats * runtime(rmd,rrst): 'fex' option not properly restored * runtime(netrw): remove extraneous closing bracket * 9.1.0740: incorrect internal diff with empty file * 9.1.0739: [security]: use-after-free in ex_getln.c * runtime(filetype): tests: Test_filetype_detection() fails * runtime(dist): do not output a message if executable is not found * 9.1.0738: filetype: rapid files are not recognized * runtime(modconf): remove erroneous :endif in ftplugin * runtime(lyrics): support multiple timestamps in syntax script * runtime(java): Optionally recognise _module_ import declarations * runtime(vim): Update base-syntax, improve folding function matches * CI: upload failed screendump tests also for Cirrus * 9.1.0737: tests: screendump tests may require a bit more time * runtime(misc): simplify keywordprg in various ftplugins * runtime(java): Optionally recognise all primitive constants in _switch-case_ labels * runtime(zsh,sh): set and unset compiler in ftplugin * runtime(netrw): using inefficient highlight pattern for 'mf' * 9.1.0736: Unicode tables are outdated * 9.1.0735: filetype: salt files are not recognized * 9.1.0734: filetype: jinja files are not recognized * runtime(zathurarc): add double-click-follow to syntax script * translation(ru): Updated messages translation * translation(it): updated xxd man page * translation(ru): updated xxd man page * 9.1.0733: keyword completion does not work with fuzzy * 9.1.0732: xxd: cannot use -b and -i together * runtime(java): Highlight javaConceptKind modifiers with StorageClass * runtime(doc): reword and reformat how to use defaults.vim * 9.1.0731: inconsistent case sensitive extension matching * runtime(vim): Update base-syntax, match Vim9 bool/null literal args to :if/:while/:return * runtime(netrw): delete confirmation not strict enough * 9.1.0730: Crash with cursor-screenline and narrow window * 9.1.0729: Wrong cursor-screenline when resizing window * 9.1.0728: [security]: heap-use-after-free in garbage collection with location list user data * runtime(doc): clarify the effect of the timeout for search()-functions * runtime(idlang): update syntax script * runtime(spec): Recognize epoch when making spec changelog in ftplugin * runtime(spec): add file triggers to syntax script * 9.1.0727: too many strlen() calls in option.c * runtime(make): add compiler/make.vim to reset compiler plugin settings * runtime(java): Recognise all available standard doclet tags * 9.1.0726: not using correct python3 API with dynamic linking * runtime(dosini): Update syntax script, spellcheck comments only * runtime(doc): Revert outdated comment in completeopt's fuzzy documentation * 9.1.0725: filetype: swiftinterface files are not recognized * runtime(pandoc): Update compiler plugin to use actual 'spelllang' * runtime(groff): Add compiler plugin for groff * 9.1.0724: if_python: link error with python 3.13 and stable ABI * 9.1.0723: if_python: dynamic linking fails with python3 >= 3.13 * 9.1.0722: crash with large id in text_prop interface * 9.1.0721: tests: test_mksession does not consider XDG_CONFIG_HOME * runtime(glvs): update GetLatestVimScripts plugin * runtime(doc): Fix typo in :help :hide text * runtime(doc): buffers can be re-used * 9.1.0720: Wrong breakindentopt=list:-1 with multibyte or TABs * 9.1.0719: Resetting cell widths can make 'listchars' or 'fillchars' invalid * runtime(doc): Update version9.txt and mention $MYVIMDIR - Update to 9.1.0718: * v9.1.0718: hard to know the users personal Vim Runtime Directory * v9.1.0717: Unnecessary nextcmd NULL checks in parse_command_modifiers() Maintainers: fix typo in author name * v9.1.0716: resetting setcellwidth( doesn't update the screen runtime(hcl,terraform): Add runtime files for HCL and Terraform runtime(tmux): Update syntax script * v9.1.0715: Not correctly parsing color names (after v9.1.0709) * v9.1.0714: GuiEnter_Turkish test may fail * v9.1.0713: Newline causes E749 in Ex mode * v9.1.0712: missing dependency of Test_gettext_makefile * v9.1.0711: test_xxd may file when using different xxd * v9.1.0710: popup window may hide part of Command line runtime(vim): Update syntax, improve user-command matching * v9.1.0709: GUIEnter event not found in Turkish locale runtime(sudoers): improve recognized Runas_Spec and Tag_Spec items * v9.1.0708: Recursive window update does not account for reset skipcol runtime(nu): include filetype plugin * v9.1.0707: invalid cursor position may cause a crash * v9.1.0706: test_gettext fails when using shadow dir CI: Install locales-all package * v9.1.0705: Sorting of fuzzy filename completion is not stable translation(pt): update Portuguese/Brazilian menu translation runtime(vim): Update base-syntax, match bracket mark ranges runtime(doc): Update :help :command-complete list * v9.1.0704: inserting with a count is inefficient runtime(doc): use mkdir -p to save a command * v9.1.0703: crash with 2byte encoding and glob2regpat() runtime(hollywood): update syn highlight for If-Then statements and For-In-Loops * v9.1.0702: Patch 9.1.0700 broke CI * v9.1.0701: crash with NFA regex engine when searching for composing chars * v9.1.0700: crash with 2byte encoding and glob2regpat() * v9.1.0699: "dvgo" is not always an inclusive motion runtime(java): Provide support for syntax preview features * v9.1.0698: "Untitled" file not removed when running Test_crash1_3 alone * v9.1.0697: heap-buffer-overflow in ins_typebuf * v9.1.0696: installing runtime files fails when using SHADOWDIR runtime(doc): fix typo * v9.1.0695: test_crash leaves Untitled file around translation(br): Update Brazilian translation translation(pt): Update menu_pt_br * v9.1.0694: matchparen is slow on a long line * v9.1.0693: Configure doesn't show result when not using python3 stable abi * v9.1.0692: Wrong patlen value in ex_substitute() * v9.1.0691: stable-abi may cause segfault on Python 3.11 runtime(vim): Update base-syntax, match :loadkeymap after colon and bar runtime(mane): Improve ManBS mapping * v9.1.0690: cannot set special highlight kind in popupmenu translation(pt): Revert and fix wrong Portuguese menu translation files translation(pt): revert Portuguese menu translation translation(br): Update Brazilian translations runtime(vim): Update base-syntax, improve :let-heredoc highlighting * v9.1.0689: buffer-overflow in do_search( with 'rightleft' runtime(vim): Improve heredoc handling for all embedded scripts * v9.1.0688: dereferences NULL pointer in check_type_is_value() * v9.1.0687: Makefile may not install desktop files runtime(man): Fix ManBS runtime(java): Make the bundled &foldtext function optional runtime(netrw): Change line on `mx` if command output exists runtime(netrw): Fix `mf`-selected entry highlighting runtime(htmlangular): add html syntax highlighting translation(it): Fix filemode of Italian manpages runtime(doc): Update outdated man.vim plugin information runtime(zip): simplify condition to detect MS-Windows * v9.1.0686: zip-plugin has problems with special characters runtime(pandoc): escape quotes in &errorformat for pandoc translation(it): updated Italian manpage * v9.1.0685: too many strlen( calls in usercmd.c runtime(doc): fix grammar in :h :keeppatterns runtime(pandoc): refine pandoc compiler settings * v9.1.0684: completion is inserted on Enter with "noselect" translation(ru): update man pages * v9.1.0683: mode( returns wrong value with mapping runtime(doc): remove trailing whitespace in cmdline.txt * v9.1.0682: Segfault with uninitialized funcref * v9.1.0681: Analyzing failed screendumps is hard runtime(doc): more clarification for the :keeppatterns needed * v9.1.0680: VMS does not have defined uintptr_t runtime(doc): improve typedchar documentation for KeyInputPre autocmd runtime(dist): verify that executable is in $PATH translation(it): update Italian manpages runtime(doc): clarify the effect of :keeppatterns after * v9.1.0677 runtime(doc): update Makefile and make it portable between GNU and BSD * v9.1.0679: Rename from w_closing to w_locked is incomplete runtime(colors): update colorschemes runtime(vim): Update base-syntax, improve :let-heredoc highlighting runtime(doc): Updating the examples in the xxd manpage translation(ru): Updated uganda.rux runtime(yaml): do not re-indent when commenting out lines * v9.1.0678: use-after-free in alist_add() * v9.1.0677 :keepp does not retain the substitute pattern translation(ja): Update Japanese translations to latest release runtime(netrw): Drop committed trace lines runtime(netrw): Error popup not always used runtime(netrw): ErrorMsg( may throw E121 runtime(tutor): update Makefile and make it portable between GNU and BSD translation: improve the po/cleanup.vim script runtime(lang): update Makefile and make it portable between GNU and BSD * v9.1.0676: style issues with man pages * v9.1.0675: Patch v9.1.0674 causes problems runtime(dosbatch): Show %%i as an argument in syntax file runtime(dosbatch): Add syn-sync to syntax file runtime(sql, mysql): fix E169: Command too recursive with sql_type_default = "mysql" * v9.1.0674: compiling abstract method fails because of missing return runtime(javascript): fix a few issues with syntax higlighting runtime(mediawiki): fix typo in doc, test for b:did_ftplugin var runtime(termdebug): Fix wrong test for balloon feature runtime(doc): Remove mentioning of the voting feature runtime(doc): add help tags for json + markdown global variables * v9.1.0673: too recursive func calls when calling super-class method runtime(syntax-tests): Facilitate the viewing of rendered screendumps runtime(doc): fix a few style issues * v9.1.0672: marker folds may get corrupted on undo * v9.1.0671 Problem: crash with WinNewPre autocommand * v9.1.0670: po file encoding fails on *BSD during make translation(it): Update Italian translation translation: Stop using msgconv * v9.1.0669: stable python ABI not used by default Update .gitignore and .hgignore files * v9.1.0668: build-error with python3.12 and stable ABI translations: Update generated po files * v9.1.0667: Some other options reset curswant unnecessarily when set * v9.1.0666: assert_equal( doesn't show multibyte string correctly runtime(doc): clarify directory of Vim's executable vs CWD * v9.1.0665 :for loop runtime(proto): Add indent script for protobuf filetype * v9.1.0664: console vim did not switch back to main screen on exit runtime(zip): zip plugin does not work with Vim 9.0 * v9.1.0663: zip test still resets 'shellslash' option runtime(zip): use defer to restore old settings runtime(zip): add a generic Message function runtime(zip): increment base version of zip plugin runtime(zip): raise minimum Vim version to * v9.0 runtime(zip): refactor save and restore of options runtime(zip): remove test for fnameescape runtime(zip): use :echomsg instead of :echo runtime(zip): clean up and remove comments * v9.1.0662: filecopy( may return wrong value when readlink( fails * v9.1.0661: the zip plugin is not tested. runtime(zip): Fix for FreeBSD's unzip command runtime(doc): capitalize correctly * v9.1.0660: Shift-Insert does work on old conhost translation(it): update Italian manpage runtime(lua): add/subtract a 'shiftwidth' after '('/')' in indentexpr runtime(zip): escape '[' on Unix as well * v9.1.0659: MSVC Makefile is a bit hard to read runtime(doc): fix typo in syntax.txt runtime(doc): -x is only available when compiled with crypt feature * v9.1.0658: Coverity warns about dereferencing NULL pointer. runtime(colors): update Todo highlight in habamax colorscheme * v9.1.0657: MSVC build time can be optimized * v9.1.0656: MSVC Makefile CPU handling can be improved * v9.1.0655: goaccess config file not recognized CI: update clang compiler to version 20 runtime(netrw): honor `g:netrw_alt{o,v}` for `:{S,H,V}explore` * v9.1.0654: completion does not respect completeslash with fuzzy * v9.1.0653: Patch v9.1.0648 not completely right * v9.1.0652: too many strlen( calls in syntax.c * v9.1.0651 :append * v9.1.0650: Coverity warning in cstrncmp() * v9.1.0649: Wrong comment for "len" argument of call_simple_func() * v9.1.0648: [security] double-free in dialog_changed() * v9.1.0647: [security] use-after-free in tagstack_clear_entry runtime(doc): re-format tag example lines, mention ctags --list-kinds * v9.1.0646: imported function may not be found runtime(java): Document "g:java_space_errors" and "g:java_comment_strings" runtime(java): Cluster optional group definitions and their group links runtime(java): Tidy up the syntax file runtime(java): Tidy up the documentation for "ft-java-syntax" runtime(colors): update habamax scheme - tweak diff/search/todo colors runtime(nohlsearch): add missing loaded_hlsearch guard runtime(kivy): Updated maintainer info for syntax script Maintainers: Add maintainer for ondir ftplugin + syntax files runtime(netrw): removing trailing slash when copying files in same directory * v9.1.0645: wrong match when searching multi-byte char case-insensitive runtime(html): update syntax script to sync by 250 minlines by default * v9.1.0644: Unnecessary STRLEN( when applying mapping runtime(zip): Opening a remote zipfile don't work runtime(cuda): source c and cpp ftplugins * v9.1.0643: cursor may end up on invalid position * v9.1.0642: Check that mapping rhs starts with lhs fails if not simplified * v9.1.0641: OLE enabled in console version runtime(thrift): add ftplugin, indent and syntax scripts * v9.1.0640: Makefile can be improved * v9.1.0639: channel timeout may wrap around * v9.1.0638: E1510 may happen when formatting a message for smsg() * v9.1.0637: Style issues in MSVC Makefile - Update apparmor.vim to latest version (from AppArmor 4.0.2) - add support for "all" and "userns" rules, and new profile flags - Update to 9.1.0636: * 9.1.0636: filetype: ziggy files are not recognized * 9.1.0635: filetype: SuperHTML template files not recognized * 9.1.0634: Ctrl-P not working by default * 9.1.0633: Compilation warnings with `-Wunused-parameter` * 9.1.0632: MS-Windows: Compiler Warnings Add support for Files-Included in syntax script tweak documentation style a bit * 9.1.0631: wrong completion list displayed with non-existing dir + fuzzy completion * 9.1.0630: MS-Windows: build fails with VIMDLL and mzscheme * 9.1.0629: Rename of pum hl_group is incomplete * 9.1.0628: MinGW: coverage files are not cleaned up * 9.1.0627: MinGW: build-error when COVERAGE is enabled * 9.1.0626: Vim9: need more tests with null objects include initial filetype plugin * 9.1.0625: tests: test output all translated messages for all translations * 9.1.0624: ex command modifiers not found * 9.1.0623: Mingw: errors when trying to delete non-existing files * 9.1.0622: MS-Windows: mingw-build can be optimized * 9.1.0621: MS-Windows: startup code can be improved * 9.1.0620: Vim9: segfauls with null objects * 9.1.0619: tests: test_popup fails * 9.1.0618: cannot mark deprecated attributes in completion menu * 9.1.0617: Cursor moves beyond first line of folded end of buffer * 9.1.0616: filetype: Make syntax highlighting off for MS Makefiles * 9.1.0615: Unnecessary STRLEN() in make_percent_swname() Add single-line comment syntax Add syntax test for comments Update maintainer info * 9.1.0614: tests: screendump tests fail due to recent syntax changes * 9.1.0613: tests: termdebug test may fail and leave file around Update base-syntax, improve :set highlighting Optionally highlight the :: token for method references * 9.1.0612: filetype: deno.lock file not recognized Use delete() for deleting directory escape filename before trying to delete it * 9.1.0611: ambiguous mappings not correctly resolved with modifyOtherKeys correctly extract file from zip browser * 9.1.0610: filetype: OpenGL Shading Language files are not detected Fix endless recursion in netrw#Explore() * 9.1.0609: outdated comments in Makefile update syntax script Fix flow mapping key detection Remove orphaned YAML syntax dump files * 9.1.0608: Coverity warns about a few potential issues Update syntax script and remove syn sync * 9.1.0607: termdebug: uses inconsistent style * 9.1.0606: tests: generated files may cause failure in test_codestyle * 9.1.0605: internal error with fuzzy completion * 9.1.0604: popup_filter during Press Enter prompt seems to hang translation: Update Serbian messages translation * 9.1.0603: filetype: use correct extension for Dracula * 9.1.0602: filetype: Prolog detection can be improved fix more inconsistencies in assert function docs * 9.1.0601: Wrong cursor position with 'breakindent' when wide char doesn't fit Update base-syntax, improve :map highlighting * 9.1.0600: Unused function and unused error constants * 9.1.0599: Termdebug: still get E1023 when specifying arguments correct wrong comment options fix typo "a xterm" -> "an xterm" * 9.1.0598: fuzzy completion does not work with default completion * 9.1.0597: KeyInputPre cannot get the (unmapped typed) key * 9.1.0596: filetype: devscripts config files are not recognized gdb file/folder check is now performed only in CWD. quote filename arguments using double quotes update syntax to SDC-standard 2.1 minor updates. Cleanup :match and :loadkeymap syntax test files Update base-syntax, match types in Vim9 variable declarations * 9.1.0595: make errors out with the po Makefile * 9.1.0594: Unnecessary redraw when setting 'winfixbuf' using wrong highlight for UTF-8 include simple syntax plugin * 9.1.0593: filetype: Asymptote files are not recognized add recommended indent options to ftplugin add recommended indent options to ftplugin add recommended indent options to ftplugin * 9.1.0592: filetype: Mediawiki files are not recognized * 9.1.0591: filetype: *.wl files are not recognized * 9.1.0590: Vim9: crash when accessing getregionpos() return value 'cpoptions': Include "z" in the documented default * 9.1.0589: vi: d{motion} and cw work differently than expected update included colorschemes grammar fixes in options.txt - Add "Keywords" to gvim.desktop to make searching for gvim easier - Removed patches, as they're no longer required (refreshing them deleted their contents): * vim-7.3-help_tags.patch * vim-7.4-highlight_fstab.patch - Reorganise all applied patches in the spec file. - Update to 9.1.0588: * 9.1.0588: The maze program no longer compiles on newer clang runtime(typst): Add typst runtime files * 9.1.0587: tests: Test_gui_lowlevel_keyevent is still flaky * 9.1.0586: ocaml runtime files are outdated runtime(termdebug): fix a few issues * 9.1.0585: tests: test_cpoptions leaves swapfiles around * 9.1.0584: Warning about redeclaring f_id() non-static runtime(doc): Add hint how to load termdebug from vimrc runtime(doc): document global insert behavior * 9.1.0583: filetype: *.pdf_tex files are not recognized * 9.1.0582: Printed line doesn't overwrite colon when pressing Enter in Ex mode * 9.1.0581: Various lines are indented inconsistently * 9.1.0580: :lmap mapping for keypad key not applied when typed in Select mode * 9.1.0579: Ex command is still executed after giving E1247 * 9.1.0578: no tests for :Tohtml * 9.1.0577: Unnecessary checks for v:sizeoflong in test_put.vim * 9.1.0576: tests: still an issue with test_gettext_make * 9.1.0575: Wrong comments in alt_tabpage() * 9.1.0574: ex: wrong handling of commands after bar runtime(doc): add a note for netrw bug reports * 9.1.0573: ex: no implicit print for single addresses runtime(vim): make &indentexpr available from the outside * 9.1.0572: cannot specify tab page closing behaviour runtime(doc): remove obsolete Ex insert behavior * 9.1.0571: tests: Test_gui_lowlevel_keyevent is flaky runtime(logindefs): update syntax with new keywords * 9.1.0570: tests: test_gettext_make can be improved runtime(filetype): Fix Prolog file detection regex * 9.1.0569: fnamemodify() treats ".." and "../" differently runtime(mojo): include mojo ftplugin and indent script * 9.1.0568: Cannot expand paths from 'cdpath' setting * 9.1.0567: Cannot use relative paths as findfile() stop directories * 9.1.0566: Stop dir in findfile() doesn't work properly w/o trailing slash * 9.1.0565: Stop directory doesn't work properly in 'tags' * 9.1.0564: id() can be faster * 9.1.0563: Cannot process any Key event * 9.1.0562: tests: inconsistency in test_findfile.vim runtime(fstab): Add missing keywords to fstab syntax * 9.1.0561: netbeans: variable used un-initialized (Coverity) * 9.1.0560: bindtextdomain() does not indicate an error * 9.1.0559: translation of vim scripts can be improved * 9.1.0558: filetype: prolog detection can be improved * 9.1.0557: moving in the buffer list doesn't work as documented runtime(doc): fix inconsistencies in :h file-searching * 9.1.0556: :bwipe doesn't remove file from jumplist of other tabpages runtime(htmlangular): correct comment * 9.1.0555: filetype: angular ft detection is still problematic * 9.1.0554: :bw leaves jumplist and tagstack data around * 9.1.0553: filetype: *.mcmeta files are not recognized * 9.1.0552: No test for antlr4 filetype * 9.1.0551: filetype: htmlangular files are not properly detected * 9.1.0550: filetype: antlr4 files are not recognized * 9.1.0549: fuzzycollect regex based completion not working as expected runtime(doc): autocmd_add() accepts a list not a dict * 9.1.0548: it's not possible to get a unique id for some vars runtime(tmux): Update syntax script * 9.1.0547: No way to get the arity of a Vim function * 9.1.0546: vim-tiny fails on CTRL-X/CTRL-A runtime(hlsplaylist): include hlsplaylist ftplugin file runtime(doc): fix typo in :h ft-csv-syntax runtime(doc): Correct shell command to get $VIMRUNTIME into shell * 9.1.0545: MSVC conversion warning * 9.1.0544: filetype: ldapconf files are not recognized runtime(cmakecache): include cmakecache ftplugin file runtime(lex): include lex ftplugin file runtime(yacc): include yacc ftplugin file runtime(squirrel): include squirrel ftplugin file runtime(objcpp): include objcpp ftplugin file runtime(tf): include tf ftplugin file runtime(mysql): include mysql ftplugin file runtime(javacc): include javacc ftplugin file runtime(cabal): include cabal ftplugin file runtime(cuda): include CUDA ftplugin file runtime(editorconfig): include editorconfig ftplugin file runtime(kivy): update kivy syntax, include ftplugin runtime(syntax-tests): Stop generating redundant "*_* 99.dump" files * 9.1.0543: Behavior of CursorMovedC is strange runtime(vim): Update base-syntax, improve :match command highlighting * 9.1.0542: Vim9: confusing string() output for object functions * 9.1.0541: failing test with Vim configured without channel * 9.1.0540: Unused assignment in sign_define_cmd() runtime(doc): add page-scrolling keys to index.txt runtime(doc): add reference to xterm-focus-event from FocusGained/Lost * 9.1.0539: Not enough tests for what v9.1.0535 fixed runtime(doc): clarify how to re-init csv syntax file * 9.1.0538: not possible to assign priority when defining a sign * 9.1.0537: signed number detection for CTRL-X/A can be improved * 9.1.0536: filetype: zone files are not recognized * 9.1.0535: newline escape wrong in ex mode runtime(man): honor cmd modifiers before `g:ft_man_open_mode` runtime(man): use `nnoremap` to map to Ex commands * 9.1.0534: completion wrong with fuzzy when cycling back to original runtime(syntax-tests): Abort and report failed cursor progress runtime(syntax-tests): Introduce self tests for screen dumping runtime(syntax-tests): Clear and redraw the ruler line with the shell info runtime(syntax-tests): Allow for folded and wrapped lines in syntax test files * 9.1.0533: Vim9: need more tests for nested objects equality CI: Pre-v* 9.0.0110 versions generate bogus documentation tag entries runtime(doc): Remove wrong help tag CTRL-SHIFT-CR * 9.1.0532: filetype: Cedar files not recognized runtime(doc): document further keys that scroll page up/down * 9.1.0531: resource leak in mch_get_random() runtime(tutor): Fix wrong spanish translation runtime(netrw): fix remaining case of register clobber * 9.1.0530: xxd: MSVC warning about non-ASCII character * 9.1.0529: silent! causes following try/catch to not work runtime(rust): use shiftwidth() in indent script * 9.1.0528: spell completion message still wrong in translations * 9.1.0527: inconsistent parameter in Makefiles for Vim executable * 9.1.0526: Unwanted cursor movement with pagescroll at start of buffer runtime(doc): mention $XDG_CONFIG_HOME instead of $HOME/.config * 9.1.0525: Right release selects immediately when pum is truncated. * 9.1.0524: the recursive parameter in the *_equal functions can be removed runtime(termdebug): Add Deprecation warnings * 9.1.0523: Vim9: cannot downcast an object * 9.1.0522: Vim9: string(object) hangs for recursive references * 9.1.0521: if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13 * 9.1.0520: Vim9: incorrect type checking for modifying lists runtime(manpager): avoid readonly prompt * 9.1.0519: MS-Windows: libvterm compilation can be optimized * 9.1.0518: initialize the random buffer can be improved * 9.1.0517: MS-Windows: too long lines in Make_mvc.mak runtime(terraform): Add filetype plugin for terraform runtime(dockerfile): enable spellchecking of comments in syntax script runtime(doc): rename variable for pandoc markdown support runtime(doc): In builtin overview use {buf} as param for appendbufline/setbufline runtime(doc): clarify, that register 1-* 9 will always be shifted runtime(netrw): save and restore register 0-* 9, a and unnamed runtime(termdebug): Refactored StartDebug_term and EndDebug functions runtime(java): Compose "g:java_highlight_signature" and "g:java_highlight_functions" * 9.1.0516: need more tests for nested dicts and list comparision * 9.1.0515: Vim9: segfault in object_equal() * 9.1.0514: Vim9: issue with comparing objects recursively runtime(termdebug): Change some variables to Enums runtime(vim): Update base-syntax, fix function tail comments * 9.1.0513: Vim9: segfault with object comparison - Update to 9.1.0512: * Mode message for spell completion doesn't match allowed keys * CursorMovedC triggered wrongly with setcmdpos() * update runtime files * CI: test_gettext fails on MacOS14 + MSVC Win * not possible to translate Vim script messages * termdebug plugin can be further improved * add gomod filetype plugin * hard to detect cursor movement in the command line * Optionally highlight parameterised types * filetype: .envrc & .prettierignore not recognized * filetype: Faust files are not recognized * inner-tag textobject confused about ">" in attributes * cannot use fuzzy keyword completion * Remove the group exclusion list from @javaTop * wrong return type for execute() function * MS-Windows: too much legacy code * too complicated mapping restore in termdebug * simplify mapping * cannot switch buffer in a popup * MS-Windows: doesn't handle symlinks properly * getcmdcompltype() interferes with cmdline completion * termdebug can be further improved * update htmldjango detection * Improve Turkish documentation * include a simple csv filetype and syntax plugin * include the the simple nohlsearch package * matched text is highlighted case-sensitively * Matched text isn't highlighted in cmdline pum * Fix typos in several documents * clarify when text properties are cleared * improve the vim-shebang example * revert unintended formatting changes for termdebug * Add a config variable for commonly used compiler options * Wrong matched text highlighted in pum with 'rightleft' * bump length of character references in syntax script * properly check mapping variables using null_dict * fix KdlIndent and kdlComment in indent script * Test for patch 9.1.0489 doesn't fail without the fix * Fold multi-line comments with the syntax kind of &fdm * using wrong type for PlaceSign() * filetype: Vim-script files not detected by shebang line * revert unintended change to zip#Write() * add another tag for vim-shebang feature * Cmdline pum doesn't work properly with 'rightleft' * minor style problems with patch 9.1.0487 * default completion may break with fuzzy * Wrong padding for pum "kind" with 'rightleft' * Update base-syntax, match shebang lines * MS-Windows: handle files with spaces properly * Restore HTML syntax file tests * completed item not update on fuzzy completion * filetype: Snakemake files are not recognized * make TermDebugSendCommand() a global function again * close all buffers in the same way * Matched text shouldn't be highlighted in "kind" and "menu" * fix wrong helptag for :defer * Update base-syntax, match :sleep arg * include Georgian keymap * Sorting of completeopt+=fuzzy is not stable * correctly test for windows in NetrwGlob() * glob() on windows fails with [] in directory name * rewrite mkdir() doc and simplify {flags} meaning * glob() not sufficiently tested * update return type for job_info() * termdebug plugin needs more love * correct return types for job_start() and job_status() * Update base-syntax, match :catch and :throw args * Include element values in non-marker annotations * Vim9: term_getjob() throws an exception on error * fuzzy string matching executed when not needed * fuzzy_match_str_with_pos() does unnecessary list operations * restore description of "$" in col() and virtcol() * deduplicate getpos(), line(), col(), virtcol() * Update g:vimsyn_comment_strings dump file tests * Use string interpolation instead of string concat * potential deref of NULL pointer in fuzzy_match_str_with_pos * block_editing errors out when using * Update base-syntax, configurable comment string highlighting * fix typos in syntax.txt * Cannot see matched text in popup menu * Update base-syntax, match multiline continued comments * clarify documentation for "v" position at line() * cmod_split modifier is always reset in term_start() * remove line-continuation characters * use shiftwidth() instead of &tabstop in indent script * Remove orphaned screen dump files * include syntax, indent and ftplugin files * CI: Test_ColonEight() fails on github runners * add missing Enabled field in syntax script * basic svelte ftplugin file * term_start() does not clear vertical modifier * fix mousemodel restoration by comparing against null_string * Added definitions of Vim scripts and plugins * Exclude lambda expressions from _when_ _switch-case_ label clauses * Fix saved_mousemodel check * Inconsistencies between functions for option flags * Crash when using autocmd_get() after removing event inside autocmd * Fix small style issues * add return type info for Vim function descriptions * Update Italian Vim manpage * disable the q mapping * Change 'cms' for C++ to '// %s' * fix type mismatch error * Fix wrong email address * convert termdebug plugin to Vim9 script - Update to 9.1.0470: * tests Test_ColonEight_MultiByte() fails sporadically * Cannot have buffer-local value for 'completeopt' * GvimExt does not consult HKEY_CURRENT_USER * typos in some comments * runtime(vim): Update base-syntax, allow whitespace before :substitute pattern * Missing comments for fuzzy completion * runtime(man): update Vim manpage * runtime(comment): clarify the usage of 'commentstring' option value * runtime(doc): clarify how fuzzy 'completeopt' should work * runtime(netrw): prevent accidental data loss * missing filecopy() function * no whitespace padding in commentstring option in ftplugins * no fuzzy-matching support for insert-completion * eval5() and eval7 are too complex * too many strlen() calls in drawline.c * filetype lintstagedrc files are not recognized * Vim9 import autoload does not work with symlink * Coverity complains about division by zero * tests test_gui fails on Wayland * Left shift is incorrect with vartabstop and shiftwidth=0 * runtime(doc): clarify 'shortmess' flag "S" * MS-Windows compiler warning for size_t to int conversion * runtime(doc): include some vim9 script examples in the help * minor issues in test_filetype with rasi test * filetype rasi files are not recognized * runtime(java): Improve the matching of lambda expressions * Configure checks for libelf unnecessarily * No test for escaping '<' with shellescape() * check.vim complains about overlong comment lines * translation(it): Update Italian translation * evalc. code too complex * MS-Windows Compiler warnings - Update to 9.1.0448: * compiler warning in eval.c * remove remaining css code * Add ft_hare.txt to Reference Manual TOC * re-generate vim syntax from generator * fix syntax vim bug * completion may be wrong when deleting all chars * getregionpos() inconsistent for partly-selected multibyte char * fix highlighting nested and escaped quotes in string props * remove the indent plugin since it has too many issues * update Debian runtime files * Coverity warning after 9.1.0440 * Not enough tests for getregion() with multibyte chars * Can't use blockwise selection with width for getregion() * update outdated syntax files * fix floating_modifier highlight * hare runtime files outdated * getregionpos() can't properly indicate positions beyond eol * function get_lval() is too long * Cannot filter the history * Wrong Ex command executed when :g uses '?' as delimiter * support floating_modifier none; revert broken highlighting * Motif requires non-const char pointer for XPM data * Crash when using '?' as separator for :s * filetype: cygport files are not recognized * make errors trying to access autoload/zig * Wrong yanking with exclusive selection and ve=all * add missing help tags file * Ancient XPM preprocessor hack may cause build errors * include basic rescript ftplugin file * eval.c is too long * getregionpos() doesn't handle one char selection * check for gdb file/dir before using as buffer name * refactor zig ftplugin, remove auto format * Coverity complains about eval.c refactor * Tag guessing leaves wrong search history with very short names * some issues with termdebug mapping test * update matchit plugin to v1.20 * too many strlen() calls in search.c * set commentstring option * update vb indent plugin as vim9script * filetype: purescript files are not recognized * filetype: slint files are not recognized * basic nim ftplugin file for comments * Add Arduino ftplugin and indent files * include basic typst ftplugin file * include basic prisma ftplugin file * include basic v ftplugin for comment support * getregionpos() wrong with blockwise mode and multibyte * function echo_string_core() is too long * hyprlang files are not recognized * add basic dart ftplugin file * basic ftplugin file for graphql * mention comment plugin at :h 'commentstring' * set commentstring for sql files in ftplugin * :browse oldfiles prompts even with single entry * eval.c not sufficiently tested * clarify why E195 is returned * clarify temporary file clean up * fix :NoMatchParen not working * Cannot move to previous/next rare word * add basic ftplugin file for sshdconfig * if_py: find_module has been removed in Python 3.12.0a7 * some screen dump tests can be improved * Some functions are not tested * clarify instal instructions for comment package * Unable to leave long line with 'smoothscroll' and 'scrolloff' * fix typo in vim9script help file * Remove trailing spaces * clarify {special} argument for shellescape() - update to 9.1.0413 * smoothscroll may cause infinite loop * add missing entries for the keys CTRL-W g and * update vi_diff.txt: add default value for 'flash' * typo in regexp_bt.c in DEBUG code * allow indented commands * Fix wrong define regex in ftplugin * Filter out non-Latin-1 characters for syntax tests * prefer scp over pscp * fix typo in usr_52.txt * too long functions in eval.c * warning about uninitialized variable * too many strlen() calls in the regexp engine * E16 fix, async keyword support for define * Stuck with long line and half-page scrolling * Divide by zero with getmousepos() and 'smoothscroll' * update and remove some invalid links * update translation of xxd manpage * Recursively delete directories by default with netrw delete command * Strive to remain compatible for at least Vim 7.0 * tests: xxd buffer overflow fails on 32-bit * Stop handpicking syntax groups for @javaTop * [security] xxd: buffer-overflow with specific flags * Vim9: not able to import file from start dir * filetype: mdd files detected as zsh filetype * filetype: zsh module files are not recognized * Remove hardcoded private.ppk logic from netrw * Vim9: confusing error message for unknown type * block_editing errors out when using del * add new items to scripts section in syntax plugin * Vim9: imported vars are not properly type checked * Wrong display with 'smoothscroll' when changing quickfix list * filetype: jj files are not recognized * getregionpos() may leak memory on error * The CODEOWNERS File is not useful * Remove and cleanup Win9x legacy from netrw * add MsgArea to 'highlight' option description * Cannot get a list of positions describing a region * Fix digit separator in syntax script for octals and floats * Update link to Wikipedia Vi page * clear $MANPAGER in ftplugin before shelling out * Fix typos in help documents * 'viewdir' not respecting $XDG_CONFIG_HOME * tests: Vim9 debug tests may be flaky * correct getscriptinfo() example * Vim9: could improve testing * test_sound fails on macos-12 * update Serbian menu * update Slovak menu * update Slovenian menu * update Portuguese menu * update Dutch menu * update Korean menu * update Icelandic menu * update Czech menu * update Afrikaans menu * update German menu * filetype: inko files are not recognized * filetype: templ files are not recognized * cursor() and getregion() don't handle v:maxcol well * Vim9: null value tests not sufficient * update Catalan menu * filetype: stylus files not recognized * update spanish menu localization * regenerate helptags * Vim9: crash with null_class and null_object * Add tags about lazyloading of menu * tests: vt420 terminfo entry may not be found * filetype: .out files recognized as tex files * filetype: Kbuild files are not recognized * cbuffer and similar commands don't accept a range * Improve the recognition of the "indent" method declarations * Fix a typo in usr_30.txt * remove undefined var s:save_cpoptions and add include setting * missing setlocal in indent plugin * Calculating line height for unnecessary amount of lines * improve syntax file performance * There are a few typos * Vim9: no comments allowed after class vars * CI: remove trailing white space in documentation * Formatting text wrong when 'breakindent' is set * Add oracular (24.10) as Ubuntu release name * Vim9: Trailing commands after class/enum keywords ignored * tests: 1-second delay after Test_BufEnter_botline() * update helptags for jq syntax * include syntax, ftplugin and compiler plugin * fix typo synconcealend -> synconcealed * include a simple comment toggling plugin * wrong botline in BufEnter * clarify syntax vs matching mechanism * fix undefined variable in indent plugin * ops.c code uses too many strlen() calls * Calling CLEAR_FIELD() on the same struct twice * Vim9: compile_def_function() still too long * Update Serbian messages * clarify the effect of setting the shell to powershell * Improve the recognition of the "style" method declarations * Vim9: problem when importing autoloaded scripts * compile_def_function is too long * filetype: ondir files are not recognized * Crash when typing many keys with D- modifier * tests: test_vim9_builtin is a bit slow * update documentation * change the download URL of "libsodium" * tests: test_winfixbuf is a bit slow * Add filetype, syntax and indent plugin for Astro * expanding rc config files does not work well * Vim9: vim9type.c is too complicated * Vim9: does not handle autoloaded variables well * minor spell fix in starting.txt * wrong drawing in GUI with setcellwidth() * Add include and suffixesadd * Page scrolling should place cursor at window boundaries * align command line table * minor fixes to starting.txt * fix comment definition in filetype plugin * filetype: flake.lock files are not recognized * runtime(uci): No support for uci file types * Support "g:ftplugin_java_source_path" with archived files * tests: Test_autoload_import_relative_compiled fails on Windows * Finding cmd modifiers and cmdline-specials is inefficient * No test that completing a partial mapping clears 'showcmd' * tests: test_vim9_dissamble may fail * Vim9: need static type for typealias * X11 does not ignore smooth scroll event * A few typos in test_xdg when testing gvimrc * Patch v9.1.0338 fixed sourcing a script with import * Problem: gvimrc not sourced from XDG_CONFIG_HOME * Cursor wrong after using setcellwidth() in terminal * 'showcmd' wrong for partial mapping with multibyte * tests: test_taglist fails when 'helplang' contains non-english * Problem: a few memory leaks are found * Problem: Error with matchaddpos() and empty list * tests: xdg test uses screen dumps * Vim9: import through symlinks not correctly handled * Missing entry for XDG vimrc file in :version * tests: typo in test_xdg * runtime(i3config/swayconfig): update syntax scripts * document pandoc compiler and enable configuring arguments * String interpolation fails for List type * No test for highlight behavior with 'ambiwidth' * tests: test_xdg fails on the appimage repo * tests: some assert_equal() calls have wrong order of args * make install does not install all files * runtime(doc): fix typos in starting.txt- Updated to version 9.1 with patch level 0330, fixes the following problems * Fixing bsc#1220763 - vim gets Segmentation fault after updating to version 9.1.0111-150500.20.9.1 - refreshed vim-7.3-filetype_spec.patch - refreshed vim-7.3-filetype_ftl.patch - Update spec.skeleton to use autosetup in place of setup macro. - for the complete list of changes see https://github.com/vim/vim/compare/v9.1.0111...v9.1.0330- Updated to version 9.1 with patch level 0111, fixes the following security problems * Fixing bsc#1217316 (CVE-2023-48231) - VUL-0: CVE-2023-48231: vim: Use-After-Free in win_close() * Fixing bsc#1217320 (CVE-2023-48232) - VUL-0: CVE-2023-48232: vim: Floating point Exception in adjust_plines_for_skipcol() * Fixing bsc#1217321 (CVE-2023-48233) - VUL-0: CVE-2023-48233: vim: overflow with count for :s command * Fixing bsc#1217324 (CVE-2023-48234) - VUL-0: CVE-2023-48234: vim: overflow in nv_z_get_count * Fixing bsc#1217326 (CVE-2023-48235) - VUL-0: CVE-2023-48235: vim: overflow in ex address parsing * Fixing bsc#1217329 (CVE-2023-48236) - VUL-0: CVE-2023-48236: vim: overflow in get_number * Fixing bsc#1217330 (CVE-2023-48237) - VUL-0: CVE-2023-48237: vim: overflow in shift_line * Fixing bsc#1217432 (CVE-2023-48706) - VUL-0: CVE-2023-48706: vim: heap-use-after-free in ex_substitute * Fixing bsc#1219581 (CVE-2024-22667) - VUL-0: CVE-2024-22667: vim: stack-based buffer overflow in did_set_langmap function in map.c * Fixing bsc#1215005 (CVE-2023-4750) - VUL-0: CVE-2023-4750: vim: Heap use-after-free in function bt_quickfix - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.2103...v9.1.0111- Updated to version 9.0 with patch level 2103, fixes the following security problems * Fixing bsc#1215940 (CVE-2023-5344) - VUL-0: CVE-2023-5344: vim: Heap-based Buffer Overflow in vim prior to 9.0.1969. * Fixing bsc#1216001 (CVE-2023-5441) - VUL-0: CVE-2023-5441: vim: segfault in exmode when redrawing * Fixing bsc#1216167 (CVE-2023-5535) - VUL-0: CVE-2023-5535: vim: use-after-free from buf_contents_changed() * Fixing bsc#1216696 (CVE-2023-46246) - VUL-0: CVE-2023-46246: vim: Integer Overflow in :history command * Fixing bsc#1214922 (CVE-2023-4738) - VUL-0: CVE-2023-4738: vim: heap-buffer-overflow in vim_regsub_both * Fixing bsc#1214924 (CVE-2023-4735) - VUL-0: CVE-2023-4735: vim: OOB Write ops.c * Fixing bsc#1214925 (CVE-2023-4734) - VUL-0: CVE-2023-4734: vim: segmentation fault in function f_fullcommand * Fixing bsc#1215004 (CVE-2023-4733) - VUL-0: CVE-2023-4733: vim: use-after-free in function buflist_altfpos * Fixing bsc#1215006 (CVE-2023-4752) - VUL-0: CVE-2023-4752: vim: Heap Use After Free in function ins_compl_get_exp * Fixing bsc#1215033 (CVE-2023-4781) - VUL-0: CVE-2023-4781: vim: heap-buffer-overflow in function vim_regsub_both - drop patches: disable-unreliable-tests.patch ignore-flaky-test-failure.patch vim-8.1.0297-dump3.patch - dropped %check - most of tests didn't work correctly in OBS and maintenance burden of this was getting too big - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1632...v9.0.2103- Use app icon generated from vimlogo.eps in source tarball; add higher res icons of sizes 128, 256, and 512px as png sources. Our current icons deviate from upstream flatpaks for example. - Updated to version 9.0 with patch level 1632 - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1443...v9.0.1632- Updated to version 9.0 with patch level 1572, fixes the following security problems * Fixing bsc#1210996 (CVE-2023-2426) - VUL-0: CVE-2023-2426: vim: Use of Out-of-range Pointer Offset in GitHub repository vim/vim prior to 9.0.1499. * Fixing bsc#1211256 (CVE-2023-2609) - VUL-1: CVE-2023-2609: vim: NULL Pointer Dereference prior to 9.0.1531 * Fixing bsc#1211257 (CVE-2023-2610) - VUL-1: CVE-2023-2610: vim: Integer Overflow or Wraparound prior to 9.0.1532 - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1443...v9.0.1572- Fixing bsc#1211461 - L3: vim "eats" first character from prompt in xterm * Add: reorder-exit-raw-mode.patch * Swaps out_str_t_TE() and cursor_on() during exit to prevent missing characters in xterm prompt on exit.- Fixing bsc#1211144 - [Build 96.1] openQA test fails in zypper_migration - conflict between xxd and vim * Revert the creation standalone xxd packages- Updated to version 9.0 with patch level 1443, fixes the following security problems * Fixing bsc#1209042 (CVE-2023-1264) - VUL-0: CVE-2023-1264: vim: NULL Pointer Dereference vim prior to 9.0.1392 * Fixing bsc#1209187 (CVE-2023-1355) - VUL-0: CVE-2023-1355: vim: NULL Pointer Dereference prior to 9.0.1402. * Fixing bsc#1208828 (CVE-2023-1127) - VUL-1: CVE-2023-1127: vim: divide by zero in scrolldown() - drop vim-8.0-ttytype-test.patch as it changes test_options.vim which we remove during %prep anyway. And this breaks quilt setup. - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1386...v9.0.1443- Updated to version 9.0 with patch level 1386, fixes the following security problems * Fixing bsc#1207780 - (CVE-2023-0512) VUL-0: CVE-2023-0512: vim: Divide By Zero in GitHub repository vim/vim prior to 9.0.1247 * Fixing bsc#1208957 - (CVE-2023-1175) VUL-0: CVE-2023-1175: vim: Incorrect Calculation of Buffer Size * Fixing bsc#1208959 - (CVE-2023-1170) VUL-0: CVE-2023-1170: vim: Heap-based Buffer Overflow in vim prior to 9.0.1376 * Fixing bsc#1208828 - (CVE-2023-1127) VUL-1: CVE-2023-1127: vim: divide by zero in scrolldown() - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1234...v9.0.1386- Updated to version 9.0 with patch level 1234, fixes the following security problems * Fixing bsc#1207396 VUL-0: CVE-2023-0433: vim: Heap-based Buffer Overflow in vim prior to 9.0.1225 * Fixing bsc#1207162 VUL-1: CVE-2023-0288: vim: Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1189. * Fixing bsc#1206868 VUL-1: CVE-2023-0054: vim: Out-of-bounds Write in GitHub repository vim/vim prior to 9.0.1145. * Fixing bsc#1206867 VUL-1: CVE-2023-0051: vim: Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1144. * Fixing bsc#1206866 VUL-1: CVE-2023-0049: vim: Out-of-bounds Read in GitHub repository vim/vim prior to 9.0.1143. - refreshed vim-7.4-highlight_fstab.patch - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1040...v9.0.1234- Updated to version 9.0 with patch level 1040, fixes the following security problems * Fixing bsc#1206028 VUL-0: CVE-2022-3491: vim: Heap-based Buffer Overflow prior to 9.0.0742 * Fixing bsc#1206071 VUL-0: CVE-2022-3520: vim: Heap-based Buffer Overflow * Fixing bsc#1206072 VUL-0: CVE-2022-3591: vim: Use After Free * Fixing bsc#1206075 VUL-0: CVE-2022-4292: vim: Use After Free in GitHub repository vim/vim prior to 9.0.0882. * Fixing bsc#1206077 VUL-0: CVE-2022-4293: vim: Floating Point Comparison with Incorrect Operator in GitHub repository vim/vim prior to 9.0.0804. * Fixing bsc#1205797 VUL-0: CVE-2022-4141: vim: heap-buffer-overflow in alloc.c 246:11 * Fixing bsc#1204779 VUL-0: CVE-2022-3705: vim: use after free in function qf_update_buffer of the file quickfix.c - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.814...v9.0.1040- Updated to version 9.0 with patch level 0814, fixes the following problems * Fixing bsc#1192478 VUL-1: CVE-2021-3928: vim: vim is vulnerable to Stack-based Buffer Overflow * Fixing bsc#1203508 VUL-0: CVE-2022-3234: vim: Heap-based Buffer Overflow prior to 9.0.0483. * Fixing bsc#1203509 VUL-1: CVE-2022-3235: vim: Use After Free in GitHub prior to 9.0.0490. * Fixing bsc#1203820 VUL-0: CVE-2022-3324: vim: Stack-based Buffer Overflow in prior to 9.0.0598. * Fixing bsc#1204779 VUL-0: CVE-2022-3705: vim: use after free in function qf_update_buffer of the file quickfix.c * Fixing bsc#1203152 VUL-1: CVE-2022-2982: vim: use after free in qf_fill_buffer() * Fixing bsc#1203796 VUL-1: CVE-2022-3296: vim: stack out of bounds read in ex_finally() in ex_eval.c * Fixing bsc#1203797 VUL-1: CVE-2022-3297: vim: use-after-free in process_next_cpt_value() at insexpand.c * Fixing bsc#1203110 VUL-1: CVE-2022-3099: vim: Use After Free in ex_docmd.c * Fixing bsc#1203194 VUL-1: CVE-2022-3134: vim: use after free in do_tag() * Fixing bsc#1203272 VUL-1: CVE-2022-3153: vim: NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0404. * Fixing bsc#1203799 VUL-1: CVE-2022-3278: vim: NULL pointer dereference in eval_next_non_blank() in eval.c * Fixing bsc#1203924 VUL-1: CVE-2022-3352: vim: vim: use after free * Fixing bsc#1203155 VUL-1: CVE-2022-2980: vim: null pointer dereference in do_mouse() * Fixing bsc#1202962 VUL-1: CVE-2022-3037: vim: Use After Free in vim prior to 9.0.0321 - ignore-flaky-test-failure.patch: Ignore failure of flaky tests - disable-unreliable-tests-arch.patch: Removed - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.0313...v9.0.0814- Updated to version 9.0 with patch level 0313, fixes the following problems * Fixing bsc#1200884 Vim: Error on startup * Fixing bsc#1200902 VUL-0: CVE-2022-2183: vim: Out-of-bounds Read through get_lisp_indent() Mon 13:32 * Fixing bsc#1200903 VUL-0: CVE-2022-2182: vim: Heap-based Buffer Overflow through parse_cmd_address() Tue 08:37 * Fixing bsc#1200904 VUL-0: CVE-2022-2175: vim: Buffer Over-read through cmdline_insert_reg() Tue 08:37 * Fixing bsc#1201249 VUL-0: CVE-2022-2304: vim: stack buffer overflow in spell_dump_compl() * Fixing bsc#1201356 VUL-1: CVE-2022-2343: vim: Heap-based Buffer Overflow in GitHub repository vim prior to 9.0.0044 * Fixing bsc#1201359 VUL-1: CVE-2022-2344: vim: Another Heap-based Buffer Overflow vim prior to 9.0.0045 * Fixing bsc#1201363 VUL-1: CVE-2022-2345: vim: Use After Free in GitHub repository vim prior to 9.0.0046. * Fixing bsc#1201620 PUBLIC SUSE Linux Enterprise Server 15 SP4 Basesystem zbalogh@suse.com NEW --- SLE-15-SP4-Full-x86_64-GM-Media1 and vim-plugin-tlib-1.27-bp154.2.18.noarch issue * Fixing bsc#1202414 VUL-1: CVE-2022-2819: vim: Heap-based Buffer Overflow in compile_lock_unlock() * Fixing bsc#1202552 VUL-1: CVE-2022-2874: vim: NULL Pointer Dereference in generate_loadvar() * Fixing bsc#1200270 VUL-1: CVE-2022-1968: vim: use after free in utf_ptr2char * Fixing bsc#1200697 VUL-1: CVE-2022-2124: vim: out of bounds read in current_quote() * Fixing bsc#1200698 VUL-1: CVE-2022-2125: vim: out of bounds read in get_lisp_indent() * Fixing bsc#1200700 VUL-1: CVE-2022-2126: vim: out of bounds read in suggest_trie_walk() * Fixing bsc#1200701 VUL-1: CVE-2022-2129: vim: out of bounds write in vim_regsub_both() * Fixing bsc#1200732 VUL-1: CVE-2022-1720: vim: out of bounds read in grab_file_name() * Fixing bsc#1201132 VUL-1: CVE-2022-2264: vim: out of bounds read in inc() * Fixing bsc#1201133 VUL-1: CVE-2022-2284: vim: out of bounds read in utfc_ptr2len() * Fixing bsc#1201134 VUL-1: CVE-2022-2285: vim: negative size passed to memmove() due to integer overflow * Fixing bsc#1201135 VUL-1: CVE-2022-2286: vim: out of bounds read in ins_bytes() * Fixing bsc#1201136 VUL-1: CVE-2022-2287: vim: out of bounds read in suggest_trie_walk() * Fixing bsc#1201150 VUL-1: CVE-2022-2231: vim: null pointer dereference skipwhite() * Fixing bsc#1201151 VUL-1: CVE-2022-2210: vim: out of bounds read in ml_append_int() * Fixing bsc#1201152 VUL-1: CVE-2022-2208: vim: null pointer dereference in diff_check() * Fixing bsc#1201153 VUL-1: CVE-2022-2207: vim: out of bounds read in ins_bs() * Fixing bsc#1201154 VUL-1: CVE-2022-2257: vim: out of bounds read in msg_outtrans_special() * Fixing bsc#1201155 VUL-1: CVE-2022-2206: vim: out of bounds read in msg_outtrans_attr() * Fixing bsc#1201863 VUL-1: CVE-2022-2522: vim: out of bounds read via nested autocommand * Fixing bsc#1202046 VUL-1: CVE-2022-2571: vim: Heap-based Buffer Overflow related to ins_comp_get_next_word_or_line() * Fixing bsc#1202049 VUL-1: CVE-2022-2580: vim: Heap-based Buffer Overflow related to eval_string() * Fixing bsc#1202050 VUL-1: CVE-2022-2581: vim: Out-of-bounds Read related to cstrchr() * Fixing bsc#1202051 VUL-1: CVE-2022-2598: vim: Undefined Behavior for Input to API related to diff_mark_adjust_tp() and ex_diffgetput() * Fixing bsc#1202420 VUL-1: CVE-2022-2817: vim: Use After Free in f_assert_fails() * Fixing bsc#1202421 VUL-1: CVE-2022-2816: vim: Out-of-bounds Read in check_vim9_unlet() * Fixing bsc#1202511 VUL-1: CVE-2022-2862: vim: use-after-free in compile_nested_function() * Fixing bsc#1202512 VUL-1: CVE-2022-2849: vim: Invalid memory access related to mb_ptr2len() * Fixing bsc#1202515 VUL-1: CVE-2022-2845: vim: Buffer Over-read related to display_dollar() * Fixing bsc#1202599 VUL-1: CVE-2022-2889: vim: use-after-free in find_var_also_in_script() in evalvars.c * Fixing bsc#1202687 VUL-1: CVE-2022-2923: vim: NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0240 * Fixing bsc#1202689 VUL-1: CVE-2022-2946: vim: use after free in function vim_vsnprintf_typval * Fixing bsc#1202862 VUL-1: CVE-2022-3016: vim: Use After Free in vim prior to 9.0.0285 Mon 12:00- Deleted patches: * restrict-shell-commands.patch * source-check-sandbox.patch * vim-8.0.1568-CVE-2021-3778.patch * vim-8.0.1568-CVE-2021-3796.patch * vim-8.0.1568-CVE-2021-3872.patch * vim-8.0.1568-CVE-2021-3927.patch * vim-8.0.1568-CVE-2021-3928.patch * vim-8.0.1568-CVE-2021-3984.patch * vim-8.0.1568-CVE-2021-4019.patch * vim-8.0.1568-CVE-2021-4193.patch * vim-8.0.1568-CVE-2021-46059.patch * vim-8.0.1568-CVE-2022-0319.patch * vim-8.0.1568-CVE-2022-0351.patch * vim-8.0.1568-CVE-2022-0361.patch * vim-8.0.1568-CVE-2022-0413.patch * vim-8.0.1568-globalvimrc.patch - Added patches: * vim-8.1.0297-dump3.patch * vim-8.2.2411-globalvimrc.patch * disable-unreliable-tests-arch.patch - Updated patches: * disable-unreliable-tests.patch * vim-7.3-filetype_changes.patch * vim-7.3-filetype_ftl.patch * vim-7.3-filetype_spec.patch * vim-7.3-gvimrc_fontset.patch * vim-7.3-help_tags.patch * vim-7.3-mktemp_tutor.patch * vim-7.3-name_vimrc.patch * vim-7.3-sh_is_bash.patch * vim-7.3-use_awk.patch * vim-7.4-disable_lang_no.patch * vim-7.4-filetype_apparmor.patch * vim-7.4-filetype_mine.patch * vim-7.4-highlight_fstab.patch * vim-8.0-ttytype-test.patch * vim-8.0.1568-defaults.patch * vim73-no-static-libpython.patch - Updated to version 8.2 with patch level 5038, fixes the following problems * Fixing bsc#1191770 VUL-0: CVE-2021-3875: vim: heap-based buffer overflow * Fixing bsc#1192167 VUL-0: CVE-2021-3903: vim: heap-based buffer overflow * Fixing bsc#1192902 VUL-0: CVE-2021-3968: vim: vim is vulnerable to Heap-based Buffer Overflow * Fixing bsc#1192903 VUL-0: CVE-2021-3973: vim: vim is vulnerable to Heap-based Buffer Overflow * Fixing bsc#1192904 VUL-0: CVE-2021-3974: vim: vim is vulnerable to Use After Free * Fixing bsc#1193466 VUL-1: CVE-2021-4069: vim: use-after-free in ex_open() in src/ex_docmd.c * Fixing bsc#1193905 VUL-0: CVE-2021-4136: vim: vim is vulnerable to Heap-based Buffer Overflow * Fixing bsc#1194093 VUL-1: CVE-2021-4166: vim: vim is vulnerable to Out-of-bounds Read * Fixing bsc#1194216 VUL-1: CVE-2021-4193: vim: vulnerable to Out-of-bounds Read * Fixing bsc#1194217 VUL-0: CVE-2021-4192: vim: vulnerable to Use After Free * Fixing bsc#1194872 VUL-0: CVE-2022-0261: vim: Heap-based Buffer Overflow in vim prior to 8.2. * Fixing bsc#1194885 VUL-0: CVE-2022-0213: vim: vim is vulnerable to Heap-based Buffer Overflow * Fixing bsc#1195004 VUL-0: CVE-2022-0318: vim: Heap-based Buffer Overflow in vim prior to 8.2. * Fixing bsc#1195203 VUL-0: CVE-2022-0359: vim: heap-based buffer overflow in init_ccline() in ex_getln.c * Fixing bsc#1195354 VUL-0: CVE-2022-0407: vim: Heap-based Buffer Overflow in Conda vim prior to 8.2. * Fixing bsc#1198596 VUL-0: CVE-2022-1381: vim: global heap buffer overflow in skip_range * Fixing bsc#1199331 VUL-0: CVE-2022-1616: vim: Use after free in append_command * Fixing bsc#1199333 VUL-0: CVE-2022-1619: vim: Heap-based Buffer Overflow in function cmdline_erase_chars * Fixing bsc#1199334 VUL-0: CVE-2022-1620: vim: NULL Pointer Dereference in function vim_regexec_string * Fixing bsc#1199747 VUL-0: CVE-2022-1796: vim: Use After in find_pattern_in_path * Fixing bsc#1200010 VUL-0: CVE-2022-1897: vim: Out-of-bounds Write in vim * Fixing bsc#1200011 VUL-0: CVE-2022-1898: vim: Use After Free in vim prior to 8.2 * Fixing bsc#1200012 VUL-0: CVE-2022-1927: vim: Buffer Over-read in vim prior to 8.2 * Fixing bsc#1070955 VUL-1: CVE-2017-17087: vim: Sets the group ownership of a .swp file to the editor's primary group, which allows local users to obtain sensitive information * Fixing bsc#1194388 VUL-1: CVE-2022-0128: vim: vim is vulnerable to Out-of-bounds Read * Fixing bsc#1195332 VUL-1: CVE-2022-0392: vim: Heap-based Buffer Overflow in vim prior to 8.2 * Fixing bsc#1196361 VUL-1: CVE-2022-0696: vim: NULL Pointer Dereference in vim prior to 8.2 * Fixing bsc#1198748 VUL-1: CVE-2022-1420: vim: Out-of-range Pointer Offset * Fixing bsc#1199651 VUL-1: CVE-2022-1735: vim: heap buffer overflow * Fixing bsc#1199655 VUL-1: CVE-2022-1733: vim: Heap-based Buffer Overflow in cindent.c * Fixing bsc#1199693 VUL-1: CVE-2022-1771: vim: stack exhaustion in vim prior to 8.2. * Fixing bsc#1199745 VUL-1: CVE-2022-1785: vim: Out-of-bounds Write * Fixing bsc#1199936 VUL-1: CVE-2022-1851: vim: out of bounds read- Minimal fix for Bug 1195004 - (CVE-2022-0318) VUL-0: CVE-2022-0318: vim: Heap-based Buffer Overflow in vim prior to 8.2. / vim-8.0.1568-CVE-2022-0413.patch - Fixing bsc#1190570 CVE-2021-3796: vim: use-after-free in nv_replace() in normal.c / vim-8.0.1568-CVE-2021-3796.patch - Fixing bsc#1191893 CVE-2021-3872: vim: heap-based buffer overflow in win_redr_status() drawscreen.c / vim-8.0.1568-CVE-2021-3872.patch - Fixing bsc#1192481 CVE-2021-3927: vim: vim is vulnerable to Heap-based Buffer Overflow / vim-8.0.1568-CVE-2021-3927.patch - Fixing bsc#1192478 CVE-2021-3928: vim: vim is vulnerable to Stack-based Buffer Overflow / vim-8.0.1568-CVE-2021-3928.patch - Fixing bsc#1193294 CVE-2021-4019: vim: vim is vulnerable to Heap-based Buffer Overflow / vim-8.0.1568-CVE-2021-4019.patch - Fixing bsc#1193298 CVE-2021-3984: vim: illegal memory access when C-indenting could lead to Heap Buffer Overflow / vim-8.0.1568-CVE-2021-3984.patch - Fixing bsc#1190533 CVE-2021-3778: vim: Heap-based Buffer Overflow in regexp_nfa.c / vim-8.0.1568-CVE-2021-3778.patch - Fixing bsc#1194216 CVE-2021-4193: vim: vulnerable to Out-of-bounds Read / vim-8.0.1568-CVE-2021-4193.patch - Fixing bsc#1194556 CVE-2021-46059: vim: A Pointer Dereference vulnerability exists in Vim 8.2.3883 via the vim_regexec_multi function at regexp.c, which causes a denial of service. / vim-8.0.1568-CVE-2021-46059.patch - Fixing bsc#1195066 CVE-2022-0319: vim: Out-of-bounds Read in vim/vim prior to 8.2. / vim-8.0.1568-CVE-2022-0319.patch - Fixing bsc#1195126 CVE-2022-0351: vim: uncontrolled recursion in eval7() / vim-8.0.1568-CVE-2022-0351.patch - Fixing bsc#1195202 CVE-2022-0361: vim: Heap-based Buffer Overflow in vim prior to 8.2. / vim-8.0.1568-CVE-2022-0361.patch - Fixing bsc#1195356 CVE-2022-0413: vim: use after free in src/ex_cmds.c / vim-8.0.1568-CVE-2022-0413.patch- install suse vimrc in /usr (boo#1182324, vim-8.0.1568-globalvimrc.patch)- source correct suse.vimrc file (boo#1182324)- stop owning /etc/vimrc so the old, distro provided config actually gets removed. Leaving it around leads to a duplicated autocmd for * .spec, leading to spec file template inserted twice. - own some dirs in vim-data-common so installation of vim-small doesn't leave not owned directories (boo#1173256). - Add vi as slave to update-alternatives so that every package has a matching "vi" symlink (bsc#1174564, boo#1176549).- Add restrict-shell-commands.patch to disable using interfaces in restricted mode, fixes bsc#1172225 CVE-2019-20807- introduce vim-small package with reduced requirements for small installations (boo#1166602). - BuildRequire pkg-config(krb5) instead of krb5-mini to be able to build against Tumbleweed repo.- Add source-check-sandbox.patch to fix CVE-2019-12735 boo#1137443- Pre-convert gvim icons, otherwise building vim depends on rsvg-convert -> librsvg -> cargo -> Rust -> LLVM - Cleanup SVG icon, make lines pixel-grid aligned - Correct RPM Group- Use %license instead of %doc [bsc#1082318]- instead of explicitly unsetting mouse, remove it from the defaults in the first place (boo#1079185, vim-8.0.1568-defaults.patch)- Switch to make -j1 clean to see if it fixes random build failures on Leap/SLE 15.- Updated to revision 1568, fixes the following problems * No test using a screen dump yet. * Screen dump test fails on MS-Windows. * Dead code found. * Assert_equalfile() does not close file descriptors. (Coverity) * Dump test fails when using a shadow directory. * Cannot use 24 bit colors in MS-Windows console. * Compiler warnings without termguicolors feature. * Libterm doesn't support requesting fg and bg color. * C syntax test fails when using gvim * C syntax test still fails when using gvim. * Quotestar test is flaky when using the GUI. * Xxd does not skip NUL lines when using ebcdic. * Popupmenu is too far left when completion is long. (Linwei) * No test for the popup menu positioning. * Popup menu positioning fails with longer string. * synpat_T is taking too much memory. * Terminal screen dump does not include cursor position. * With 'termguicolors' Normal color doesn't work correctly. * When using 'termguicolors' SpellBad doesn't show. * Screen dumps not included in distribution. * Using feedkeys() in a terminal window may trigger mappings. (Charles Sheridan) * Undo in the options window makes it empty. * Screen dump test script not included in distribution. * Various small problems in test files. * Various small problems in source files. * On Mac 'maxmemtot' is set to a weird value. * May leak file descriptors when executing job. * Cannot see what digraph is used to insert a character. * Custom plugins loaded with --clean. * Build error for some combination of features. * May not parse the t_RS response correctly, resulting in wrong characters in the input stream. * printf() does not work with only one argument. (Daniel Hahler) * No right-click menu in a terminal. * Build failure without GUI. * Build failure without GUI on MS-Windows. * Crash with rust syntax highligting. (Edd Barrett) * The terminal debugger can't set a breakpoint with the mouse. * Timeout of getwinposx() can be too short. (lilydjwg) * Too many #ifdefs. * Can't build Mac version without GUI. * Too many #ifdefs. * Cannot build Win32 GUI without IME. (John Marriott) * Can't build on older Mac, header file is missing.- Recommend vim-data so that colors can work by default- Updated to revision 1525, fixes the following problems * Compiler complains about uninitialized variable. (Tony Mechelynck) * Missing -D_FILE_OFFSET_BITS=64 may cause problems if a library is compiled with it. * Cannot act on edits in the command line. * Acessing freed memory after window command in auto command. (gy741) * Still too many old style tests. * Segmentation fault when Ruby throws an exception inside :rubyfile command. * Slow redrawing with DirectX. * Endless loop when gui_mch_stop_blink() is called while blink_state is BLINK_OFF. (zdohnal) * It is difficult to set the python home directory properly for Python 2.7 and 3.5 since both use $PYTHONHOME. * Terminal test fails on some systems. (jonathonf) * Terminal test fails on some slow terminals. * When in silent mode too much output is buffered. * If $SHELL contains a space then the default value of 'shell' is incorrect. (Matthew Horan) * Timer test on travis Mac is still flaky. * Clojure now supports a shebang line. * Filetype detection test does not check all scripts. * Cannot handle change of directory. * Missing file in patch. * Missing another file in patch. * Missing yet another file in patch. * Test fails without 'autochdir' option. * Completing directory after :find does not add slash. * Python2 and python3 detection not tested. (Matej Cepl) * Older GTK versions don't have gtk_entry_get_text_length(). * Libvterm doesn't handle illegal byte sequence correctly. * Illegal memory access in del_bytes(). * When package path is a symlink adding it to 'runtimepath' happens at the end. * Integer overflow when using regexp pattern. (geeknik) * On MS-Windows CursorIM highlighting no longer works. * MS-Windows: nsis installer is a bit slow. * MS-Windows: D&D fails between 32 and 64 bit apps. * Visual C 2017 has multiple MSVCVER numbers. * Invalid memory access in read_redo(). (gy741) * Screen isn't always updated right away. * Redraw flicker when moving the mouse outside of terminal window. * Unnecessary condition for "len" being zero. * Insert mode completion state is confusing. * Patch missing change. * Clearing a pointer takes two lines. * Using feedkeys() does not work to test Insert mode completion. (Lifepillar) * Searchpair() might return an invalid value on timeout. * Reduntant conditions. * Weird autocmd may cause arglist to be changed recursively. * Accessing invalid memory with "it". (Dominique Pelle) * Test 14 fails. * Emacs tags no longer work. (zdohnal) * There is no easy way to get the global directory, esp. if some windows have a local directory. * Number of spell regions is spread out through the code. * The minimum width of the popup menu is hard coded. * Memory leak in balloon_split(). * Completion items cannot be annotated. * No autocmd triggered in Insert mode with visible popup menu. * Having 'pumwidth' default to zero has no merit. * Clearing a pointer takes two lines. * Getting the jump list requires parsing the output of :jumps. * Getjumplist() returns duplicate entries. (lacygoill) * Out-of-memory situation not correctly handled. (Coverity) * Possible NULL pointer dereference. (Coverity) * Out-of-memory situation not correctly handled. (Coverity) * In out-of-memory situation character is not restored. (Coverity) * Access memory beyond end of string. (Coverity) * Win32: the screen may be cleared on startup. * Debugger can't break on a condition. (Charles Campbell) * New version of HP NonStop (Tandem) doesn't like the default header for setenv(). * Timer test is a bit flaky. * The :drop command is not always available. * Test for failing drag-n-drop command no longer fails. * Cannot test if a command causes a beep. * Some code for the debugger watch expression is clumsy. * Warning for possibly using NULL pointer. (Coverity) * The jumplist is not always properly cleaned up. * Getting the list of changes is not easy. * BufWinEnter event fired when opening hidden terminal. * Errors for job options are not very specific. * Invalid memory acces with pattern using look-behind match. (Dominique Pelle) * Error messages suppressed after ":silent! try". (Ben Reilly) * Getchangelist() does not use argument as bufname(). * Cursor is in the wrong line when using a WinBar in a Terminal window. * Shift-Tab does not work in a terminal window. * Popup menu is positioned in the wrong place. (Davit Samvelyan, Boris Staletic) * Cannot write and read terminal screendumps. * Compiler warnings for uninitialized variables. (Tony Mechelynck) * Using :wqa exits even if a job runs in a terminal window. (Jason Felice)- Split vim-data into vim-data-common package for low-disk usage scenarios bsc#1078722 bsc#1078554 bsc#1075541 - Make set mouse= default in suse.vimrc bsc#1079185 bsc#1078564 bsc#1067890 bsc#1064068 bsc#1062691- Updated to revision 1442, fixes the following problems * Crash when calling term_start() with empty argument. * Crash when term_start() fails. * MS-Windows: vimtutor fails if %TMP% has special chars. * After ":copen" can't get the window-ID of the quickfix window. (FalacerSelene) * Illegal memory access after undo. (Dominique Pelle) * GTK: :promtfind does not put focus on text input. (Adam Novak) * Memory leak in test_arabic. * Not enough information about what Python version may work. * Pkg-config doesn't work with cross compiling. * Filetype detection test not updated for change. * If cscope fails a search Vim may hang. * Terminal window: some vterm responses are delayed. * Using ":undo 0" leaves undo in wrong state. * Using pointer before it is set.- Make vim require vim-data bsc#1077352 bsc#1075541 bsc#1074790- Sort with spec-cleaner - Add conditional to build with python2 in order to build with py3 only enviroment - Convert dependencies to pkgconfig style- Updated to revision 1428, fixes the following problems * No test for expanding backticks. * Cursor column is not updated after ]s. (Gary Johnson) * Accessing freed memory in vimgrep. * Accessing invalid memory with overlong byte sequence. * No fallback to underline when undercurl is not set. (Ben Jackson) * Error in return not caught by try/catch. * The timer_pause test is flaky on Travis. * execute() does not work in completion of user command. (thinca) * "gf" and don't accept ? and & in URL. (Dmitrii Tcyganok) * The :leftabove modifier doesn't work for :copen. * Compiler warning on 64 bit MS-Windows system.- ignore make check transient errors for PowerPC bypass boo#1072651- Update apparmor.vim (taken from AppArmor 2.12) * add support for the "smc" network keyword- Updated to revision 1417, fixes the following problems * Encoding empty string to JSON sometimes gives "null". * Build fails with --with-features=huge --disable-channel. * Too much highlighting with 'hlsearch' and 'incsearch' set. * Cannot intercept a yank command. * It is not easy to see if a colorscheme is well written. * Memory leak when CTRL-G in search command line fails. * Pattern with \& following nothing gives an error. * :packadd does not load packages from the "start" directory. * Warnings and errors when building tiny version. (Tony Mechelynck) * Color scheme check script shows up as color scheme. * Cannot build with GTK but without XIM. (Guido) * Crash with nasty autocommand. (gy741, Dominique Pelle) * Using freed buffer in grep command. (gy741, Dominique Pelle) * Invalid memory access on exit when autocommands wipe out a buffer. * Duplicated code for getting a typed character. CursorHold is called too often in the GUI. (lilydjwg) * Difficult to track changes to a quickfix list. * GUI: CursorHold may trigger before 'updatetime' when using timers. * Crash in setqflist(). * Buffer overflow in :tags command. * Hang when using count() with an empty string. * Reading invalid memory with CTRL-W :. * Using free memory using setloclist(). (Dominique Pelle) * Accessing freed memory in :cbuffer. * Accessing freed memory in :lfile. * Warning for unused function without timers feature. * Crash when searching for a sentence. * Test doesn't search for a sentence. Still fails when searching for start of sentence. (Dominique Pelle)- Updated to revision 1390, fixes the following problems * Balloon shows when cursor is in WinBar. * terminal test hangs, executing abcde. (Stucki) * Cannot drag status line or vertical separator of new terminal window. (UncleBill) * MS-Windows: drawing underline, curl and strike-throw is slow, mFallbackDC not properly updated. * Channel test for callback is flaky. * Shift-Insert doesn't always work in MS-Windows console. * Profile log may be truncated halfway a character. * No error when settting 'renderoptions' to an invalid value before starting the GUI. * CTRL-A does not work with an empty line. (Alex) * Window size wrong after maximizing with WinBar. (Lifepillar) * Cursor in terminal not always updated. * Cannot call a dict function in autoloaded dict. * Autoload script sources itself when defining function. * Configure check for selinux does not check for header file. * When recovering a file with "vim -r swapfile" the hit-enter prompt is at the top of the window. * ch_readraw() waits for NL if channel mode is NL. * Get "no write since last change" message if a terminal is open. * Local additions in help skips some files. (joshklod) * Not enough quickfix help; confusing winid. * Python 3.5 is getting old. * Cannot select modified buffers with getbufinfo(). * Wordcount test is old style. * Char not overwritten with ambiguous width char, if the ambiguous char is single width but we reserve double-width space. * getqflist() items are missing if not set, that makes it more difficult to handle the values. * DirectX scrolling can be slow, vertical positioning is off.- Updated to revision 1365, fixes the following problems * Libvterm ANSI colors can not always be recognized from the RGB values. The default color is wrong when t_RB is empty. * The Terminal highlighting doesn't work in a terminal. * Some users don't want to diff with hidden buffers. * Terminal window colors wrong when using Terminal highlighting. * Recovering does not work when swap file ends in .stz. * There is no easy way to get the window position. * When one channel test fails others fail as well.- Update to revision 1358 * Too many changes to list - Fixes CVE-2017-1000382 bsc#1065958 - Refresh patches: * disable-unreliable-tests.patch * vim-7.3-filetype_spec.patch * vim-7.4-disable_lang_no.patch * vim-7.4-highlight_fstab.patch * vim-8.0-ttytype-test.patch- Explicitly require python2-devel- Add disable-unreliable-tests.patch to disable unreliable tests bsc#1054723- Bump priorities so we can upgrade from 12.3- Updated to revision 627, fixes the following problems * Call for requesting color and ambiwidth is too early. (Hirohito Higashi) * "1gd" may hang. * Bracketed paste is still enabled when executing a shell command. (Michael Smith) * Can't run make with several jobs, creating directories has a race condition. * The cursor line number becomes negative when using :z^ in an empty buffer. (neovim #6557) * Building the command table requires Perl. * Running parallel make after distclean fails. (Manuel Ortega) * Get only one quickfix list after :caddbuf. * Using freed memory when resetting 'indentexpr' while evaluating it. (Dominique Pelle) * Can't build when configure choses "install-sh". (Daniel Hahler) * Warning for uninitialized variable. (John Marriott) * :simalt on MS-Windows does not work properly. * Duplicate test case for quickfix. * Cannot set the valid flag with setqflist(). * Moving folded text is sometimes not correct. * Illegal memory access with z= command. (Dominique Pelle) * Fold test hangs on MS-Windows. * Memory leak when executing quickfix tests. * Test_options fails when run in the GUI. * No test for mapping timing out. * Configure check for return value of tgetent is skipped. * job_stop() often assumes the channel will be closed, while the job may not actually be stopped. (Martin Gammelsæter) * :simalt still does not work. * Cannot add a context to locations. * Changes to eval functionality not documented. * If a job writes to a buffer and the user is typing a command, the screen isn't updated. When a message is displayed the changed buffer may cause it to be cleared. (Ramel Eshed) * Duplication of code for adding a list or dict return value. * Build failure when windows feature is missing. * Coverity warning for not checking return value of dict_add(). * Crash when complete() is called after complete_add() in 'completefunc'. (Lifepillar) * Off-by-one error in buffer size computation. * Building with gcc 7.1 yields new warnings. * diff mode is insufficiently tested * test_recover fails on some systems. * No test coverage for :spellrepall. * When gF fails to edit the file the cursor still moves to the found line number. * gF test fails on MS-Windows. * gF test fails still on MS-Windows. * The buffer that quickfix caches for performance may become invalid. (Daniel Hahler) * Cannot set the context for a specified quickfix list. * When creating a bufref, then using :bwipe and :new it might get the same memory and bufref_valid() returns true. * Cannot manipulate other than the current quickfix list. * For some people the hint about quitting is not sufficient. * The screen is redrawn when t_BG is set and used to detect the value for 'background'. * When t_u7 is sent a few characters in the second screen line are overwritten and not redrawn later. (Rastislav Barlik) * Package directories are added to 'runtimepath' only after loading non-package plugins. * The conf filetype detection is done before ftdetect scripts from packages that are added later. * float2nr() is not exactly right. * Using % with :hardcopy wrongly escapes spaces. (Alexey Muranov) * When setting the cterm background with ":hi Normal" the value of 'background' may be set wrongly. * Hardcopy test hangs on MS-Windows. * NFA regex engine handles [0-z] incorrectly. * In the GUI, when a timer uses feedkeys(), it still waits for an event. (Raymond Ko) * Since we only support GTK versions that have it, the ckeck for HAVE_GTK_MULTIHEAD is no longer needed. * The ":stag" command does not respect 'switchbuf'. * Using a text object to select quoted text fails when 'selection' is set to "exclusive". (Guraga) * The message "Invalid range" is used for multiple errors. * Warning for unused variable in tiny build. (Tony Mechelynck) * shellescape() always escapes a newline, which does not work with some shells. (Harm te Hennepe) * In the GUI the cursor may flicker. * When 'wrapscan' is off "gn" does not select the whole pattern when it's the last one in the text. (KeyboardFire)- Extend vimrc with mappings for 8-bit controls key escape sequences- Conflict with old vim versions to fix the upgrade from 12.3 boo#1036583- Updated to revision 566, fixes the following problems * :windo allows for ! but it's not supported. * Undefined behavior when using backslash after empty line. * Not enough test coverage for syntax commands. * Crash when getting the window position in tmux. * Cannot detect Bazel BUILD files on some systems. * Using freed memory in :caddbuf after clearing quickfix list. * Setting nocompatible for the tiny version moves the cursor. - Refresh and re-add vim-8.0-ttytype-test.patch- Updated to revision 559, fixes the following problems * Test_edit causes older xfce4-terminal to close. (Dominique Pelle) * Cppcheck warnings. * Edit test may fail on some systems. * Swap file exists briefly when opening the command window. * Extra line break in verbosefile when using ":echomsg". (Ingo Karkat) * Saving the redo buffer only works one time, resulting in the "." command not working well for a function call inside another function call. * No test for the 8g8 command. * Some etags format tags file use 0x01, breaking the parsing. * The typeahead buffer is reallocated too often. * Toupper and tolower don't work properly for Turkish when 'casemap' is empty. (Bjorn Linse) * Toupper/tolower test with Turkish locale fails on Mac. * Toupper and tolower don't work properly for Turkish when 'casemap' contains "keepascii". (Bjorn Linse) * Toupper/tolower test fails on OSX without Darwin. * Getting the window position fails if both the GUI and term code is built in. * GTK: using static gravities is not useful. * The :ownsyntax command is not tested. * Setting ttytype to xxx does not always fail as expected. - Remove vim-8.0-ttytype-test.patch, fixed upstream.- Update the update-alternatives code- Updated to revision 542, fixes the following problems * ml_get errors in silent Ex mode. (Dominique Pelle) * A large count on a normal command causes trouble. (Dominique Pelle) * There is no way to remove quickfix lists (for testing). * Storing a zero byte from a multi-byte character causes fold text to show up wrong. * Character classes are not well tested. They can differ between platforms. * Using a function pointer instead of the actual function, which we know. * GtkForm handling is outdated. * MS-Windows: when 'clipboard' is "unnamed" yyp does not work in a :global command. * dv} deletes part of a multi-byte character. (Urtica Dioica) * Folds are messed up when 'encodin' is "utf-8". * Coverity complains about possible negative value. * RISC OS support was removed long ago, but one file is still included. * When 'wildmenu' is set and 'wildmode' has "longest" then the first file name is highlighted, even though the text shows the longest match. * Line in test commented out. * Buffer overflow when 'columns' is very big. (Nikolai Pavlov) * Test with long directory name fails on non-unix systems. * Test with long directory name fails on Mac. * Abbreviation doesn't work after backspacing newline. (Hkonrk) * Defaults.vim does not work well with tiny features. (crd477) * Memory leak when exiting from within a user function. * Quickfix window not updated when freeing quickfix stack. * Illegal memory access with :z and large count. * No test for falling back to default term value. * Startup test fails on Mac. * Building unit tests fails. * Compiler warning on MS-Windows. * getpos() can return a negative line number. (haya14busa)- Update spec.skeleton with spec-cleaner- Updated to revision 514, fixes the following problems * Insufficient testing for statusline. * 'makeencoding' missing from the options window. * Git and hg see new files after running tests. (Manuel Ortega) * Options test does not always test everything. * Options test fails or hangs on MS-Windows. * 'cinoptions' cannot set indent for extern block. * "make shadow" creates an invalid link. * Quite a few beeps when running tests. * Clang version not correctly detected. * Some functions are not tested. * Running the options test sometimes resizes the terminal. * The packadd test does not create the symlink correctly and does not test the right thing. * The fnamemodify test changes 'shell' in a way later tests may not be able to use system(). * Using ":%argdel" while the argument list is already empty gives an error. (Pavol Juhas) * Not enough test coverage in Insert mode. * Dead code in #ifdef. * Patch shell command uses double quotes around the argument, which allows for $HOME to be expanded. (Etienne) * Terminal width is set to 80 in test3. * Diffpatch fails when the file name has a quote. * Getpgid is not supported on all systems. * The ";" command does not work after characters with a lower byte that is NUL. * Getting font name does not work on X11. * Some macros are in lower case, which can be confusing. * Part of fold patch accidentally included. * v:progpath is not reliably set. * Some macros are in lower case. * Some macros are in lower case. * Adding fold marker creates new comment. * Compiler warnings for comparing unsigned char with 256 always being true. (Manuel Ortega) * The mode test may hang in Test_mode(). (Michael Soyka) * Typo in MinGW test makefile. * Using :move messes up manual folds. * Potential crash if adding list or dict to dict fails. * Old fix for :move messing up folding no longer needed, now that we have a proper solution. * Can't build on HPUX. * Test 45 hangs on MS-Windows. * If an MS-Windows tests succeeds at first and then fails in a way it does not produce a test.out file it looks like the test succeeded. * Resetting 'compatible' in defaults.vim has unexpected side effects. (David Fishburn) * Can't find executable name on Solaris and FreeBSD. * Off-by-one error in using :move with folding. * There are still a few macros that should be all-caps. * Using g< after :for does not show the right output. (Marcin Szamotulski) * After aborting an Ex command g< does not work. (Marcin Szamotulski) * Compiler warnings on MS-Windows. * Not enough testing for help commands. * Exit callback test sometimes fails. * When a test fails and test.log is created, Test_edit_CTRL_I matches it instead of test1.in. * No test covering arg_all(). * The client-server feature is not tested. * Not enough testing for the client-server feature. * Missing change to main.c. * The client-server test may hang when failing. * Tests use assert_true(0) and assert_false(1) to report errors. * remote_peek() is not tested. * The remote_peek() test fails on MS-Windows. * Unnecessary if statement. * The setbufvar() function may mess up the window layout. (Kay Z.) * Illegal memory access when using :all. (Dominique Pelle) * Using :lhelpgrep with an argument that should fail does not produce an error if the previous :helpgrep worked. * Not all windows commands are tested. * Crash and endless loop when closing windows in a SessionLoadPost autocommand. * The autocmd test hangs on MS-Windows. * Running tests leaves an "xxx" file behind. * Clipboard and "* register is not tested. * Splitting a 'winfixwidth' window vertically makes it one column smaller. (Dominique Pelle) * The quotestar test fails when a required feature is missing. * A failing client-server request can make Vim hang. * Crash with cd command with very long argument. * Build failure with older compiler on MS-Windows. * The quotestar test uses a timer instead of a timeout, thus it cannot be rerun like a flaky test. * Insufficient testing for folding. * Arabic support is not fully tested. * Two autocmd tests are skipped on MS-Windows. * taglist() does not prioritize tags for a buffer. * Quotestar test is still a bit flaky. * On MS-Windows ":!start" does not work as expected. * Coverity complains about possible NULL pointer. * Endless loop in updating folds with 32 bit ints. * Looking up an Ex command is a bit slow. * Failed window split for :stag not handled. (Coverity CID 99204) * Can't build with ANSI C. * Client-server tests fail when $DISPLAY is not set. * Coveralls no longer shows per-file coverage. * No link to codecov.io results. * Typo in link to codecov.io results. * Menuage for skipping client-server tests is unclear. * Check for available characters takes too long. * Getting name of cleared highlight group is wrong. (Matt Wozniski) * Script for creating cmdidxs can be improved.- Disable term=xxx test, does not work with any vim version * vim-8.0-ttytype-test.patch- Update apparmor.vim (taken from AppArmor 2.11) * add support for the "kcm" and "qipcrtr" network keywords * update change_profile rule highlighting- Build default vim without X11 support, use update-alternatives to prefer gvim if installed for X11 support.- Updated to revision 425, fixes the following problems * Packadd test does not clean up symlink. * Packadd test uses wrong directory name. * The E11 error message in the command line window is not translated. * The "zero count" error doesn't have a number. (Hirohito Higashi) * Xfontset and guifontwide are not tested. * Illegal memory access after "vapo". (Dominique Pelle) * Restoring help snapshot accesses freed memory. (Dominique Pelle) * GUI test fails on some systems. * Illegal memory access when 'complete' ends in a backslash. * Can't access b:changedtick from a dict reference. * Functions test fails. * Flags of :substitute not sufficiently tested. * Invalid memory access in :recover command. * :recover test fails on MS-Windows. * Illegal memory access with vi' * Not checking return valud of dict_add(). (Coverity) * When using complete() and typing a character undo is saved after the character was inserted. (Shougo) * Double free when compiled with EXITFREE and setting 'ttytype'. * b:changedtick can be unlocked, even though it has no effect. * Unlet command leaks memory. (Nikolai Pavlov) * islocked('d.changedtick') does not work. * Vim relies on limits.h to be included indirectly, but on Solaris 9 it may not be. (Ben Fritz) * When using CTRL-X CTRL-U inside a comment, the use of the comment leader may not work. (Klement) * When building with a shadow directory on macOS lacks the +clipboard feature. * Redrawing errors with GTK 3. * Not enough test coverage for Perl. * No test for concatenating an empty string that results from out of bounds indexing. * The condition for when a typval needs to be cleared is too complicated. * If [RO] in the status line is translated to a longer string, it is trunctted to 4 bytes. * Test to check that setting termcap key fails sometimes. * Using uninitialized memory when 'isfname' is empty. * Leaking memory when setting 'ttytype'. * Crash when setting 'guicursor' to weird value. * Invalid memory access in C-indent code. * 'number' and 'relativenumber' are not properly tested. * Sometimes VimL is used, which is confusing. * GUI initialisation is not sufficiently tested. * Tests fail on MS-Windows. * Travis is too slow to keep up with patches. * ]s does not move cursor with two spell errors in one line. * Might free a dict item that wasn't allocated. * Build fails with tiny features. * If configure defines _LARGE_FILES some include files are included before it is defined. * Not all options are tested with a range of values. * The 'balloondelay', 'ballooneval' and 'balloonexpr' options are not defined without the +balloon_eval feature. Testing that an option value fails does not work for unsupported options. * Invalid memory access when setting wildchar empty. * Leaking memory when setting v:completed_item. * More options are not always defined. * Build fails without +folding. * Invalid memory access when using :sc in Ex mode. (Dominique Pelle) * The "+ register is not tested. * Size computations in spell file reading are not exactly right. * Possible overflow when reading corrupted undo file. CVE-2017-6349 bsc#1027057 * Another possible overflow when reading corrupted undo file. CVE-2017-6350 bsc#1027053 * CTRL-Z and mouse click use CTRL-O unnecessary. * With 'linebreak' set and 'breakat' includes ">" a double-wide character results in "<<" displayed. * Diff mode is not sufficiently tested. * Warning in tiny build for unused variable. (Tony Mechelynck) * Misplaced #ifdef. (Christ van Willigen) * Timer test failed for no apparent reason. * No tests for arabic. * Tiny build has a problem with generating the options test. * compiler warnings * filtering lines through "cat", without changing the line count, changes manual folds. * Test for arabic does not check what is displayed. * When the window scrolls horizontally when the popup menu is displayed part of it may not be cleared. (Neovim issue #6184) * Arabic support is verbose and not well tested. * GUI test fails with Athena and Motif. * When the same tag appears more than once, the order is unpredictable. (Charles Campbell) * Tabs are not aligned when scrolling horizontally and a Tab doesn't fit. (Axel Bender) * Testing the + register fails with Motif. * 'balloonexpr' only works synchronously. * Cannot build with the viminfo feature but without the eval feature. * Illegal memory access with "t". * Crash when using balloon_show() when not supported. (Hirohito Higashi) * Some tests have a one second delay. * Test fails with missing balloon feature. * :map completion does not have . (Dominique Pelle) * GUI tests may fail. * Not enough testing for quickfix. * v:progpath may become invalid after ":cd". * The arabic shaping code is verbose. * Filtering folds with marker method not tested. * Updating folds does not work properly when inserting a file and a few other situations. * set_progpath is defined but not always used * Newer gettext/iconv library has extra dll file. * We can't change the case in menu entries, it breaks translations. * Menu test fails on MS-Windows. * Menu test fails on MS-Windows using gvim. * Balloon eval is not tested. * Balloon test fails on MS-Windows. * Setting v:progpath is not quite right. * Test for the clipboard fails sometimes. * ASAN logs are disabled and don't cause a failure. * Test for v:progpath fails on MS-Windows. * When running :make the output may be in the system encoding, different from 'encoding'. * Diff mode is displayed wrong when adding a line at the end of a buffer. * Python test fails with Python 3.6. * The effect of adding "#" to 'cinoptions' is not always removed. * Compiler warnings on MS-Windows. (Ajit Thakkar) * Build errors when building without folding. - Drop test87-python36.patch, fixed upstream.- Add test87-python36.patch to update test results for Python 3.6- Updated to revision 324, fixes the following problems * When a json message arrives in pieces, the start is dropped and the decoding fails. * Not enough testing for GUI functionality. * getcmdtype(), getcmdpos() and getcmdline() are not tested. * ":help :[range]" does not work. (Tony Mechelynck) * ":help z?" does not work. (Pavol Juhas) * No test for setting 'guifont'. * Small mistake in 7x13 font name. * Insert mode completion does not respect "start" in 'backspace'. * Warning for unused variable with small build. * When using the tiny version trying to load the matchit plugin gives an error. On MS-Windows some default mappings fail. * Possible overflow with spell file where the tree length is corrupted. CVE-2017-5953 bsc#1024724 * When running the command line tests there is a one second wait. * Illegal memory access with "1;y".- Updated to revision 311, fixes the following problems * Double free on exit when using a closure. (James McCoy) * Ex command range with repeated search does not work. (Bruce DeVisser) * When the GUI window is resized Vim does not always take over the new size. (Luchr) * Cannot stop diffing hidden buffers. (Daniel Hahler) * No tests for ":set completion" and various errors of the :set command. * Cannot set terminal key codes with :let. * Bracketed paste does not work in Visual mode. * Assign test fails in the GUI. * Invalid memory access when option has duplicate flag. * mode() not sufficiently tested. * Asan detects a memory error when EXITFREE is defined. (Dominique Pelle) * When using a symbolic link, the package path will not be inserted at the right position in 'runtimepath'. (Dugan Chen, Norio Takagi) * Cannot use an empty key in json. * Not enough testing for GUI functionality. * Linebreak tests are old style.- Updated to revision 296, fixes the following problems * Jumping to a tag that is a static item in the current file fails. (Kazunobu Kuriyama) * The test for :profile is slow and does not work on MS-Windows. * On MS-Windows the system() test skips a few parts. * Some syntax arguments take effect even after "if 0". (Taylor Venable) * Warning for an unused parameter when the libcall feature is disabled. Warning for a function type cast when compiling with -pedantic. * Some syntax arguments are not tested. * When completing a group name for a highlight or syntax command cleared groups are included. * No test for invalid syntax group name. * Order of complication flags is sometimes wrong. * Compiler warns for uninitialized variable. (Tony Mechelynck) * After :undojoin some commands don't work properly, such as :redo. (Matthew Malcomson) * Test coverage for :retab insufficient. * Leaking file descriptor when system() cannot find the buffer. (Coverity) * Internally used commands for CTRL-Z and mouse click end up in history. (Matthew Malcomson) * When using :substitute with the "c" flag and 'cursorbind' is set the cursor is not updated in other windows. * Vim does not support bracketed paste, as implemented by xterm and other terminals. * Build fails if the multi-byte feature is disabled. * The buffer used to store a key name theoreticaly could be too small. (Coverity) * The Netbeans "specialKeys" command does not check if the argument fits in the buffer. (Coverity) * Leaking memory when syntax cluster id is unknown. (Coverity) * When a Cscope line contains CTRL-L a NULL pointer may be used. (Coverity) * When decoding JSON with a JS style object the JSON test may use a NULL pointer. (Coverity) * Build fails without the cscope feature. * No command line completion for :cexpr, :cgetexpr, :caddexpr, etc. * Ubsan reports errors for integer overflow. * Completion for :match does not show "none" and other missing highlight names. * Checking if PROTO is defined inside a function has no effect. * When a multi-byte character ends in a zero byte, putting blockwise text puts it before the character instead of after it. * Coverity gets confused by the flags passed to find_tags() and warnts for an uninitialized variable. * When 'fileformats' is changed in a BufReadPre auto command, it does not take effect in readfile(). (Gary Johnson) * When a block is visually selected and put is used on the end of the selection only one line is changed. * The test for patch 8.0.0224 misses the CR characters and passes even without the fix. (Christian Brabandt) * Crash when 'fileformat' is forced to "dos" and the first line in the file is empty and does not have a CR character. * When pasting test in an xterm on the command line it is surrounded by and . (Johannes Kaltenbach) * When freeing a buffer the local value of the 'formatprg' option is not cleared. * When using bracketed paste line breaks are not respected. * There are no tests for bracketed paste mode. * Pasting in Insert mode does not work when bracketed paste is used and 'esckeys' is off. * The paste test fails if the GUI is being used. * When several lines are visually selected and one of them is short, using put may cause a crash. (Axel Bender) * Memory leak detected when running tests for diff mode. * Gcc complains that a variable may be used uninitialized. Confusion between variable and label name. (John Marriott) * When setting wildoptions=tagfile the completion context is not set correctly. (desjardins) * When using bracketed paste autoindent causes indent to be increased. * The address sanitizer sometimes finds errors, but it needs to be run manually. * The clang build on CI fails with one configuration. * Vim defines a mch_memmove() function but it doesn't work, thus is always unused. * Completion of user defined functions is not covered by tests. * When making a character lower case with tolower() changes the byte cound, it is not made lower case. * When the user sets t_BE empty after startup to disable bracketed paste, this has no direct effect. * The generated zh_CN.cp936.po message file is not encoded properly. * Compiler warnings for int to pointer conversion. * Under some circumstances, one needs to type Ctrl-N or Ctrl-P twice to have a menu entry selected. (Lifepillar) * vim_strcat() cannot handle overlapping arguments. * When two submits happen quick after each other, the tests for the first one may error out. * When virtcol() gets a column that is not the first byte of a multi-byte character the result is unpredictable. (Christian Ludwig) * It is not so easy to write a script that works with both Python 2 and Python 3, even when the Python code works with both. * Characters below 256 that are not one byte are not always recognized as word characters. * When creating a session when winminheight is 2 or larger and loading that session gives an error. * When using an assert function one can either specify a message or get a message about what failed, not both. * When calling setpos() with a buffer argument it often is ignored. (Matthew Malcomson) * Tests fail because some changes were not included. * The keyword test file is not included in the archive. * The keyword test file is not included in the archive. * Tab commands do not handle count correctly. (Ken Hamada) * Build fails with tiny features. * Not enough test coverage for eval functions. * Farsi support is barely tested. * Farsi support is not tested enough. * Memory error reported by ubsan, probably for using the string returned by execute(). * May get ml_get error when :pydo deletes lines or switches to another buffer. (Nikolai Pavlov, issue #1421) * Compiler warning for using uninitialized variable. * A channel test sometimes fails on Mac. * May get ml_get error when :luado deletes lines or switches to another buffer. (Nikolai Pavlov, issue #1421) * May get ml_get error when :perldo deletes lines or switches to another buffer. (Nikolai Pavlov, issue #1421) * May get ml_get error when :rubydo deletes lines or switches to another buffer. (Nikolai Pavlov, issue #1421) * May get ml_get error when :tcldo deletes lines or switches to another buffer. (Nikolai Pavlov, closes #1421) * Crash on exit is not detected when running tests. * Dead code detected by Coverity when not using gnome. * When update_single_line() is called recursively, or another screen update happens while it is busy, errors may occur. * When checking for CTRL-C typed the GUI may detect a screen resize and redraw the screen, causing trouble. * Checking for FEAT_GUI_GNOME inside GTK 3 code is unnecessary. * The GUI test may trigger fontconfig and take a long time. * GUI test fails on MS-Windows. * With MSVC 2015 the dll name is vcruntime140.dll. * On MS-Windows setting an environment variable with multi-byte strings does not work well. * MS-Windows files are still using ARGSUSED while most other files have UNUSED. * When doing a Visual selection and using "I" to go to insert mode, CTRL-O needs to be used twice to go to Normal mode. (Coacher) * The return value of mode() does not indicate that completion is active in Replace and Insert mode. (Zhen-Huan (Kenny) Hu) * The Test_collapse_buffers() test failed once, looks like it is flaky. * Tests fail with tiny build on Unix. * When concealing is active and the screen is resized in the GUI it is not immediately redrawn. * Cannot access the arguments of the current function in debug mode. (Luc Hermitte) * Errors reported while running tests. * No test for "ga" and :ascii. * If a wide character doesn't fit at the end of the screen line, and the line doesn't fit on the screen, then the cursor position may be wrong. (anliting) * Visual block insertion does not insert in all lines. * The stat test is a bit slow. * Some tests have a one or three second wait. * Argument list is not stored correctly in a session file. (lgpasquale) * test_viml hangs. * Bracketed paste can only append, not insert.- Improve summary bsc#1021040- Add missing %changelog to spec.skeleton- Updated to revision 194, fixes the following problems * When compiling with EBCDIC defined the build fails. (Yaroslav Kuzmin) * For completion "locale -a" is executed on MS-Windows, even though it most likely won't work. * Setting language in gvim on MS-Windows does not work when libintl.dll is dynamically linked with msvcrt.dll. * Using :change in between :function and :endfunction fails. * When opening a buffer on a directory and inside a try/catch then the BufEnter event is not triggered. * test_command_count may fail when a previous test interferes, seen on MS-Windows. * 'formatprg' is a global option but the value may depend on the type of buffer. (Sung Pae) * Error E937 is used both for duplicate key in JSON and for trying to delete a buffer that is in use. * When 'cursorbind' and 'cursorcolumn' are both on, the column highlignt in non-current windows is wrong. * When 'cursorbind' and 'cursorline' are set, but 'cursorcolumn' is not, then the cursor line highlighting is not updated. (Hirohito Higashi) * Ubsan warns for using a pointer that is not aligned. * When in Ex mode and an error is caught by try-catch, Vim still exits with a non-zero exit code. * The system() test fails on MS-Windows. * The error message from assert_notequal() is confusing. * Building with a new Ruby version fails. * Using NOT_VALID for redraw_later() to update the cursor line/column highlighting is not efficient. * There are no tests for the :profile command. * Detecting duplicate tags uses a slow linear search. * Some systems do not have ruby_sysinit(), causing the build to fail. * Build fails with tiny features. * Accidentally removed #ifdef. * Profile tests fails if total and self time are equal.- Updated to revision 172, fixes the following problems * When a C preprocessor statement has two line continuations the following line does not have the right indent. (Ken Takata) * ":earlier" and ":later" do not work after startup or reading the undo file. * When the pattern of :filter does not have a separator then completion of the command fails. * To pass buffer content to system() and systemlist() one has to first create a string or list. * Running the channel test creates channellog. * system() test fails on MS-Windows. * system() test fails on OS/X. * When sorting zero elements a NULL pointer is passed to qsort(), which ubsan warns for. * Several float functions are not covered by tests. * No command line completion for ":syntax spell" and ":syntax sync". * On MS-Windows some float functions return a different value when passed unusual values. strtod() doesn't work for "inf" and "nan". * Using a NULL pointer when using feedkeys() to trigger drawing a tabline. * EMSG() is sometimes used for internal errors. * Build fails when using small features. * Build error on Fedora 23 with small features and gnome2. * Ruby 2.4 no longer supports rb_cFixnum. * Outdated and misplaced comments. * Ubsan warns for integer overflow. * JSON with a duplicate key gives an internal error. (Lcd) * str2nr() and str2float() do not always work with negative values. * Still some float functionality is not covered by tests. * For complicated string json_decode() may run out of stack space. * Channel test fails for using freed memory. * JS style JSON does not support single quotes. * The command selected in the command line window is not executed. (Andrey Starodubtsev)- Updated to revision 147, fixes the following problems * Not enough test coverage for syntax commands. * Test fails because of using :finish. * "2;'(" causes ml_get errors in an empty buffer. * Null pointer access reported by UBsan. * An address relative to the current line, ":.,+3y", does not work properly on a closed fold. * When using indent folding and changing indent the wrong fold is opened. * When 'maxfuncdepth' is set above 200 the nesting is limited to 200. * Small build fails. * Warning for unused argument. * Pasting inserted text in Visual mode does not work properly. * Nested function test fails on AppVeyor. * Normal colors are wrong with 'termguicolors'. * Line number of current buffer in getbufinfo() is wrong. * When using MSVC the GvimExt directory is cleaned twice. * Running tests on MS-Windows is a little bit noisy. * When using 'termguicolors' on MS-Windows the RGB definition causes the colors to be wrong. * searchpair() does not work when 'magic' is off.- Updated to revision 130, fixes the following problems * Not enough testing for entering Ex commands. * Display problem with 'foldcolumn' and a wide character. (esiegerman) * Cancelling completion still inserts text when formatting is done for 'textwidth'. (lacygoill) * Display test fails on MS-Windows. * Parallel make still doesn't work. (Lewis Muir) * Configure uses "ushort" while the Vim code doesn't.- Updated to revision 124, fixes the following problems * May not process channel readahead. (skywind) * Value of 'thesaurus' option not checked properly. * When using ch_read() with zero timeout, can't tell the difference between reading an empty line and nothing available. * Cannot use a semicolon in 'backupext'. (Jeff) * When reading channel output in a timer, messages may go missing. (Skywind) * The channel "drop" option is not tested. * Still checking if memcmp() exists while every system should have it now. * Drop command doesn't use existing window. * The :history command is not tested. * Tests 92 and 93 are old style. * When reading English help and using CTRl-] the language from 'helplang' is used. * Parallel make fails. (J. Lewis Muir) * No test for using CTRL-R on the command line. * Setting 'cursorline' changes the curswant column. (Daniel Hahler) * Internal error for assert_inrange(1, 1).- Updated to revision 101, fixes the following problems * When the input or output is not a tty Vim appears to hang. * When a channel callback consumes a lot of time Vim becomes unresponsive. (skywind) * Can't build on MS-Windows. * Popup menu always appears above the cursor when it is in the lower half of the screen. (Matt Gardner) * Options that are a file name may contain non-filename characters. * Some options are not strictly checked. * (after 8.0.0101) cannot set 'dictionary' to a path- Updated to revision 95, fixes the following problems * Problems with GTK 3.22.2 fixed in 3.22.4.- Export "TERM=linux" before running the test suite: vim does quite an extensive test relying on a full fledged terminal inside OBS, stdio is redirected to a serial console (where the build log is being recorded/extracted. Systemd set non-local tty by default to vt220 in upcoming versions (which the vi test suite fails to run on; this should be considered a vim bug).- Updated to revision 92, fixes the following problems * Using NUL instead of NULL. * Crash when using the preview window from an unnamed buffer. (lifepillar) * On Windows job_stop() stops cmd.exe, not the processes it runs. (Linwei) * When a match ends in part of concealed text highlighting, it might mess up concealing by resetting prev_syntax_id. * An exiting job is detected with a large latency. * New code for job_stop() breaks channel test on AppVeyor. * Conceal test passes even without the bug fix. * No test for what 8.0.0047 fixes. * On Windows job_stop() stops cmd.exe, not the processes it runs. (Linwei) * Minor comment and style deficiencies. * When setting 'filetype' there is no check for a valid name. * Tests fail without the 'keymap' features. * Positioning of the popup menu is not good. * Vim does not build on VMS systems. * When using an Ex command for 'keywordprg' it is escaped as with a shell command. (Romain Lafourcade) * Compiler warning for unused variable. * No digraph for HORIZONTAL ELLIPSIS. * Compiler warning for comparing with unsigned. (Zoltan Arpadffy) * Normal test fails on MS-Windows. * Compiler warning for unused function in tiny build. (Tony Mechelynck) * when calling an operator function when 'linebreak' is set, it is internally reset before calling the operator function. * VMS has a problem with infinity. * Checking did_throw after executing autocommands is wrong. (Daniel Hahler) * Compiler warning for self-comparison. * Tests referred in Makefile that no longer exist. * Exit value from a shell command is wrong. (Hexchain Tong) * MS-Windows: Crash with long font name. (Henry Hu) * More comparisons between firstwin and lastwin. * Cannot make Vim fail on an internal error. * Using number for exception type lacks type checking. * Channel log has double parens ()(). * The GUI code is not tested by Travis. * Accessing freed memory in quickfix. * Accessing freed memory in quickfix. (Domenique Pelle) * The OS X build fails on Travis. * Inconsistent function names. * Extension for configure should be ".ac". * Using freed memory with win_getid(). (Domenique Pelle) * Using freed memory when adding to a quickfix list. (Domenique Pelle) * Using freed memory with recursive function call. (Dominique Pelle) * Cannot add a comment after ":hide". (Norio Takagi) * When the channel callback gets job info the job may already have been deleted. (lifepillar) * When a test fails in Setup or Teardown the problem is not reported. * Various problems with GTK 3.22.2. * Cursor moved after last character when using 'breakindent'. * Test_help_complete sometimes fails in MS-Windows console. * C indenting does not support nested namespaces that C++ 17 has. - Drop bsc-1008800.patch, fixed upstream.- Add bsc-1008800.patch to fix gvim rendering with recent gtk+ update. Fixes bsc#1008800. Patch by Jan Alexander Steffens.- Updated to revision 45, fixes the following problems * Cannot use overlapping positions with matchaddpos(). * No completion for ":messages". * Order of matches for 'omnifunc' is messed up. (Danny Su) * Detecting that a job has finished may take a while. * Get E924 when switching tabs. * OPEN_CHR_FILES not defined for FreeBSD using Debian userland files. * When Vim 8 reads an old viminfo and exits, the next time marks are not read from viminfo. (Ned Batchelder) * Whole line highlighting with matchaddpos() does not work. * When using Insert mode completion but not actually inserting anything an undo item is still created. (Tommy Allen) * When using Insert mode completion with 'completeopt' containing "noinsert" change is not saved for undo. (Tommy Allen) * When using Insert mode completion with 'completeopt' containing "noinsert" with CTRL-N the change is not saved for undo. (Tommy Allen) * In diff mode the cursor may end up below the last line, resulting in an ml_get error. * Calling job_stop() right after job_start() does not work.- Updated to revision 32, fixes the following problems * getwinvar() returns wrong Value of boolean and number options, especially non big endian systems. (James McCoy) * A string argument for function() that is not a function name results in an error message with NULL. (Christian Brabandt) * Netbeans test fails with Python 3. (Jonathonf) * ":lb" is interpreted as ":lbottom" while the documentation says it means ":lbuffer". * Vim 7.4 is still mentioned in a few places. * Popup complete test is disabled. * Unnecessary workaround for AppVeyor. * Crash when editing file that starts with crypt yeader. (igor2x) * On OSX Test_pipe_through_sort_all() sometimes fails. * Typos in comments. * Missing comma in list. * Crypt tests are old style. * Can't tell which part of a channel has "buffered" status. * Build fails. * Cannot get the number of the current quickfix or location list. * When using ":sleep" channel input is not handled. * Test_command_count is old style. * The regexp engines are not reentrant. * In the GUI when redrawing the cursor it may be on the second half of a double byte character. * If a channel in NL mode is missing the NL at the end the remaining characters are dropped. * "gd" and "gD" may find a match in a comment or string. * When the netbeans channel closes, "DETACH" is put in the output part. (Ozaki Kiichi) * Inconsistent use of spaces vs tabs in gd test. * Error format with %W, %C and %Z does not work. (Gerd Wachsmuth) * A channel is closed when reading on stderr or stdout fails, but there may still be something to read on another part. * Superfluous semicolons. * Code for MS-Windows is complicated because of the exceptions for old systems. * Mouse mode is not automatically detected for tmux. * After ":bwipeout" 'fileformat' is not set to the right default.- Updated to revision 3, fixes the following problems * getwinvar() returns wrong Value of boolean and number options, especially non big endian systems. (James McCoy)- Updated to revision 2, fixes the following problems * Intro screen still mentions version7. (Paul) * The netrw plugin does not work.- Update to version 8.0 * Crash on exit when EXITFREE is defined. (Dominique Pelle) * Valgrind reports using uninitialzed memory. (Dominique Pelle) * Test 86 and 87 fail with some version of Python. * Netbeans test fails when run from unpacked MS-Windows sources. * Netbeans test fails in shadow directory. * Not enough test coverage for Normal mode commands. * The example that explains nested backreferences does not work properly with the new regexp engine. (Harm te Hennepe) * Regexp fails to match when using "\>\)\?". (Ramel) * Reading past end of line when using previous substitute pattern. (Dominique Pelle) * Attempt to read history entry while not initialized. * Compiler warnings with Solaris Studio when using GTK3. * Memory leak in timer_start(). * Invalid memory access when formatting. (Dominique Pelle) * Checking for last_timer_id to overflow is not reliable. (Ozaki Kiichi) * Illegal memory access with ":1@". (Dominique Pelle) * Superfluous function prototypes. * Sort test sometimes fails. * Needless line break. Confusing directory name. * MS-Windows gvim.exe does not have DirectX support. * Test runner misses a comma.- Updated to revision 2347, fixes the following problems * submatch() does not check for a valid argument. * The 'langnoremap' option leads to double negatives. And it does not work for the last character of a mapping. * Can't use "." and "$" with ":tab". * With SGR mouse reporting (suckless terminal) the mouse release and scroll up/down is confused. * Warning for missing declaration of skip_vimgrep_pat(). (John Marriott) * Tests using the sleep time can be flaky. * Timer test sometimes fails. * Timer test sometimes fails. * Warning for assigning negative value to unsigned. (Danek Duvall) * Adding pattern to ":oldfiles" is not a generic solution. * Filter test fails. * Oldfiles test fails. * Tiny build fails. (Tony Mechelynck) * When cancelling the :ptjump prompt a preview window is opened for a following command. * Missing colon in error message. * Some error message cannot be translated. * In rare cases diffing 4 buffers is not enough. * Compiler warnings for signed/unsigned in expression. * Check for Windows 3.1 will always return false. (Christian Brabandt) * Compiler warnings in MzScheme code. * The script that checks translations can't handle plurals. * Coverity complains about null pointer check. * Coverity complains about not checking for NULL. * Two JSON messages are sent without a separator. * With 'incsearch' can only see the next match. * Channel test is flaky. * Build fails with small features. * Fail to read register content from viminfo if it is 438 characters long. (John Chen) * :filter does not work for many commands. Can only get matching messages. * When adding entries to an empty quickfix list the title is reset. * printf() isn't tested much. * printf() test fails on Windows. "-inf" is not used. * Build fails on MS-Windows. * Using CTRL-N and CTRL-P for incsearch shadows completion keys. * Using 'hlsearch' highlighting instead of matchpos if there is no search match. * Insufficient testing for NUL bytes on a raw channel. * Netbeans test doesn't read settings from file. * getbufinfo(), getwininfo() and gettabinfo() are inefficient. * getwininfo() and getbufinfo() are inefficient. * Command line completion on "find **/filename" drops sub-directory. * ":diffoff!" does not remove filler lines. * Command line test fails on Windows when run twice. * Memory leak in getbufinfo() when there is a sign. (Dominique Pelle) * New users have no idea of the 'scrolloff' option. * Starting diff mode with the cursor in the last line might end up only showing one closed fold. (John Beckett) * printf() doesn't handle infinity float values correctly. * Timer test fails sometimes. * When a child process is very fast waiting 10 msec for it is noticeable. (Ramel Eshed) * Part of ":oldfiles" command isn't cleared. (Lifepillar) * Comment in scope header file is outdated. (KillTheMule) * Generated files are outdated. * The tee program isn't included. Makefile contains build instructions that don't work. * The callback passed to ch_sendraw() is not used. * MS-Windows build instructions are clumsy. "dosbin" doesn't build. * When installing and $DESTDIR is set the icons probably won't be installed. * Compiler warning in tiny build. (Tony Mechelynck) * printf() handles floats wrong when there is a sign. * Not all systems understand %F in printf(). * Modelines in source code are inconsistent. * Sign test fails on MS-Windows when using the distributed zip archives. * Cscope test fails. * No tests for :undolist and "U" command. * When starting a job that reads from a buffer and reaching the end, the job hangs. * It is not possible to close the "in" part of a channel. * QuickFixCmdPre and QuickFixCmdPost autocommands are not always triggered. * Get warning for deleting autocommand group when the autocommand using the group is scheduled for deletion. (Pavol Juhas) * MS-Windows: some files remain after testing. * Default interface versions for MS-Windows are outdated. * When using "is" the mode isn't always updated. * In a timer callback the timer itself can't be found or stopped. (Thinca) * Marks, writefile and nested function tests are old style. * Default value for 'langremap' is wrong. * Several tests are old style. * Old charsearch test still listed in Makefile. * Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle) * Accessing freed memory when a timer does not repeat. * Appveyor 64 bit build still using Python 3.4 * Crash when autocommand moves to another tab. (Dominique Pelle) * Crash when deleting an augroup and listing an autocommand. (Dominique Pelle) * No error when deleting an augroup while it's the current one. * Insufficient testing for Normal mode commands. * Channel sort test is flaky. * Normal mode tests fail on MS-Windows. * When 'incsearch' is not set CTRL-T and CTRL-G are not inserted as before. * No way for a system wide vimrc to stop loading defaults.vim. (Christian Hesse) * Redraw problem when using 'incsearch'. * When a test is commented out we forget about it. * Access memory beyond the end of the line. (Dominique Pelle) * Using freed memory when using 'formatexpr'. (Dominique Pelle) * Crash when editing a new buffer and BufUnload autocommand wipes out the new buffer. (Norio Takagi) * Tiny build fails. * Illegal memory access when Visual selection starts in invalid position. (Dominique Pelle) * Freeing a variable that is on the stack. * Crash when BufWinLeave autocmd goes to another tab page. (Hirohito Higashi) * Error for min() and max() contains %s. (Nikolay Pavlov) * Coverity complains about not checking curwin to be NULL. * Using CTRL-X CTRL-V to complete a command line from Insert mode does not work after entering an expression on the command line. * Crash when stop_timer() is called in a callback of a callback. Vim hangs when the timer callback uses too much time. * Outdated comments in test. * On MS-Windows test_getcwd leaves Xtopdir behind. * taglist() is slow. (Luc Hermitte) * Running normal mode tests leave a couple of files behind. (Yegappan Lakshmanan) * taglist() is still slow. (Luc Hermitte) * Can't build with small features. (John Marriott) * Tab page test fails when run as fake root. * MS-Windows: Building with Ruby uses old version. * Tiny things. Test doesn't clean up properly. * Typo in MS-Windows build script. * Too many old style tests. * The "Reading from channel output..." message can be unwanted. Appending to a buffer leaves an empty first line behind. * For MinGW RUBY_API_VER_LONG isn't set correctly. Many default version numbers are outdated. * Autocommand test fails when run directly, passes when run as part of test_alot.- Updated to revision 2334, fixes the following problems * No tests for :undolist and "U" command. * When starting a job that reads from a buffer and reaching the end, the job hangs. * It is not possible to close the "in" part of a channel. * QuickFixCmdPre and QuickFixCmdPost autocommands are not always triggered. * Get warning for deleting autocommand group when the autocommand using the group is scheduled for deletion. (Pavol Juhas) * MS-Windows: some files remain after testing. * Default interface versions for MS-Windows are outdated. * When using "is" the mode isn't always updated. * In a timer callback the timer itself can't be found or stopped. (Thinca) * Marks, writefile and nested function tests are old style. * Default value for 'langremap' is wrong. * Several tests are old style. * Old charsearch test still listed in Makefile. * Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle) * Accessing freed memory when a timer does not repeat. * Appveyor 64 bit build still using Python 3.4 * Crash when autocommand moves to another tab. (Dominique Pelle) * Crash when deleting an augroup and listing an autocommand. (Dominique Pelle) * No error when deleting an augroup while it's the current one. * Insufficient testing for Normal mode commands. * Channel sort test is flaky. * Normal mode tests fail on MS-Windows. * When 'incsearch' is not set CTRL-T and CTRL-G are not inserted as before. * No way for a system wide vimrc to stop loading defaults.vim. (Christian Hesse) * Redraw problem when using 'incsearch'. * When a test is commented out we forget about it. * Access memory beyond the end of the line. (Dominique Pelle) * Using freed memory when using 'formatexpr'. (Dominique Pelle) * Crash when editing a new buffer and BufUnload autocommand wipes out the new buffer. (Norio Takagi) * Tiny build fails. * Illegal memory access when Visual selection starts in invalid position. (Dominique Pelle) * Freeing a variable that is on the stack. * Crash when BufWinLeave autocmd goes to another tab page. (Hirohito Higashi) * Error for min() and max() contains %s. (Nikolay Pavlov) * Coverity complains about not checking curwin to be NULL. * Using CTRL-X CTRL-V to complete a command line from Insert mode does not work after entering an expression on the command line. * Crash when stop_timer() is called in a callback of a callback. Vim hangs when the timer callback uses too much time. * Outdated comments in test. * On MS-Windows test_getcwd leaves Xtopdir behind.- Updated to revision 2295, fixes the following problems * The field names used by getbufinfo(), gettabinfo() and getwininfo() are not consistent. * Tab page tests are old style. * Test files have inconsistant modelines. * Startup test fails on Solaris. * There is no equivalent of 'smartcase' for a tag search. * ":oldfiles" output is a very long list. * The default ttimeoutlen is very long. * Crash when using funcref() with invalid name. (Dominique Pelle) * Can't build with +eval but without +quickfix. (John Marriott) * submatch() does not check for a valid argument. * The 'langnoremap' option leads to double negatives. And it does not work for the last character of a mapping. * Can't use "." and "$" with ":tab". * With SGR mouse reporting (suckless terminal) the mouse release and scroll up/down is confused. * Warning for missing declaration of skip_vimgrep_pat(). (John Marriott) * Tests using the sleep time can be flaky. * Timer test sometimes fails. * Timer test sometimes fails. * Warning for assigning negative value to unsigned. (Danek Duvall) * Adding pattern to ":oldfiles" is not a generic solution. * Filter test fails. * Oldfiles test fails. * Tiny build fails. (Tony Mechelynck) * When cancelling the :ptjump prompt a preview window is opened for a following command. * Missing colon in error message. * Some error message cannot be translated. * In rare cases diffing 4 buffers is not enough. * Compiler warnings for signed/unsigned in expression. * Check for Windows 3.1 will always return false. (Christian Brabandt) * Compiler warnings in MzScheme code. * The script that checks translations can't handle plurals. * Coverity complains about null pointer check. * Coverity complains about not checking for NULL. * Two JSON messages are sent without a separator. * With 'incsearch' can only see the next match. * Channel test is flaky. * Build fails with small features. * Fail to read register content from viminfo if it is 438 characters long. (John Chen) * :filter does not work for many commands. Can only get matching messages. * When adding entries to an empty quickfix list the title is reset. * printf() isn't tested much. * printf() test fails on Windows. "-inf" is not used. * Build fails on MS-Windows. * Using CTRL-N and CTRL-P for incsearch shadows completion keys. * Using 'hlsearch' highlighting instead of matchpos if there is no search match. * Insufficient testing for NUL bytes on a raw channel. * Netbeans test doesn't read settings from file. * getbufinfo(), getwininfo() and gettabinfo() are inefficient. * getwininfo() and getbufinfo() are inefficient. * Command line completion on "find **/filename" drops sub-directory. * ":diffoff!" does not remove filler lines. * Command line test fails on Windows when run twice. * Memory leak in getbufinfo() when there is a sign. (Dominique Pelle) * New users have no idea of the 'scrolloff' option. * Starting diff mode with the cursor in the last line might end up only showing one closed fold. (John Beckett) * printf() doesn't handle infinity float values correctly. * Timer test fails sometimes. * When a child process is very fast waiting 10 msec for it is noticeable. (Ramel Eshed) * Part of ":oldfiles" command isn't cleared. (Lifepillar) * Comment in scope header file is outdated. (KillTheMule) * Generated files are outdated. * The tee program isn't included. Makefile contains build instructions that don't work. * The callback passed to ch_sendraw() is not used. * MS-Windows build instructions are clumsy. "dosbin" doesn't build. * When installing and $DESTDIR is set the icons probably won't be installed. * Compiler warning in tiny build. (Tony Mechelynck) * printf() handles floats wrong when there is a sign. * Not all systems understand %F in printf(). * Modelines in source code are inconsistent. * Sign test fails on MS-Windows when using the distributed zip archives. * Cscope test fails.- Updated to revision 2225, fixes the following problems * When using matchaddpos() a character after the end of the line can be highlighted. * Can't build with +timers when +digraph is not included. * Recursive call to substitute gets stuck in sandbox. * printf() gives an error when the argument for %s is not a string. * printf() does not support binary format. * Sourcing a script where a character has 0x80 as a second byte does not work. * Buffer overflow when using latin1 character with feedkeys(). * Compiler warnings with older compiler and 64 bit numbers. * Crash when placing a sign in a deleted buffer.- Updated to revision 2216, fixes the following problems * The qf_init_ext() function is too big. * Compiler warning for initializing a struct. * There is still code and help for unsupported systems. * There is no way to get a list of the error lists. * When using ":vimgrep" may end up with duplicate buffers. * No proper testing of trunc_string(). * Coverage report is messed up by the unittests. * Can't run scripttests in the top directory. * Wrong part of #ifdef removed. * eval.c is too big. * Build fails. * eval.c is too big. * eval.c is too big. * Non-Unix builds fail. * Wrong file name. * qf_init_ext() is too big. * Using dummy variable to compute struct member offset. * eval.c is still too big. * Coverity warns for possible buffer overflow. * Compiler warns for uninitialzed variable. (John Marriott) * getcompletion() not well tested. * Compiler warning for char/char_u conversion. * Not all arguments of trunc_string() are tested. Memory access error when running the message tests. * spell.c is too big. * Missing change to include file. * The return value of type() is difficult to use. * substitute() does not support a Funcref argument. * rgb.txt is read for every color name. * One more place using a dummy variable. * No autocommand event to initialize a window or tab page. * Syntax error when dict has '>' key. * Cannot update 'tabline' when a tab was closed. * Running checks in po diretory fails. * Netbeans test fails on non-Unix systems. * When using PERROR() on some systems assert_fails() does not see the error. * Line numbers in the error list are not always adjusted. * Not much test coverage for digraphs. * Coverity complains about not restoring a value. * New digraph test makes testing hang. * Digraph tests fails on some systems. * Using the system default encoding makes tests unpredictable. * Digraph code test coverage is still low. * Keymap test fails with normal features. * Color handling of X11 GUIs is too complicated. * Using submatch() in a lambda passed to substitute() is verbose. * Coverity reports a resource leak when out of memory. * GTK 3 build fails with older GTK version. * Netbeans test fails once in a while. Leaving log file behind. * The color allocation in X11 is overly complicated. * Man test fails when run with the GUI. * Lambda functions show up with completion. * Warning from 64 bit compiler. * Text object tests are old style. * When a keymap is active only "(lang)" is displayed. * "cgn" and "dgn" do not work correctly with a single character match and the replacement includes the searched pattern. * Looping over windows, buffers and tab pages is inconsistant. * Tiny build with GUI fails. * Can't have "augroup END" right after ":au!". * Code duplication when unreferencing a function. * Configure reports default features to be "normal" while it is "huge". * Clang warns about missing field in initializer. * Misplaced equal sign. * Netbeans test is flaky. * Setting 'display' to "lastline" is a drastic change, while omitting it results in lots of "@" lines. * When there is an CmdUndefined autocmd then the error for a missing command is E464 instead of E492. (Manuel Ortega) * Defaults are very conservative. * getcompletion(.., 'dir') returns a match with trailing "*" when there are no matches. * Test for undo is flaky. * Tiny build fails. * Loading defaults.vim with -C argument. * The default vimrc for Windows is very conservative. * Deleting an augroup that still has autocmds does not give a warning. The next defined augroup takes its place. * Mac: can't build with tiny features. * Closures are not supported. * User defined functions can't be a closure. * No easy way to check if lambda and closure are supported. * Mac: don't get +clipboard in huge build. * No new style test for diff mode. * diffmode test leaves files behind, breaking another test. * Compiler warning for loss of data. * No tests for :diffget and :diffput * The short form of ":noswapfile" is ":noswap" instead of ":nos". * Memory leak when saving for undo fails. * Memory leak when using timer_start(). (Dominique Pelle) * Pending timers cause false memory leak reports. * More memory leaks when using partial, e.g. for "exit-cb". * test_partial has memory leaks reported. * Can't build with tiny features. * No error for using function() badly. * Various tiny issues. * Closure function fails. * Using function() with a name will find another function when it is redefined. * Test 86 and 87 fail. * :delfunction causes illegal memory access. * Tiny build fails. * Coverity reports bogus NULL check. * Leaking memory when redefining a function. * A funccal is garbage collected while it can still be used. * On MS-Windows quickix does not handle a line with 1023 bytes ending in CR-LF properly. * Win32: Using CreateThread/ExitThread is not safe. * Not enough testing for popup menu. CTRL-E does not always work properly. * test_alot fails. * Not much testing for cscope. * If a test leaves a window open a following test may fail. * Warning with MinGW 64. (John Marriott) * Quickfix test fails on MS-Windows. * No proper translation of messages with a count. * GUI test isn't testing much. * Test_communicate() fails sometimes. * Quotes make GUI test fail on MS-Windows. * Compiler warning. * Test_job_start_fails() is expected to report memory leaks, making it hard to see other leaks in test_partial. * Result of getcompletion('', 'cscope') depends on previous completion. * Insufficient testing for cscope. * setmatches() mixes up values. (Nikolai Pavlov) * Expression test fails without conceal feature. * Result of getcompletion('', 'sign') depends on previous completion. * match() and related functions tested with old style test. * It is not possible to use plugins in an "after" directory to tune the behavior of a package. * Startup test fails on MS-Windows. * Small build can't run startup test. * Small build can't run tests. * Not running the startup test on MS-Windows. * Startup test gets stuck on MS-Windows. * Cannot get information about timers. * MS-Windows build fails. * No test for "vim --help". * Can't test help on MS-Windows. * Adding duplicate flags to 'whichwrap' leaves commas behind. * Insufficient testing of cscope. * #ifdefs in main() are complicated. * No testing for -C and -N command line flags, file arguments, startuptime. * No test for reading from stdin. * Reading from stdin test fails on MS-Windows. * There is no easy way to stop all timers. There is no way to temporary pause a timer. * Compiler warning for unused variable. * Color Grey40 used in startup but not in the short list. * Sign tests are old style. * Tests that use RunVim() do not actually perform the test. * Test glob2regpat does not test much. * Timers test is flaky. * glob2regpat test fails on Windows. * Completion does not work properly with some plugins. * Cannot detect encoding in a fifo. * When startup test fails it's not easy to find out why. GUI test fails with Gnome. * No automatic prototype for vim_main2(). * Generating prototypes with Cygwin doesn't work well. * With Gnome when the GUI can't start test_startup hangs. * Sign tests don't cover enough. * MS-Windows: The vimrun program does not support Unicode. * glob2regpat test doesn't test everything on MS-Windows. * All functions are freed on exit, which may hide leaks. * Test alot sometimes fails under valgrind. (Dominique Pelle) * In the GUI the cursor is hidden when redrawing any window, causing flicker. * Cannot get all information about a quickfix list. * The sign column disappears when the last sign is deleted. * Build fails with small features. * Test fails with normal features. * It is not easy to get information about buffers, windows and tabpages. * 'wildignore' always applies to getcompletion(). * Warning for unused function. * The +xpm feature is not sorted properly in :version output. * Test for mappings is old style. * Cannot map . (Stephen Riehm) * On OSX configure mixes up a Python framework and the Unix layout. * Mouse support is not automatically enabled with simple term. * Mark " is not set when closing a window in another tab. (Guraga) * Cannot highlight the "~" lines at the end of a window differently. * A font that uses ligatures messes up the screen display. * It's not easy to find out if a window is a quickfix or location list window. * Test fails without the +sign feature.- Updated to revision 2045, fixes the following problems * Looking up a buffer by number is slow if there are many. * Netbeans file authentication not tested. * GTK: display updating is not done properly and can be slow. * setbufvar() causes a screen redraw. * filter() and map() either require a string or defining a function. * Memory leak when using a function callback.- Updated to revision 2033, fixes the following problems * Memory access error when reading viminfo. (Dominique Pelle) * "gd" hangs in some situations. (Eric Biggers) * Not all quickfix tests are also done with the location lists. * Background is not drawn properly when 'termguicolors' is set. * Coverity warns for unreachable code. * Win32: Cannot compile with XPM feature using VC2015 * The Man plugin doesn't work that well. * File list does not include new XPM libraries. * Viminfo continuation line with wrong length isn't skipped. (Marius Gedminas) * Using Ctrl-A with double-byte encoding may result in garbled text. * Minor problems with the quickfix code. * Quickfix long lines test not executed for buffer. * Ruby test is old style. * Cscope interface does not support finding assignments. * Not all parts of the quickfix code are tested. * No test for what 7.4.1948 fixes. * Using 32-bit Perl with 64-bit time_t causes memory corruption. (Christian Brabandt) * When using CTRL-W f and pressing "q" at the ATTENTION dialog the newly opened window is not closed. * Perl interface has obsolete workaround. * Perl interface preprocessor statements not nicely indented. * Crash when running test_channel.vim on Windows. * Unicode standard 9 was released. * When 'insertmode' is reset while doing completion the popup menu remains even though Vim is in Normal mode. * Two test files for increment/decrement. * Running Win32 Vim in mintty does not work. * The quickfix init function is too big. * When using a job in raw mode to append to a buffer garbage characters are added. * Coverity reports a resource leak. * Falling back from NFA to old regexp engine does not work properly. (fritzophrenic) * Invalid memory access with "\. * When the netbeans channel is closed consuming the buffer may cause a crash. * Using ":insert" in an empty buffer sets the jump mark. (Ingo Karkat) * It is not easy to see unrecognized error lines below the current error position. * On Solaris select() does not work as expected when there is typeahead. * GUI has a problem with some termcodes. * On MS-Windows large files (> 2Gbyte) cause problems. * Number variables are not 64 bits while they could be. * With 64 bit changes don't need three calls to sprintf(). * Large file test does not delete its output. * Getting value of binary option is wrong. (Kent Sibilev) * 'errorformat' is parsed for every call to ":caddexpr". Can't add to two location lists asynchronously. * No testing for Farsi code. * Viminfo file contains duplicate change marks. * farsi.c and arabic.c are included in a strange way. * Not all quickfix features are tested. * Missing changes in VMS build file. * Compiler warns for loss of data. * When copying unrecognized lines for viminfo, end up with useless continuation lines. * When updating viminfo with file marks there is no time order. * filter() and map() only accept a string argument. * Cscope items are not sorted. * glob() does not add a symbolic link when there are no wildcards. * Values for true and false can be confusing. * Not all TRUE and FALSE arguments are tested. * True-false test fails. * GUI: cursor drawn in wrong place if a timer callback causes a screen update. (David Samvelyan) * Capturing the output of a command takes a few commands. * Cannot easily scroll the quickfix window. * When writing buffer lines to a job there is no NL to NUL conversion. * evalcmd() doesn't work recursively. * Evalcmd test fails. * Tiny build fails. (Tony Mechelynck) * Crash when passing number to filter() or map(). * Still cursor flickering when a callback updates the screen. (David Samvelyan) * GUI: cursor displayed in the wrong position. * After using evalcmd() message output is in the wrong position. (Christian Brabandt) * Crash when using tabnext in BufUnload autocmd. (Norio Takagi) * Running the tests leaves a viminfo file behind. * evalcmd() has a confusing name. * Messages test fails. * There is a :cbottom command but no :lbottom command. * It is not easy to get a list of command arguments. * Test for getcompletion() does not pass on all systems. * Using "noinsert" in 'completeopt' breaks redo. * Using "noinsert" in 'completeopt' does not insert match. * When a file gets a name when writing it 'acd' is not effective. (Dan Church) * Warning from MinGW about _WIN32_WINNT redefined. (John Marriott) * When there are many errors adding them to the quickfix list takes a long time. * buf_valid() can be slow when there are many buffers. * When ignoring case utf_fold() may consume a lot of time. * Can't build without +autocmd feature. * Still too many buf_valid() calls. * Warnings from 64 bit compiler. * buflist_findname_stat() may find a dummy buffer. * More buf_valid() calls can be optimized. * The cursor blinking stops or is irregular when receiving date over a channel and writing it in a buffer, and when updating the status. * Reference counting for callbacks isn't right. * Can't build with +eval but without +menu. * cppcheck warns for using index before limits check. * printf() does not work with 64 bit numbers. * ARCH must be set properly when using MinGW. * The list_lbr_utf8 test fails if ~/.vim/syntax/c.vim sets 'textwidth' to a non-zero value. * Build fails with 64 bit MinGW. (Axel Bender) * 'cscopequickfix' option does not accept new value "a".- Updated to revision 1938, fixes the following problems * Updating marks in a quickfix list is very slow when the list is long. * When waiting for a character is interrupted by receiving channel data and the first character of a mapping was typed, the mapping times out. * When receiving channel data 'updatetime' is not respected. * Wrong computation of remaining wait time in RealWaitForChar() * When umask is set to 0177 Vim can't create temp files. * GUI: When channel data is received the cursor blinking is interrupted. * Channel reading very long lines is slow. * balloon eval only gets the window number, not the ID. * Cannot easily get the window ID for a buffer. * Cannot get the window ID for a mouse click. * Cannot use a window ID where a window number is expected. * Invoking mark_adjust() when adding a new line below the last line is pointless. * Various typos, long lines and style mistakes. * User commands don't support modifiers. * GTK 3: cursor blinking doesn't work well. * Using CTRL-] in the help on "{address}." doesn't work. * Win32: the "Disabled" menu items would appear enabled. * No test for collapsing buffers for a channel. Some text is lost. * When writing viminfo merging current history with history in viminfo may drop recent history entries. * Some compilers can't handle a double semicolon. * Collapsing channel buffers and searching for NL does not work properly. * Warnings from 64 bit compiler. * Netbeans uses uninitialzed pointer and freed memory. * Doubled semicolons. * Tests using external command to delete directory. * Recent history lines may be lost when exiting Vim. * No test for using setqflist() on an older quickfix list. * When ":doautocmd" is used modelines are used even when no autocommands were executed. * Executing autocommands while using the signal stack has a high chance of crashing Vim. * The effect of the PopupMenu autocommand isn't directly visible. * No proper test for what 7.4.1906 fixes. * History lines read from viminfo in different encoding than when writing are not converted. * Not enough testing for parsing viminfo lines. * Register contents is not merged when writing viminfo. * Missing test changes. * vim_time() not included when needed. * Ruby 2.4.0 unifies Fixnum and Bignum into Integer. * Command line editing is not tested much. * Missing "void" for functions without argument. * Viminfo does not merge file marks properly. * Possible crash with many history items. * Compiler warning for signed/unsigned. * Overwriting pointer argument. * Inconsistent indenting and weird name. * Can't build without +spell but with +quickfix. * Using both old and new style file mark lines from viminfo. * When writing viminfo the jumplist is not merged with the one in the viminfo file. * Compiler warning about uninitialzed variable. * New style tests not executed with MinGW compiler. * When using the GUI search/replace a second match right after the replacement is skipped. * Off-by-one error in bounds check. * No test for directory stack in quickfix. * When writing viminfo numbered marks were duplicated. - Refresh vim-7.3-filetype_spec.patch- Link to perl directly instead of dlopen'ing it.- vim must require %{?libperl_requires}, if perl is not updated with vim in lockstep, the following error occurs: vim: error while loading shared libraries: libperl.so and the program stops working. (boo#982869)- Updated to revision 1883, fixes the following problems * Python: encoding error with Python 2. * Memory leaks in test49. * Invalid memory access when exiting with EXITFREE defined. * Memory leak in test_matchstrpos. * Setting really_exiting causes memory leaks to be reported. * Appending to the quickfix list while the quickfix window is open is very slow. * When a callback adds a timer the GUI doesn't use it until later. * Comparing functions and partials doesn't work well. * Typing "k" at the hit-enter prompt has no effect. * Whether a job has exited isn't detected until a character is typed. After calling exit_cb the cursor is in the wrong place. * Channel test is flaky. * Appending to a long quickfix list is slow. * Check for line break at end of line wrong. * Cppcheck found 2 incorrect printf formats.- Updated to revision 1862, fixes the following problems * Using a partial for timer_start() may cause a crash. * Compiler warnings with 64 bit compiler. * string() with repeated argument does not give a result usable by eval().- Updated to revision 1859, fixes the following problems * Tests involving Python are flaky. * Ubsan detects a multiplication overflow. * Getting an item from a NULL dict crashes. * Can't build with Strawberry Perl 5.24 (obsoletes perl-5.24.patch) * Still trying to read from channel that is going to be closed. * GUI freezes when using a job. * test_syn_attr fails when using the GUI. * Unix: Cannot run all tests with the GUI. * Crash when job and channel are in the same dict while using partials. * When setting 'termguicolors' the Ignore highlighting doesn't work. * Valgrind reports memory leak for job that is not freed. * When a channel appends to a buffer that is 'nomodifiable' there is an error but appending is done anyway. * When a channel writes to a buffer it doesn't find a buffer by the short name but re-uses it anyway. * Cannot use a function reference for "exit_cb".- Update apparmor.vim (taken from AppArmor 2.10.1) * add support for the "unspec" network keyword- Updated to revision 1842, fixes the following problems * non-antialiased misnamed. * When timer_stop() is called with a string there is no proper error message. * Memory leak in debug commands. * Cannot use an Ex command for 'keywordprg'. * Possible crash when conceal is active. * When splitting and closing a window the status height changes. * When using a partial on a dictionary it always gets bound to that dictionary. * The BufUnload event is triggered twice, when :bunload is used with `bufhidden` set to `unload` or `delete`. * Functions specifically for testing do not sort together. * Cannot get the items stored in a partial. * When using packages an "after" directory cannot be used. * The code to reallocate the buffer used for quickfix is repeated. * get() works for Partial but not for Funcref.- Fix build with perl 5.24 (perl-5.24.patch)- Updated to revision 1829, fixes the following problems * No error when invoking a callback when it's not safe. * May try to access buffer that's already freed. * No message on channel log when buffer was freed.- Updated to revision 1826, fixes the following problems * The screen is not updated if a callback is invoked when closing a channel. * Help completion adds @en to all matches except the first one. * Compiler warnings when sprintf() is a macro. * Removing language from help tags too often. * Redirecting stdout of a channel to "null" doesn't work. * When a job is no longer referenced and does not have an exit callback the process may hang around in defunc state. * When job writes to buffer nothing is written. * Callbacks are invoked when it's not safe.- Updated to revision 1816, fixes the following problems * 'guicolors' is a confusing option name. * Quickfix doesn't handle long lines well, they are split. * GTK3 doesn't handle menu separaters properly. * Can't use Vim as MANPAGER. * Running tests in shadow dir fails. * 'termguicolors' option missing from the options window. * Test_out_close_cb sometimes fails. * Using wrong feature name to check for 'termguicolors'. * Using wrong short option name for 'termguicolors'. * Sending DETACH after a channel was closed isn't useful. * Netbeans channel gets garbage collected. * Memory access error when running test_quickfix. * A channel may be garbage collected while it's still being used by a job. * Looping over a null list throws an error. - Refresh vim-7.4-filetype_mine.patch- Updated to revision 1796, fixes the following problems * Cannot use ch_read() in the close callback. * Leading white space in a job command matters. * Channel could be garbage collected too early. * Color name decoding is implemented several times. * Some character classes may differ between systems.- Updated to revision 1786, fixes the following problems * When using the term truecolor feature, the t_8f and t_8b termcap options are not set by default. * Using negative index in strcharpart(). * Warnings reported by cppcheck. * synIDattr() does not respect 'guicolors'. * strcharpart() does not work properly with some multi-byte characters. * The old regexp engine doesn't handle character classes correctly. * Compiled-in colors do not match rgb.txt.- Updated to revision 1778, fixes the following problems * When using complete() it may set 'modified' even though nothing was inserted. * When using feedkeys() in a timer the inserted characters are not used right away. * Undo options are not together in the options window. * Arguments of setqflist() are not checked properly. * No "closed", "errors" and "encoding" attribute on Python output. * Cannot use true color in the terminal. * Newly added features can escape the sandbox. * When using the term truecolor feature, the t_8f and t_8b termcap options are not set by default.- Updated to revision 1754, fixes the following problems * When a buffer gets updated while in command line mode, the screen may be messed up. * Crash when 'tagstack' is off. (Dominique Pelle) * When adding to the quickfix list the current position is reset. * "noinsert" in 'completeopt' is sometimes ignored * syntax not set when using ":buf" and 'filetype' set manually- Updated to revision 1749, fixes the following problems * Cannot detect a crash in tests when caused by garbagecollect(). * The help for functions require a space after the "(". * The Perl interface cannot use 'print' operator for writing directly in standard IO. * It is not easy to get a character out of a string. * Python: turns partial into simple funcref. * Folds may close when using autocomplete. * Test fails when not using utf-8. * It is not possible to only see part of the message history. It is not possible to clear messages. * Count for ":messages" depends on number of lines. * syn-cchar defined with matchadd() does not appear if there are no other syntax definitions which matches buffer text. * Not testing utf-8 characters. * strgetchar() does not work correctly. * Clang warns for uninitialzed variable. (Michael Jarvis) * Python: Converting a sequence may leak memory. * Memory leak in Perl. * Coverity: missing check for NULL pointer. * "gD" does not find match in first column of first line. * When using GTK 3.20 there are a few warnings.- Updated to revision 1726, fixes the following problems * Crash when calling garbagecollect() after starting a job. * When using try/catch in 'tabline' it is still considered an error and the tabline will be disabled. * Tabline test fails in GUI. * Compiler errors for non-ANSI compilers. * ANSI compiler complains about string length.- Updated to revision 1721, fixes the following problems * Leaking memory when opening a channel fails. * Coverity: not using return value of set_ref_in_item(). * Leaking memory when there is a cycle involving a job and a partial. * Tests fail without the job feature.- Updated to revision 1716, fixes the following problems * When using try/catch in 'statusline' it is still considered an error and the status line will be disabled. * For plugins in packages, plugin authors need to take care of all dependencies. * GTK GUI doesn't work on Wayland. * Non-GUI specific settings in the gvimrc_example file. * Double free when a partial is in a cycle with a list or dict. * 'autochdir' doesn't work for the first file.- Updated to revision 1710, fixes the following problems * feedkeys('i', 'x') gets stuck, waits for a character to be typed. * Building the Perl interface gives compiler warnings. * ":syn reset" clears the effect ":syn iskeyword". (James McCoy) * When using :stopinsert in a silent mapping the "INSERT" message isn't cleared. * Display problems when the 'ambiwidth' and 'emoji' options are not set properly or the terminal doesn't behave as expected. * :packadd does not work the same when used early or late. * Using freed memory when parsing 'printoptions' fails. * Using freed memory with "wincmd p". (Dominique Pelle) * Cannot use empty dictionary key, even though it can be useful. * New regexp engine does not work properly with EBCDIC. * Not all output of an external command is read.- Updated to revision 1691, fixes the following problems * When reading JSON from a channel all readahead is used. * channel_get_all() does multiple allocations. * When writing buffer lines to a pipe Vim may block. * Completion doesn't work well for a variable containing "#". * When help exists in multiple languages, adding @ab while "ab" is the default help language is unnecessary. * The Dvorak support is a bit difficult to install. * The justify plugin has to be copied or sourced to be used. * The editexisting plugin has to be copied or sourced to be used. * The swapmous plugin has to be copied or sourced to be used. * The shellmenu plugin has to be copied or sourced to be used. * A reference to the removed file_select plugin remains. * Coverity: copying value of v_lock without initializing it. * Coverity warns for not checking name length (false positive). * Coverity warns for fixed size buffer length (false positive). * Coverity: no check for NULL. * README text is slightly outdated. * There is no easy way to get all the information about a match. * When running tests $HOME/.viminfo is written. * The channel close_cb option does not work. * MzScheme does not support partial. * Ruby interface has inconsistent coding style. * Can't compile with the conceal feature but without multi-byte. * When switching to a new buffer and an autocommand applies syntax highlighting an ml_get error may occur.- Updated to revision 1665, fixes the following problems * When 'F' is in 'shortmess' the prompt for the encryption key isn't displayed. * When binding a function to a dict the reference count is wrong. * Invoking garbage collection may cause a double free. * Crash when an autocommand changes a quickfix list. * Handling emoji characters as full width has problems with backwards compatibility. * Terminating file name has side effects. * Using string() on a partial that exists in the dictionary it binds results in an error. * When a dict contains a partial it can't be redefined as a function. * Using Python vim.bindeval() on a partial doesn't work. * Using freed memory after setqflist() and ":caddbuffer". * Compiler has a problem copying a string into di_key[]. * The matchit plugin needs to be copied to be used. * Quickfix test fails. * Old style test for fnamemodify(). * Users who loaded matchit.vim manually have to change their startup. * Crash when using expand('%:S') in a buffer without a name. * remote_expr() hangs. * Crash when using partial with a timer. * On Unix in a terminal: channel messages are not handled right away. * A plugin does not know when VimEnter autocommands were already triggered. * has('patch-7.4.1') doesn't work. * No test for special characters in channel eval command. * No test for an invalid Ex command on a channel. * Crash in :cgetexpr. * Crash when calling job_start() with a NULL string.- Updated to revision 1635, fixes the following problems * Quickfix code using memory after being freed. * Using channel timeout instead of request timeout. * Timers don't work on Unix. * Not checking for failed open(). * Memory leak when out of memory. * When starting the GUI fails a swap file is left behind. * Timer with an ":echo" command messes up display. * Although emoji characters are ambiguous width, best is to treat them as full width. * Catching exception that won't be thrown. * Having type() handle a Funcref that is or isn't a partial differently causes problems for existing scripts. * Comparing a function that exists on two dicts is not backwards compatible. * string() doesn't handle a partial. * Contents file is only for Amiga distro. * Compiler warnings for non-virtual destructor. * The versplit feature makes the code uneccessary complicated. * Can't build with small features. * Still can't build with small features. * Still quickfix test in old style. * Build fails with tiny features. * Malformed channel request causes a hang. * When a JSON message is split it isn't decoded. * Starting job with output to buffer changes options in the current buffer. * When 'fileformats' is set in the vimrc it applies to new buffers but not the initial buffer. * Emoji characters are not considered as a kind of word character. * Channel test doesn't work with Python 2.6. * Channel demo doesn't work with Python 2.6. * All Channels share the message ID, it keeps getting bigger. * Can't get info about a channel. * Trying to close file descriptor that isn't open. * Missing changes to structs. * Channel out_cb and err_cb are not tested. * 64-bit Compiler warning. * Handling emoji characters as full width has problems with backwards compatibility. * Unicode table for double width is outdated. * Compiler doesn't understand switch on all enum values. * List of test targets is outdated. * If the help tags file was removed "make install" fails. * Vertical movement after CTRL-A ends up in the wrong column. * Channel test is a bit flaky.- Updated to revision 1591, fixes the following problems * Crash when using function reference. * Using ":call dict.func()" where the function is a partial does not work. * Get E923 when using function(dict.func, [], dict). * Warning for unitinialized variable. * Partial is not recognized everywhere. * Nesting partials doesn't work. * Compiler warnings with 64 bit compiler. * Old style test for quickfix. * Combining dict and args with partial doesn't always work. * Warning for shadowed variable. * The quickfix title is truncated.- Updated to revision 1579, fixes the following problems * Passing cookie to a callback is clumsy. * Dict options with a dash are more difficult to use. * Missing update to proto file. * ":helptags ALL" crashes. * An empty list in function() causes an error. * Crash when assert_equal() runs into a NULL string. * Crash in assert_fails(). * Using CTRL-] in help on option in parentheses doesn't work. * Using old style tests for quickfix. * There is no way to avoid the message when editing a file. * No test for ":help". * Setting 'compatible' in test influences following tests. * Tests get stuck at the more prompt. * ":undo 0" does not work. * Write error of viminfo file is not handled properly. * Cannot pass "dict.Myfunc" around as a partial. * There is no way to invoke a function later or periodically.- Updated to revision 1558, fixes the following problems * Using "ever" for packages is confusing. * Specifying buffer number for channel not implemented yet. * MS-Windows job_start() closes wrong handle. * Compiler warning for unitinialized variable. * MS-Windows channel leaks file descriptor. * Using feedkeys() with an empty string disregards 'x' option. * Compiler warning for shadowed variable. * The feedkeys test has a one second delay. * Cannot re-use a channel for another job. * Too many feature flags for pipes, jobs and channels. * Selection with the mouse does not work in command line mode. * Too much code in eval.c. * Channel test is a bit flaky. * Missing job_info(). * job_start() with a list is not tested. * Channel log methods are not tested. * On Win32 escaping the command does not work properly. * GTK3: horizontal cursor movement in Visual selection not good. * Sticky type checking is more annoying than useful. * Getting a cterm highlight attribute that is not set results in the string "-1". * Two tests fail. * Cannot load packages early. * Cannot generate help tags in all doc directories. * ":colorscheme" does not use 'packpath'. * ":runtime" does not use 'packpath'. * Completion for :colorscheme does not use 'packpath'. * List of test targets incomplete. * "make install" changes the help tags file, causing it to differ from the repository. * Windows cannot be identified. * It is not easy to find out what windows display a buffer.- Switch back to GTK+2 because GTK+3 interface seems to be slower.- Updated to revision 1525, fixes the following problems * Statusline highlighting is sometimes wrong. * "J" fails if there are not enough lines. * Channel output to file not implemented yet. * Channel test is a bit flaky. * Channel with disconnected in/out/err is not supported. * Channel test: Waiting for a file to appear doesn't work. * Cannot write channel err to a buffer. * On a high resolution screen the toolbar icons are too small.- Updated to revision 1510, fixes the following problems * Crash when starting a job fails. * Keeping both a variable for a job and the channel it refers to is a hassle. * Channel test fails on AppVeyor.- Updated to revision 1506, fixes the following problems * No error message when :packadd does not find anything. * Garbage collection with an open channel is not tested. * Writing last-but-one line of buffer to a channel isn't implemented yet. * Crash when using ch_getjob(). * No test for reading last-but-one line. * When channel log is enabled get too many "looking for messages" log entries. * Job cannot read from a file.- Updated to revision 1498, fixes the following problems * ":loadplugin" is not optimal, some people find it confusing. * Not using key when result from hangul_string_convert() is NULL. * "inline" is not supported by old MSVC. * Compiler warning for unused function. * Visual-block shift breaks multi-byte characters. * No command line completion for ":packadd". * Wrong callback invoked for zero-id messages. * clr_history() does not work properly. * Crash when built with GUI but it's not active. * Cursor drawing problem with GTK 3. * Error for locked item when using json_decode().- Updated to revision 1485, fixes the following problems * When using hangulinput with utf-8 a CSI character is misintepreted. * Function arguments marked as unused while they are not. * Test_reltime is flaky, it depends on timing. * ":loadplugin" doesn't take care of ftdetect files. * No test for ":loadplugin". * Cannot add a pack direcory without loading a plugin. * "timeout" option not supported on ch_eval*(). * A one-time callback is not used for a raw channel. * Channel "err-io" value "out" is not supported. * Job input from buffer is not implemented.- Updated to revision 1474, fixes the following problems * Sort test doesn't test with "1" argument. * Channel test sometimes fails, especially on OS/X. * Coverity reports missing restore. * Missing out-of-memory check. And Coverity warning. * Can't build without the autocommand feature. * Compiler warnings without the float feature.- Updated to revision 1467, fixes the following problems * Error when reading fails uses wrong errno. Keeping channel open after job stops results in test failing. * The "out-io" option for jobs is not implemented yet. * When encoding JSON, turning NaN and Infinity into null without giving an error is not useful. * JSON encoding doesn't handle surrogate pair. * Can't get buffer number of a channel. * Using empty name instead of no name for channel buffer. * Memory corruption when 'encoding' is not utf-8. * Crash when using json_decode(). * Memory leak when using ch_read(). * JSON tests fail if 'encoding' is not utf-8. * Json encoding still fails when encoding is not utf-8. * Vim hangs when a channel has a callback but isn't referenced. * Test 87 fails with Python 3.5. * Opening a channel with select() is not done properly. * When a JSON channel has a callback it may never be cleared. * When the argument of sort() is zero or empty it fails.- Updated to revision 1421, fixes the following problems * When calling ch_close() the close callback is invoked, even though the docs say it isn't. * Using "u_char" intead of "char_u", which doesn't work everywhere. * Tests slowed down because of the "not a terminal" warning. * May free a channel when a callback may need to be invoked.- Disable sniff support, its unmaintained.- Updated to revision 1410, fixes the following problems * The close-cb option is not implemented yet. * Perl eval doesn't work properly on 64-bit big-endian machine. * Having 'autochdir' set during startup and using diff mode doesn't work. * GTK 3 is not supported. * Completion menu flickers. * Leaking memory in cs_print_tags_priv(). * json_encode() does not handle NaN and inf properly. * Leaking memory in cscope interface.- Updated to revision 1397, fixes the following problems * When the Job exit callback is invoked, the job may be freed too soon. * Starting a job hangs in the GUI. * Can't sort inside a sort function.- Drop vim-7.1.314-CVE-2009-0316-debian.patch, Python 2.7 has the appropriate fix.- Updated to revision 1385, fixes the following problems * Job and channel options parsing is scattered. * Channel test ch_sendexpr() times out. * Can't remove a callback with ch_setoptions(). * Channels don't have a queue for stderr. * X11 GUI callbacks don't specify the part of the channel. * Channel read implementation is incomplete. * Calling a Vim function over a channel requires turning the arguments into a string. * ch_setoptions() cannot set all options. * Can't change job settings after it started. * The job exit callback is not implemented. * Can't get the job of a channel. * It is not easy to use a set of plugins and their dependencies.- Updated to revision 1353, fixes the following problems * Compiler warnings in build with -O2. * When there is any error Vim will use a non-zero exit code. * When the test server fails to start Vim hangs. * When the port isn't opened yet when ch_open() is called it may fail instead of waiting for the specified time. * The test script lists all functions before executing them.- Updated to revision 1345, fixes the following problems * Crash when using channel that failed to open. * Crash when closing the channel in a callback. * Channel test fails on non-darwin builds. * Channel NL mode is not supported yet. * It's difficult to add more arguments to ch_sendraw() and ch_sendexpr(). * Can't compile with +job but without +channel.- Updated to revision 1328, fixes the following problems * Cursor changes column with up motion when the matchparen plugin saves and restores the cursor position. (Martin Kunev) * "\%1l^#.*" does not match on a line starting with "#". * Channel with pipes doesn't work in GUI. * Crash when unletting the variable that holds the channel in a callback function. * Can't compile with +job but without +channel.- Updated to revision 1294, fixes the following problems * copy() and deepcopy() fail with special variables. * Encoding {'key':} to JSON doesn't give an error. * assert_false(v:false) reports an error. * When jsonencode() fails it still returns something. * jsonencode() is not producing strict JSON. * Crash when evaluating the pattern of ":catch" causes an error. * The job feature isn't available on MS-Windows. * ch_open() with a timeout doesn't work correctly. * ch_sendexpr() does not use JS encoding. - Remove vim-7.3-diff_check.patch- Updated to revision 1194, fixes the following problems * New lines in the viminfo file are dropped. * Old style tests for the argument list. * Generated function prototypes still have __ARGS(). * Wrong argument to assert_exception() causes a crash. * Illegal memory access when using :copen and :cclose. * When running gvim in the foreground some icons are missing. * Recognizing does not work when the language is Turkish. * Using searchpair() with a skip expression that uses syntax highlighting sometimes doesn't work. * Cannot define keyword characters for a syntax file. * Can't sort on floating point numbers. * Default features are conservative. * Conflict for "chartab". * Using the local value of 'errorformat' causes more problems than it solves. * 'langmap' applies to the first character typed in Select mode. * Langmap test fails with normal build. * Autocommands triggered by quickfix cannot always get the current title value. * No support for JSON. * Build with normal features fails. * Coverity warns for NULL pointer and ignoring return value. * type() does not work for v:true, v:none, etc. * Automatically generated function prototypes use __ARGS. * No error for jsondecode('"'). * ":argadd" without argument is supposed to add the current buffer name to the arglist. * Missing error number in MzScheme. * Expressions "0 + v:true" and "'' . v:true" cause an error. * No tests for "is" and "isnot" with the new variables. * This doesn't give the right result: eval(string(v:true)). * No test for new behavior of v:true et al. * The +channel feature is not in :version output. * empty() doesn't work for the new special variables. * test_writefile and test_viml do not delete the tempfile. * Crash with invalid argument to glob2regpat(). * free_tv() can't handle special variables. * Error messages for security context are hard to translate. * The channel feature isn't working yet. * Can't build with FEAT_EVAL but without FEAT_MBYTE. * Compiler warning for not using return value of fwrite().- Updated to revision 1130, fixes the following problems * Repeating CTRL-A doesn't work. * No tests for :hardcopy and related options. * When making a change while need_wait_return is set there is a two second delay. * With 'rightleft' and concealing the cursor may move to the wrong position. * Vim can create a directory but not delete it. * When using ":next" with an illegal file name no error is reported. * Using {ns} in variable name does not work. (lilydjwg) * delete() does not work well with symbolic links. * delete(x, 'rf') does not delete files starting with a dot. * No longer get "." and ".." in directory list. * argidx() has a wrong value after ":%argdelete". (Yegappan Lakshmanan) * delete(x, 'rf') fails if a directory is empty. (Lcd) * Using ":argadd" when there are no arguments results in the second argument to be the current one. (Yegappan Lakshmanan) * There is no perleval(). * Can only get the directory of the current window. * Python None value can't be converted to a Vim value. * Memory leak in :vimgrep.- Updated to revision 1087, fixes the following problems * Wrong way to check for unletting internal variables. * The Tcl interface can't be loaded dynamically on Unix. * Crash when using an invalid command. * CTRL-A does not work well in right-left mode. * Using "." to repeat CTRL-A in Visual mode increments the wrong numbers. * The CTRL-A and CTRL-X commands do not update the '[ and '] marks. * Crash with an extremely long buffer name. * CTRL-A and CTRL-X work badly with blockwise visual selection- Updated to revision 1066, fixes the following problems * Segfault when unletting "count". * Illegal memory access with weird syntax command. (Dominique Pelle) * Typos in the :options window. * Compiler warning for ignoring return value of fwrite(). * When a spell file has single letter compounding creating suggestions takes an awful long time.- Updated to revision 1046, fixes the following problems * The fix in patch 7.3.192 is not tested. * When a symbolic link points to a file in the root directory, the swapfile is not correct. * Vim overwrites the value of $PYTHONHOME. * The local value of 'errorformat' is not used for ":lexpr" and ":cexpr". * The column is not restored properly when the matchparen plugin is used in Insert mode and the cursor is after the end of the line. * When there is a backslash in an option ":set -=" doesn't work. * An Ex range gets adjusted for folded lines even when the range is not using line numbers. * Using "q!" when there is a modified hidden buffer does not unload the current buffer, resulting in the need to abandon it again. * g-CTRL-G shows the word count, but there is no way to get the word count in a script.- Updated to revision 1004, fixes the following problems * searchpos() always starts searching in the first column, which is not what some people expect. (Brett Stahlman) * Leaking memory when hash_add() fails. Coverity error 99126.- Updated to revision 979, fixes the following problems * When pasting on the command line line breaks result in literal characters. This makes pasting a long file name difficult. * When using :diffsplit the cursor jumps to the first line. * Using ":sort" on a very big file sometimes causes text to be corrupted. (John Beckett) * test_cdo fails when using another language than English. * When changing the crypt key the blocks read from disk are not decrypted.- Updated to revision 972, fixes the following problems * Test 87 doesn't work in a shadow directory. * Configure doesn't work with a space in a path. * test86 and test87 are flaky in Appveyor. * Rare crash in getvcol(). (Timo Mihaljov) * The asin() function can't be used. * Memory leak when there is an error in setting an option.- Updated to revision 963, fixes the following problems * Crash when dragging with the mouse. * Segfault reading unitialized memory. * X11 and GTK have moure mouse buttons than Vim supports. * Memory leak when encountering a syntax error. * vt52 terminal codes are not correct. * There is no way to ignore case only for tag searches. * test_tagcase breaks for small builds. * Writing tests for Vim script is hard. * New style testing is incomplete. * Missing changes in source file. * Test_listchars fails with MingW. (Michael Soyka) * Can't build when the insert_expand feature is disabled. * When using 'colorcolumn' and there is a sign with a fullwidth character the highlighting is wrong. (Andrew Stewart) * v:errors is not initialized. * Sorting number strings does not work as expected. (Luc Hermitte) * 'lispwords' is tested in the old way. * When a test script navigates to another buffer the .res file is created with the wrong name. * When using Lua there may be a crash. (issue #468) * Vim doesn't recognize .pl6 and .pod6 files. * A few more file name extensions not recognized. * Test_tagcase fails when using another language than English. * Vim checks if the directory "$TMPDIR" exists. * When setting 'term' the clipboard ownership is lost. * Test107 fails in some circunstances. * Cannot run the tests with gvim. Cannot run individual new stests. * test_listlbr_utf8 sometimes fails.- Updated to revision 935, fixes the following problems * Test 94 fails on some systems. * test_utf8 has confusing dummy command. * Crash when using longest completion match.- Updated to revision 930, fixes the following problems * When a BufLeave autocommand changes folding in a way it syncs undo, undo can be corrupted. * Python interface can produce error "vim.message' object has no attribute 'isatty'". * Libraries for dynamically loading interfaces can only be defined at compile time. * Compiler complains about type punned pointer. * t_Ce and t_Cs are documented but not supported. (Hirohito Higashi) * Wrong indenting for C++ constructor. * No utf-8 support for the hangul input feature. * New compiler warning: logical-not-parentheses * When removing from 'path' and then adding, a comma may go missing. (Malcolm Rowe) * When running out of memory while copying a dict memory may be freed twice. (ZyX) * Compiler warning for comparing signed and unsigned. * A digit in an option name has problems. * The dll options are not in the options window. * The rubydll option is not in the options window. * Missing proto file update. (Randall W. Morris) * Leaking memory with ":helpt {dir-not-exists}". * Prototypes not always generated. * User may yank or put using the register being recorded in. * Completing the longest match doesn't work properly with multi-byte characters. * Ruby crashes when there is a runtime error. * A clientserver message interrupts handling keys of a mapping. * "gv" after paste selects one character less if 'selection' is "exclusive". * MS-Windows: Most users appear not to like the window border. - Refresh vim-7.3-sh_is_bash.patch- Updated to revision 898, fixes the following problems * Build failure when using dynamic python but not python3. * Indentation of array initializer is wrong. * On MS-Windows the iconv DLL may have a different name. * C indenting is wrong below a "case (foo):" * vimrun.exe is picky about the number of spaces before -s. * Custom command line completion does not work for a command containing digits. * Editing a URL, which netrw should handle, doesn't work. * Freeze and crash when there is a sleep in a remote command. (Karl Yngve Lervåg) * The 'fixendofline' option is set on with ":edit".- Updated to revision 889, fixes the following problems * Crash when changing the 'tags' option from a remote command. (Benjamin Fritz) * 'smarttab' is also effective when 'paste' is enabled. (Alexander Monakov) * May get into an invalid state when using getchar() in an expression mapping. * Vim leaks memory, when 'wildignore' filters out all matches. * Compiler warning for unused variable. (Tony Mechelynck) * Not obvious how to contribute. * ":find" sometimes fails. (Excanoe) * Coverity error for clearing only one byte of struct. * Can't see line numbers in nested function calls. * Test 49 fails. * When leaving the command line window with CTRL-C while a completion menu is displayed the menu isn't removed. * Block-mode replace works characterwise instead of blockwise after column 147. (Issue #422) * When doing an upwards search without wildcards the search fails if the initial directory doesn't exist. * Using uninitialized memory for regexp with back reference. (Dominique Pelle) * The OptionSet autocommands are not triggered from setwinvar(). * Triggering OptionSet from setwinvar() isn't tested.- Updated apparmor.vim (taken from AppArmor 2.10.0) * add support for the "ib" and "mpls" network keywords- Updated to revision 865, fixes the following problems * GTK: font glitches for combining characters * "zt" still doesn't work well with filler lines. (Gary Johnson) * Dragging the current tab with the mouse doesn't work properly. * It's a bit clumsy to execute a command on a list of matches. * Vim doesn't recognize all htmldjango files. * Filetype detection is outdated. * pango_shape_full() is not always available. * Still problems with pango_shape_full() not available. * plines_nofill() used without the diff feature.- Updated to revision 854, fixes the following problems * When '#' is in 'isident' the is# comparator doesn't work. * Compiler warning for possible loss of data. * "vi)d" may leave a character behind. * CTRL-A on hex number in Visual block mode is incorrect. * Moving the cursor in Insert mode starts new undo sequence. * does not show up. * Saving and restoring the console buffer does not work properly. * "zt" in diff mode does not always work properly. (Gary Johnson) * Missing information about runtime files.- Updated to revision 843, fixes the following problems * Xxd doesn't have a license notice. * The ruler shows "Bot" even when there are only filler lines missing. (Gary Johnson) * CTRL-A in Visual mode doesn't work properly with "alpha" in 'nrformat'. * After CTRL-V CTRL-A mode isn't updated. (Hirohito Higashi) * With a sequence of commands using buffers in diff mode E749 is given. (itchyny) * Invalid memory access when using "exe 'sc'". * Gcc sanitizer complains about using a NULL pointer to memmove(). * It is not possible to save and restore character search state. * Illegal memory access with "sy match a fold". * Invalid memory access when doing ":call g:". * Invalid memory access when doing ":fun X(". * Invalid memory access in file_pat_to_reg_pat(). * 'linebreak' breaks c% if the last Visual selection was block. (Chris Morganiser, Issue 389) * Invalid memory access in file_pat_to_reg_pat. * Cursor moves after CTRL-A on alphabetic character. * Invalid memory access for ":syn keyword x a[". * Crash when using "syn keyword x c". (Dominique Pelle) * Crash when clicking in beval balloon. (Travis Lebsock) * Resetting 'encoding' when doing ":set all&" causes problems. (Bjorn Linse) Display is not updated. * When expanding `=expr` on the command line and encountering an error, the command is executed anyway. * $HOME in `=$HOME . '/.vimrc'` is expanded too early. * More side effects of ":set all&" are missing. (Björn Linse) * gettabvar() doesn't work after Vim start. (Szymon Wrozynski) * Comparing utf-8 sequences does not handle different byte sizes correctly. * Can't compile without the crypt feature. (John Marriott) - Refresh vim-7.3-diff_check.patch- Updated to revision 803, fixes the following problems * Repeating a change in Visual mode does not work as expected. (Urtica Dioica) * Accessing memory before an allocated block. * Using freed memory when triggering CmdUndefined autocommands. * Test for ":diffoff" doesn't catch all potential problems. * Using "A" in Visual mode while 'linebreak' is set is not tested. * C indent does not support C11 raw strings. (Mark Lodato)- Updated to revision 797, fixes the following problems * Using freed memory and crash. (Dominique Pellej) * Test fails when the autochdir feature is not available. Test output contains the test script. * The buffer list can be very long. * Can only conceal text by defining syntax items. * Can't specify when not to ring the bell. * The 'fixeol' option is not copied to a new window. * Warning from 64 bit compiler. * Crash when using more lines for the command line than 'maxcombine'.- Updated to revision 788, fixes the following problems * CTRL-A and CTRL-X in Visual mode do not always work well. * :diffoff only works properly once. * Behavior of :diffoff is not tested. * Background color response with transparency is not ignored. * Search does not handle multi-byte character at the start position correctly. * 'langmap' is used in command-line mode when checking for mappings. Issue 376. * When using the CompleteDone autocommand event it's difficult to get to the completed items. * It is not possible to avoid using the first item of completion. * Equivalence class for 'd' does not work correctly. * Coverity warns for uninitialized variable. * Using CTRL-A in a line without a number moves the cursor. May cause a crash when at the start of the line. (Urtica Dioica) * Compiler complains about uninitialized variable and clobbered variables. * line2byte() returns one less when 'bin' and 'noeol' are set. * Still a few problems with CTRL-A and CTRL-X in Visual mode. * copy_chars() and copy_spaces() are inefficient. * Using both "noinsert" and "noselect" in 'completeopt' does not work properly. * On some systems automatically adding the missing EOL causes problems. Setting 'binary' has too many side effects. * It is not possible for a plugin to adjust to a changed setting. * snprintf() isn't available everywhere.- Updated to revision 763, fixes the following problems * Appending in Visual mode with 'linebreak' set does not work properly. Also when 'selection' is "exclusive". (Ingo Karkat) * Using CTRL-A in Visual mode does not work well. (Gary Johnson) * It is not easy to count the number of characters. * Cannot detect the background color of a terminal. * When 'conceallevel' is 1 and quitting the command-line window with CTRL-C the first character ':' is erased. * Spelling mistakes are not displayed after ":syn spell". * The request-background termcode implementation is incomplete. * Comment for may_req_bg_color() is wrong. (Christ van Willegen)- Updated to revision 752, fixes the following problems * When setting the crypt key and using a swap file, text may be encrypted twice or unencrypted text remains in the swap file. * The tab menu shows "Close tab" even when it doesn't work. * The cursor line is not always updated for the "O" command. * ml_get error when using "p" in a Visual selection in the last line. * Wrong argument for sizeof(). * In a string "\U" only takes 4 digits, while after CTRL-V U eight digits can be used. * ":1quit" works like ":.quit". (Bohr Shaw) * When using += with ":set" a trailing comma is not recognized. (Issue 365) * Cannot specify a vertical split when loading a buffer for a quickfix command. * "p" in Visual mode causes an unexpected line split. * No tests for Ruby and Perl. * The entries added by matchaddpos() are returned by getmatches() but can't be set with setmatches(). (Lcd) * ":[count]tag" is not always working. (cs86661) * ":cnext" may jump to the wrong column when setting 'virtualedit=all' * For some options two consecutive commas are OK. (Nikolay Pavlov) * It is not obvious how to enable the address sanitizer. * Unicode 8.0 not supported.- Make Perl support dynamic bsc#804070- Updated to revision 729, fixes the following problems * Illegal memory access when there are illegal bytes. * ":let list += list" can change a locked list. * Autocommands triggered by quickfix cannot get the current title value. * Overflow when adding MAXCOL to a pointer. * When 'list' is set Visual mode does not highlight anything in empty lines. (mgaleski) * 0x202f is not recognized as a non-breaking space character. * For indenting, finding the C++ baseclass can be slow. * ":call setreg('"', [])" reports an internal error. * Occasional crash with 'list' set.- Updated to revision 712, fixes the following problems * Out-of-bounds read, dectected by Coverity. * Not freeing memory when encountering an error. * The filename used for ":profile" must be given literally. * Various problems with locked and fixed lists and dictionaries. * E315 when trying to delete a fold. (Yutao Yuan) * Fold can't be opened after ":move". (Ein Brown) * Compiler warning for using uninitialized variable. (Yasuhiro Matsumoto) * Joining an empty list does uneccessary work. * Compiler warning for start_dir unused when building unittests. * Searching for a character matches an illegal byte and causes invalid memory access. (Dominique Pelle) * Can't build with Ruby 2.2. * Window drawn wrong when 'laststatus' is zero and there is a command-line window. (Yclept Nemo) * Undo files can have their executable bit set. * gettext() is called too often. * ":tabmove" does not work as documented. * It is not possible to make spaces visibible in list mode.- Updated to revision 694, fixes the following problems * When starting several Vim instances in diff mode, the temp files used may not be unique. (Issue 353) * When there are illegal utf-8 characters the old regexp engine may go past the end of a string. * "zr" and "zm" do not take a count. * There is no way to use a different in Replace mode for a terminal. * When "$" is in 'cpo' the popup menu isn't undrawn correctly. (Issue 166) * Memory access errors when changing indent in Ex mode. Also missing redraw when using CTRL-U. (Knil Ino) * Can't build with MzScheme. * Session file is not correct when there are multiple tab pages. * Running tests changes the .viminfo file.- Updated to revision 683, fixes the following problems * When using --remote the directory may end up being wrong. * CTRL-W in Insert mode does not work well for multi-byte characters. * MS-Windows: When Vim is minimized the window height is computed incorrectly. * The search highlighting and match highlighting replaces the cursorline highlighting, this doesn't look good. * Typo in the vimtutor command.- Updated to revision 676, fixes the following problems * When 'ruler' is set the preferred column is reset. (Issue 339) * Using freed memory when g:colors_name is changed in the colors script. (oni-link) * Using "0 CTRL-D" in Insert mode may have CursorHoldI interfere. (Gary Johnson) * When 'M' is in the 'cpo' option then selecting a text object in parenthesis does not work correctly. * When using netbeans a buffer is not found in another tab. * When 'compatible' is reset 'numberwidth' is set to 4, but the effect doesn't show until a change is made. * 'linebreak' does not work properly with multi-byte characters. * There is a chance that Vim may lock up. * 'colorcolumn' isn't drawn in a closed fold while 'cursorcolumn' is. (Carlos Pita) * Can't use a glob pattern as a regexp pattern. * When netbeans is active the sign column always shows up. * Using 'cindent' for Javascript is less than perfect. * Warning for shadowing a variable. * When completing a shell command, directories in the current directory are not listed. * The first syntax entry gets sequence number zero, which doesn't work. (Clinton McKay) * Missing changes in one file. * When a FileReadPost autocommand moves the cursor inside a line it gets moved back. - Refresh vim73-no-static-libpython.patch- Updated to revision 658, fixes the following problems * The tabline menu was using ":999tabnew" which is now invalid. * When using "gf" escaped spaces are not handled. * Stratus VOS doesn't have sync(). * When splitting the window in a BufAdd autocommand while still in the first, empty buffer the window count is wrong. * ":bufdo" may start at a deleted buffer. * Compiler complains about ignoring return value of fwrite(). (Michael Jarvis) * Configure check may fail because the dl library is not used. * Can't match "%>80v" properly for multi-byte characters. * Xxd lacks a few features. * Insert mode completion with complete() may have CTRL-L work like CTRL-P. * glob() and globpath() cannot include links to non-existing files. (Charles Campbell) * Text deleted by "dit" depends on indent of closing tag. (Jan Parthey) * Missing changes for glob() in one file. * Compiler warnings for pointer mismatch. * 'formatexpr' is evaluated too often.- Updated to revision 640, fixes the following problems * When using Insert mode completion combined with autocommands the redo command may not work. * The default conceal character is documented to be a space but it's initially a dash. (Christian Brabandt) * 7.4.592 breaks the netrw plugin, because the autocommands are skipped. * Marks are not restored after redo + undo. * If no NL or CR is found in the first block of a file then the 'fileformat' may be set to "mac". (Issue 77) * A search with end offset gets stuck at end of file. (Gary Johnson) * Incorrectly read the number of buffer for which an autocommand should be registered. * Can't build with Lua 5.3 on Windows. * Combination of linebreak and conceal doesn't work well. * After deleting characters in Insert mode such that lines are joined undo does not work properly. (issue 324)- Updated to revision 629, fixes the following problems * For complicated list and dict use the garbage collector can run out of stack space. * Syntax error. * The NFA engine does not implement the 'redrawtime' time limit. * Vim hangs when freeing a lot of objects. * Wrong ":argdo" range does not cause an error. * luaV_setref() is missing a return statement. (Ozaki Kiichi) * luaV_setref() not returning the correct value. * Compiler warning for unitinialized variable. (Tony Mechelynck) * Returning 1 in the wrong function. (Raymond Ko) * Compiler warning for unused argument. * Crash with pattern: \(\)\{80000} (Dominique Pelle) * May leak memory or crash when vim_realloc() returns NULL. * Possible NULL pointer dereference. * The last screen cell is not updated. * Compiler warning for variable might be clobbered by longjmp. * Coverity warning for Out-of-bounds read. - Remove vim-speedup-gc.patch, fixed upstream- Updated to revision 608, fixes the following problems * Compiler warnings for unitinialized variables. (John Little) * Can't match "%>80v" properly. (Axel Bender) * Range for :bdelete does not work. (Ronald Schild) * Parallel building of the documentation html files is not reliable. * Conceal does not work properly with 'linebreak'. (cs86661) * ":0argedit foo" puts the new argument in the second place instead of the first. * Using ctrl_x_mode as if it contains flags. * test_listlbr_utf8 fails when the conceal feature is not available. * When doing ":e foobar" when already editing "foobar" and 'buftype' is "nofile" the buffer is cleared. (Xavier de Gaye) * Crash when searching for "x\{0,90000}". (Dominique Pelle) * Using a block delete while 'breakindent' is set does not work properly. * The test_command_count test fails when using Japanese. * Tiny build doesn't compile. (Ike Devolder) * Cannot change the result of systemlist(). * Out-of-memory error. * Memory wasted in struct because of aligning. * It is not possible to have feedkeys() insert characters. * ":set" does not accept hex numbers as documented. * 'foldcolumn' may be set such that it fills the whole window, not leaving space for text. * Running tests changes viminfo. * The # register is not writable, it cannot be restored after jumping around. * May crash when using a small window. * Compiler warnings for unused variables.- Add vim-speedup-gc.patch to improve garbage collection performance. Based on https://github.com/neovim/neovim/pull/1761 (boo#899747)- Modify vim-7.3-filetype_changes.patch to expand tabs when editing * .changes files (bnc#900839)- Update suse.vimrc to stop remembering file positions for git commit cases. This fixes bnc#538369 and based on msys commits 1ef258e and 65ffc90.- Updated to revision 580, fixes the following problems * Ex range handling is wrong for buffer-local user commands. * Segfault with wide screen and error in 'rulerformat'. (Ingo Karkat) * No test for replacing on a tab in Virtual replace mode. * FEAT_OSFILETYPE is used even though it's never defined. * Ranges for arguments, buffers, tabs, etc. are not checked to be valid but limited to the maximum. This can cause the wrong thing to happen. * :argdo, :bufdo, :windo and :tabdo don't take a range. * Non-ascii vertical separater characters are always redrawn. * Giving an error for ":0wincmd w" is a problem for some plugins. * Having CTRL-C interrupt or not does not check the mode of the mapping. (Ingo Karkat) * Building with dynamic library does not work for Ruby 2.2.0 * Can't build with tiny features. (Ike Devolder) * Address type of :wincmd depends on the argument. * Mapping CTRL-C in Visual mode doesn't work. (Ingo Karkat) * No error for eval('$'). * Unicode character properties are outdated. * Redrawing problem with 'relativenumber' and 'linebreak'. * Matching with a virtual column has a lot of overhead on very long lines. (Issue 310) * Using getcurpos() after "$" in an empty line returns a negative number. * Wrong cursor positioning when 'linebreak' is set and lines wrap. * ":52wincmd v" still gives an invalid range error. (Charles Campbell)- Updated to revision 560, fixes the following problems * Tests fail with small features plus Python. * Crash when computing buffer count. Problem with range for user commands. Line range wrong in Visual area. * Cannot build with tiny and small features. (Taro Muraoka) * Crash when doing a range assign. * Using a range for window and buffer commands has a few problems. Cannot specify the type of range for a user command. * Since patch 7.4.232 "1,3s/\n//" joins two lines instead of three. (Eliseo Martínez) Issue 287 * Warnings for unused arguments when compiling with a combination of features. * Highlighting for multi-line matches is not correct. * Repeated use of vim_snprintf() with a number. * Using "vit" does not select a multi-byte character at the end correctly. * Function name not recognized correctly when inside a function. * curs_rows() function is always called with the second argument false. * "ygn" may yank too much. (Fritzophrenic) Issue 295. * Langmap applies to Insert mode expression mappings. * Various small issues. * Missing part of patch 7.4.519. * test_close_count may fail for some combination of features. * Failed commands in Python interface not handled correctly. * One more small issue. * When the X server restarts Vim may get stuck. * Appending a block in the middle of a tab does not work correctly when virtualedit is set. * Memory leak using :wviminfo. Issue 296.- use SUSE LINUX GmbH everywhere- Updated to revision 537, fixes the following problems * With a wrapping line the cursor may not end up in the right place. (Nazri Ramliy) * Using status line height in width computations. * Crash when using syntax highlighting. * Sun PCK locale is not recognzed. * When using "vep" a mark is moved to the next line. (Maxi Padulo, Issue 283) * Specifying wrong buffer size for GetLongPathName(). * When the X11 server is stopped and restarted, while Vim is kept in the background, copy/paste no longer works. (Issue 203) * When using ":ownsyntax" spell checking is messed up. (Issue 78) * map() leaks memory when there is an error in the expression. * matchstr() fails on long text. Daniel Hahler) * Still confusing regexp failure and NFA_TOO_EXPENSIVE. * Crash when using matchadd() (Yasuhiro Matsumoto) * No test for what 7.4.517 fixes. * Many commands take a count or range that is not using line numbers. * Comments about parsing an Ex command are wrong. * When using 'incsearch' "2/pattern/e" highlights the first match. * ":hardcopy" leaks memory in case of errors. * Warnings when compiling if_ruby.c. * Can't build with tiny features. * Test 63 fails when using a black&white terminal. * Value of v:hlsearch reflects an internal variable.- Updated to revision 516, fixes the following problems * When generating ja.sjis.po the header is not correctly adjusted. * Users are not aware their encryption is weak. * "-fwrapv" argument breaks use of cproto. * Generating proto for if_ruby.c uses type not defined elsewhere. * Crash because reference count is wrong for list returned by getreg(). * Memory access error. (Dominique Pelle) * In a help buffer the global 'foldmethod' is used. (Paul Marshall) * Completing a function name containing a # does not work. Issue 253.- Updated to revision 507, fixes the following problems * Setting the local value of 'backupcopy' empty gives an error. (Peter Mattern) * Compiler warning. * Crash when expanding a very long string. * CTRL-W } does not open preview window. (Erik Falor) * 'linebreak' does not work well together with Visual mode. * Issue 26: CTRL-C does not interrupt after it was mapped and then unmapped. * The "precedes" entry in 'listchar' will be drawn when 'showbreak is set and list is not. * Cursor movement is incorrect when there is a number column/sign/fold column and 'sbr' is displayed. * Can't compile on a system where Xutf8SetWMProperties() is not in the X11 library. Issue 265. * When using ":%diffput" and the other file is empty an extra empty line remains. * Using byte length instead of character length for 'showbreak'. * When 'balloonexpr' results in a list, the text has a trailing newline. (Lcd) * A 0x80 byte is not handled correctly in abbreviations. * Abbreviations don't work. (Toothpik) * Check for writing to a yank register is wrong. * ":sign jump" may use another window even though the file is already edited in the current window. * test_mapping fails for some people. * Cursor movement still wrong when 'lbr' is set and there is a number column. (Hirohito Higashi) * Cannot specify the buffer to use for "do" and "dp", making them useless for three-way diff. * When winrestview() has a negative "topline" value there are display errors. * In Insert mode, after inserting a newline that inserts a comment leader, CTRL-O moves to the right. (ZyX) Issue 57. * A TextChanged autocommand is triggered when saving a file. (William Gardner) * Cursor shape is wrong after a CompleteDone autocommand. * XPM isn't used correctly in the Cygwin Makefile. * With some regexp patterns the NFA engine uses many states and becomes very slow. To the user it looks like Vim freezes. * substitute() can be slow with long strings. * Test 72 still fails once in a while. * Typo in file pattern. * Language mapping also applies to mapped characters. * Cannot append a list of lines to a file.- Updated apparmor.vim (taken from AppArmor 2.9.0) * add support for 'hat' keyword * fix highlighting of comments in alias and link rulesvim-plugin-matchitvim-plugin-nginxh03-ch2a 1736502253  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNORSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnorstuvwxyz{|}~   9.1.0836-150500.20.18.11.13.29.1.0836 1.13.29.1.0836  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcccdddccccceeccfffffcccgggghijkljmnmoompjqrrqsjtujvvvvvvwwwxxxxvyyvzvv{j|}|~jjjjjjREADME.txtRstFold.vimada.vimadacomplete.vimbitbake.vimcargocargo.vimquickfix.vimccomplete.vimclojurecomplete.vimcontext.vimcontextcomplete.vimcsscomplete.vimdecada.vimdistjson.vimman.vimvim.vimvim9.vimvimindent.vimfreebasic.vimgetscript.vimgnat.vimgzip.vimhare.vimhaskellcomplete.vimhcl.vimhtmlcomplete.vimjavaformat.vimjavascriptcomplete.vimmodula2.vimnetrw.vimnetrwSettings.vimnetrw_gitignore.vimpaste.vimphpcomplete.vimpython.vimpython3complete.vimpythoncomplete.vimracket.vimrubycomplete.vimrustrust.vimdebugging.vimrustfmt.vimspellfile.vimsqlcomplete.vimsyntaxcomplete.vimtar.vimtohtml.vimtutor.vimtypeset.vimtypst.vimvimball.vimxmlhtml32.vimhtml401f.vimhtml401s.vimhtml401t.vimhtml40f.vimhtml40s.vimhtml40t.vimxhtml10f.vimxhtml10s.vimxhtml10t.vimxhtml11.vimxsd.vimxsl.vimxmlcomplete.vimxmlformat.vimzip.vimREADME.txtblue.vimdarkblue.vimdefault.vimdelek.vimdesert.vimelflord.vimevening.vimhabamax.vimindustry.vimkoehler.vimlistscsscolors.vimlunaperche.vimmorning.vimmurphy.vimpablo.vimpeachpuff.vimquiet.vimretrobox.vimron.vimshine.vimslate.vimsorbet.vimtoolscheck_colors.vimtorte.vimwildcharm.vimzaibatsu.vimzellner.vimREADME.txtant.vimbcc.vimbdf.vimcargo.vimcheckstyle.vimcm3.vimcontext.vimcppcheck.vimcs.vimcsslint.vimcucumber.vimdart.vimdart2js.vimdart2native.vimdartanalyser.vimdartdevc.vimdartdoc.vimdartfmt.vimdecada.vimdot.vimdotnet.vimerlang.vimeruby.vimeslint.vimfbc.vimfortran_F.vimfortran_cv.vimfortran_elf90.vimfortran_g77.vimfortran_lf95.vimfpc.vimg95.vimgawk.vimgcc.vimgfortran.vimghc.vimgjs.vimgm2.vimgnat.vimgo.vimgroff.vimhaml.vimhare.vimhp_acc.vimicc.vimicon.vimifort.vimintel.vimirix5_c.vimirix5_cpp.vimjavac.vimjest.vimjikes.vimjjs.vimjq.vimjshint.vimjsonlint.vimmake.vimmcs.vimmips_c.vimmipspro_c89.vimmipspro_cpp.vimmodelsim_vcom.vimmsbuild.vimmsvc.vimneato.vimocaml.vimonsgmls.vimpandoc.vimpbx.vimperl.vimperlcritic.vimphp.vimpip_compile.vimpodchecker.vimpowershell.vimpylint.vimpyunit.vimraco.vimracomake.vimracosetup.vimracotest.vimrake.vimrhino.vimrime_deployer.vimrspec.vimrst.vimrubocop.vimruby.vimrubyunit.vimrustc.vimsass.vimscdoc.vimse.vimshellcheck.vimsml.vimspectral.vimsplint.vimstack.vimstandard.vimstylelint.vimtcl.vimtex.vimtidy.vimts-node.vimtsc.vimtypedoc.vimtypst.vimvimdoc.vimxbuild.vimxmllint.vimxmlwf.vimxo.vimyamllint.vimzig.vimzig_build.vimzig_build_exe.vimzig_test.vimzsh.vimarabic.txtautocmd.txtbuiltin.txtchange.txtchannel.txtcmdline.txtdebug.txtdebugger.txtdevelop.txtdiff.txtdigraph.txtediting.txteval.txtfarsi.txtfiletype.txtfold.txtft_ada.txtft_context.txtft_hare.txtft_mp.txtft_ps1.txtft_raku.txtft_rust.txtft_sql.txtgui.txtgui_w32.txtgui_x11.txthangulin.txthebrew.txthelp.txthelphelp.txthowto.txtif_cscop.txtif_lua.txtif_mzsch.txtif_ole.txtif_perl.txtif_pyth.txtif_ruby.txtif_sniff.txtif_tcl.txtindent.txtindex.txtinsert.txtintro.txtmap.txtmbyte.txtmessage.txtmlang.txtmotion.txtnetbeans.txtoptions.txtos_390.txtos_amiga.txtos_beos.txtos_dos.txtos_haiku.txtos_mac.txtos_mint.txtos_msdos.txtos_os2.txtos_qnx.txtos_risc.txtos_unix.txtos_vms.txtos_win32.txtpattern.txtpi_getscript.txtpi_gzip.txtpi_logipat.txtpi_netrw.txtpi_paren.txtpi_spec.txtpi_tar.txtpi_tutor.txtpi_vimball.txtpi_zip.txtpopup.txtprint.txtquickfix.txtquickref.txtquotes.txtrecover.txtremote.txtrepeat.txtrileft.txtrussian.txtscroll.txtsign.txtspell.txtsponsor.txtstarting.txtsyntax.txttabpage.txttagstags-rutagsrch.txtterm.txtterminal.txttesting.txttextprop.txttips.txttodo.txtuganda.ruxuganda.txtundo.txtuserfunc.txtusr_01.txtusr_02.txtusr_03.txtusr_04.txtusr_05.txtusr_06.txtusr_07.txtusr_08.txtusr_09.txtusr_10.txtusr_11.txtusr_12.txtusr_20.txtusr_21.txtusr_22.txtusr_23.txtusr_24.txtusr_25.txtusr_26.txtusr_27.txtusr_28.txtusr_29.txtusr_30.txtusr_31.txtusr_32.txtusr_40.txtusr_41.txtusr_42.txtusr_43.txtusr_44.txtusr_45.txtusr_50.txtusr_51.txtusr_52.txtusr_90.txtusr_toc.txtvarious.txtversion4.txtversion5.txtversion6.txtversion7.txtversion8.txtversion9.txtvi_diff.txtvim2html.plvim9.txtvim9class.txtvisual.txtwindows.txtworkshop.txt8th.vimREADME.txta2ps.vimaap.vimabap.vimabaqus.vimada.vimalsaconf.vimant.vimantlr4.vimapache.vimarch.vimarduino.vimart.vimasciidoc.vimasm.vimaspvbs.vimastro.vimasy.vimautohotkey.vimautomake.vimawk.vimbash.vimbasic.vimbdf.vimbindzone.vimbitbake.vimbp.vimbst.vimbtm.vimbzl.vimc.vimcabal.vimcalendar.vimcdrdaoconf.vimcedar.vimcfg.vimcgdbrc.vimch.vimchangelog.vimchatito.vimchicken.vimclojure.vimcmake.vimcmakecache.vimcobol.vimconf.vimconfig.vimconfini.vimcontext.vimcorn.vimcpp.vimcrm.vimcrontab.vimcs.vimcsc.vimcsh.vimcss.vimcsv.vimcucumber.vimcuda.vimcvsrc.vimdart.vimdeb822sources.vimdebchangelog.vimdebcontrol.vimdebsources.vimdenyhosts.vimdesktop.vimdictconf.vimdictdconf.vimdiff.vimdircolors.vimdocbk.vimdockerfile.vimdosbatch.vimdosini.vimdtd.vimdtrace.vimdts.vimdune.vimeditorconfig.vimeiffel.vimelinks.vimelixir.vimelm.vimerlang.vimeruby.vimeterm.vimexpect.vimfalcon.vimfennel.vimfetchmail.vimfish.vimflexwiki.vimforth.vimfortran.vimfpcmake.vimframescript.vimfreebasic.vimfstab.vimfvwm.vimgdb.vimgdscript.vimgdshader.vimgit.vimgitattributes.vimgitcommit.vimgitconfig.vimgitignore.vimgitrebase.vimgitsendemail.vimgleam.vimgo.vimgoaccess.vimgomod.vimgpg.vimgprof.vimgraphql.vimgroovy.vimgroup.vimgrub.vimgyp.vimhaml.vimhamster.vimhare.vimharedoc.vimhaskell.vimhcl.vimheex.vimhelp.vimhgcommit.vimhlsplaylist.vimhog.vimhostconf.vimhostsaccess.vimhtml.vimhtmlangular.vimhtmldjango.vimhttp.vimhurl.vimhyprlang.vimi3config.vimicon.vimindent.viminitex.vimishd.vimj.vimjava.vimjavacc.vimjavascript.vimjavascriptreact.vimjj.vimjproperties.vimjq.vimjson.vimjson5.vimjsonc.vimjsonnet.vimjsp.vimjulia.vimkconfig.vimkdl.vimkivy.vimkotlin.vimkwt.vimlc.vimld.vimldapconf.vimless.vimlex.vimlftp.vimlibao.vimlimits.vimliquid.vimlisp.vimlivebook.vimlogcheck.vimloginaccess.vimlogindefs.vimlogtalk.dictlogtalk.vimlprolog.vimlua.vimluau.vimlynx.vimm3build.vimm3quake.vimm4.vimmail.vimmailaliases.vimmailcap.vimmake.vimman.vimmanconf.vimmarkdown.vimmasm.vimmatlab.vimmediawiki.vimmermaid.vimmeson.vimmf.vimmlir.vimmma.vimmodconf.vimmodula2.vimmodula3.vimmojo.vimmp.vimmplayerconf.vimmrxvtrc.vimmsmessages.vimmuttrc.vimmysql.vimnanorc.vimneomuttrc.vimnetrc.vimnginx.vimnim.vimnix.vimnroff.vimnsis.vimnu.vimobjc.vimobjcpp.vimobjdump.vimobse.vimocaml.vimoccam.vimoctave.vimodin.vimondir.vimopenvpn.vimpamconf.vimpascal.vimpasswd.vimpbtxt.vimpdf.vimperl.vimphp.vimpinfo.vimplaintex.vimpod.vimpoefilter.vimpoke.vimpostscr.vimprisma.vimprocmail.vimprolog.vimprotocols.vimps1.vimps1xml.vimpurescript.vimpymanifest.vimpyrex.vimpython.vimqb64.vimqf.vimqml.vimquake.vimquarto.vimr.vimracc.vimracket.vimraku.vimrasi.vimreadline.vimregistry.vimrequirements.vimrescript.vimreva.vimrhelp.vimrmd.vimrnc.vimrnoweb.vimroc.vimrouteros.vimrpl.vimrrst.vimrst.vimruby.vimrust.vimsass.vimsbt.vimscala.vimscdoc.vimscheme.vimscreen.vimscss.vimsed.vimsensors.vimservices.vimsetserial.vimsexplib.vimsgml.vimsh.vimsieve.vimslint.vimslpconf.vimslpreg.vimslpspi.vimsnakemake.vimsolidity.vimsolution.vimspec.vimsql.vimsquirrel.vimssa.vimsshconfig.vimsshdconfig.vimstylus.vimsudoers.vimsvelte.vimsvg.vimsway.vimswayconfig.vimswift.vimswiftgyb.vimswig.vimsysctl.vimsystemd.vimsystemverilog.vimtap.vimtcl.vimtcsh.vimterminfo.vimterraform.vimtex.vimtext.vimtf.vimthrift.vimtidy.vimtmux.vimtoml.vimtreetop.vimtt2html.vimtutor.vimtypescript.vimtypescriptreact.vimtypst.vimuci.vimudevconf.vimudevperm.vimudevrules.vimunison.vimupdatedb.vimurlshortcut.vimusd.vimv.vimvb.vimvdf.vimverilog.vimvhdl.vimvim.vimvroom.vimvue.vimwat.vimwget.vimwget2.vimxcompose.vimxdefaults.vimxf86conf.vimxhtml.vimxinetd.vimxml.vimxmodmap.vimxs.vimxsd.vimxslt.vimyacc.vimyaml.vimzathurarc.vimzig.vimzimbu.vimzsh.vimvimhelp.vimvimhighlight.vimREADME.txtaap.vimada.vimant.vimarduino.vimastro.vimautomake.vimawk.vimbash.vimbasic.vimbib.vimbitbake.vimbst.vimbzl.vimc.vimcdl.vimch.vimchaiscript.vimchangelog.vimchatito.vimclojure.vimcmake.vimcobol.vimconfig.vimcontext.vimcpp.vimcs.vimcss.vimcucumber.vimcuda.vimd.vimdictconf.vimdictdconf.vimdocbk.vimdosbatch.vimdtd.vimdtrace.vimdts.vimdune.vimdylan.vimeiffel.vimelm.vimerlang.vimeruby.vimeterm.vimexpect.vimfalcon.vimfennel.vimfish.vimfortran.vimframescript.vimfreebasic.vimgdscript.vimgitconfig.vimgitolite.vimglsl.vimgo.vimgyp.vimhaml.vimhamster.vimhare.vimhcl.vimhog.vimhtml.vimhtmldjango.vimidlang.vimishd.vimj.vimjava.vimjavascript.vimjavascriptreact.vimjson.vimjson5.vimjsonc.vimjsp.vimjulia.vimkdl.vimkotlin.vimkrl.vimld.vimless.vimlifelines.vimliquid.vimlisp.vimlivebook.vimlogtalk.vimlua.vimluau.vimmail.vimmake.vimmatlab.vimmeson.vimmf.vimmma.vimmojo.vimmp.vimnginx.vimnsis.vimobjc.vimobse.vimocaml.vimoccam.vimodin.vimpascal.vimperl.vimphp.vimpostscr.vimpov.vimprolog.vimproto.vimps1.vimpyrex.vimpython.vimqb64.vimqml.vimquarto.vimr.vimracket.vimraku.vimraml.vimrapid.vimreadline.vimrhelp.vimrmd.vimrnoweb.vimrpl.vimrrst.vimrst.vimruby.vimrust.vimsas.vimsass.vimscala.vimscheme.vimscss.vimsdl.vimsh.vimsml.vimsolidity.vimsql.vimsqlanywhere.vimsshconfig.vimstylus.vimsystemverilog.vimtcl.vimtcsh.vimteraterm.vimterraform.vimtex.vimtf.vimthrift.vimtilde.vimtreetop.vimtypescript.vimtypescriptreact.vimtypst.vimvb.vimverilog.vimvhdl.vimvim.vimvroom.vimvue.vimwat.vimxf86conf.vimxhtml.vimxinetd.vimxml.vimxsd.vimxslt.vimyacc.vimyaml.vimzig.vimzimbu.vimzsh.vimREADME.txtaccents.vimarabic.vimarabic_utf-8.vimarmenian-eastern_utf-8.vimarmenian-western_utf-8.vimbelarusian-jcuken.vimbulgarian-bds.vimbulgarian-phonetic.vimcanfr-win.vimcroatian.vimcroatian_cp1250.vimcroatian_iso-8859-2.vimcroatian_utf-8.vimczech.vimczech_utf-8.vimdvorak.vimesperanto.vimesperanto_utf-8.vimfrench-azerty.vimgeorgian-qwerty.vimgerman-qwertz.vimgreek.vimgreek_cp1253.vimgreek_cp737.vimgreek_iso-8859-7.vimgreek_utf-8.vimhebrew.vimhebrew_cp1255.vimhebrew_iso-8859-8.vimhebrew_utf-8.vimhebrewp.vimhebrewp_cp1255.vimhebrewp_iso-8859-8.vimhebrewp_utf-8.vimkana.vimkazakh-jcuken.vimkorean-dubeolsik_utf-8.vimkorean.vimlithuanian-baltic.vimmagyar_utf-8.vimmongolian_utf-8.vimoldturkic-orkhon_utf-8.vimoldturkic-yenisei_utf-8.vimpersian-iranian_utf-8.vimpersian.vimpinyin.vimpolish-slash.vimpolish-slash_cp1250.vimpolish-slash_cp852.vimpolish-slash_iso-8859-2.vimpolish-slash_utf-8.vimrussian-dvorak.vimrussian-jcuken.vimrussian-jcukenmac.vimrussian-jcukenwin.vimrussian-jcukenwintype.vimrussian-typograph.vimrussian-yawerty.vimserbian-latin.vimserbian-latin_utf-8.vimserbian.vimserbian_cp1250.vimserbian_cp1251.vimserbian_iso-8859-2.vimserbian_iso-8859-5.vimserbian_utf-8.vimsinhala-phonetic_utf-8.vimsinhala.vimslovak.vimslovak_cp1250.vimslovak_iso-8859-2.vimslovak_utf-8.vimtamil_tscii.vimthaana-phonetic_utf-8.vimthaana.vimturkish-f.vimturkish-q.vimukrainian-dvorak.vimukrainian-jcuken.vimvietnamese-telex_utf-8.vimvietnamese-viqr_utf-8.vimvietnamese-vni_utf-8.vimREADME.txtafLC_MESSAGESvim.moamLC_MESSAGESvim.mocaLC_MESSAGESvim.mocscs.cp1250LC_MESSAGESvim.moLC_MESSAGESvim.modaLC_MESSAGESvim.modeLC_MESSAGESvim.moen_GBLC_MESSAGESvim.moeoLC_MESSAGESvim.moesLC_MESSAGESvim.mofiLC_MESSAGESvim.mofrLC_MESSAGESvim.mogaLC_MESSAGESvim.mohuLC_MESSAGESvim.moitLC_MESSAGESvim.mojaja.euc-jpLC_MESSAGESvim.moja.sjisLC_MESSAGESvim.moLC_MESSAGESvim.mokoko.UTF-8LC_MESSAGESvim.moLC_MESSAGESvim.molvLC_MESSAGESvim.momenu_af.latin1.vimmenu_af.utf-8.vimmenu_af_af.latin1.vimmenu_af_af.utf-8.vimmenu_ca.latin1.vimmenu_ca.utf-8.vimmenu_ca_es.latin1.vimmenu_ca_es.utf-8.vimmenu_chinese(gb)_gb.936.vimmenu_chinese(taiwan)_taiwan.950.vimmenu_chinese_gb.936.vimmenu_chinese_taiwan.950.vimmenu_cs.cp1250.vimmenu_cs.latin1.vimmenu_cs_cz.cp1250.vimmenu_cs_cz.iso_8859-2.vimmenu_cs_cz.latin1.vimmenu_cs_cz.utf-8.vimmenu_czech_czech_republic.1250.vimmenu_czech_czech_republic.1252.vimmenu_czech_czech_republic.ascii.vimmenu_da.latin1.vimmenu_da.utf-8.vimmenu_de.latin1.vimmenu_de.utf-8.vimmenu_de_de.latin1.vimmenu_de_de.utf-8.vimmenu_en_gb.latin1.vimmenu_en_gb.utf-8.vimmenu_english_united_kingdom.1252.vimmenu_english_united_kingdom.ascii.vimmenu_eo.utf-8.vimmenu_eo_eo.utf-8.vimmenu_eo_xx.utf-8.vimmenu_es.latin1.vimmenu_es.utf-8.vimmenu_es_es.latin1.vimmenu_es_es.utf-8.vimmenu_fi.latin1.vimmenu_fi.utf-8.vimmenu_fi_fi.latin1.vimmenu_fi_fi.utf-8.vimmenu_finnish_finland.1252.vimmenu_fr.latin1.vimmenu_fr.utf-8.vimmenu_fr_fr.latin1.vimmenu_fr_fr.utf-8.vimmenu_french_france.1252.vimmenu_german_germany.1252.vimmenu_hu.iso_8859-2.vimmenu_hu.utf-8.vimmenu_hu_hu.iso_8859-2.vimmenu_hu_hu.utf-8.vimmenu_is.latin1.vimmenu_is.utf-8.vimmenu_is_is.latin1.vimmenu_is_is.utf-8.vimmenu_it.latin1.vimmenu_it.utf-8.vimmenu_it_it.latin1.vimmenu_it_it.utf-8.vimmenu_italian_italy.1252.vimmenu_ja.cp932.vimmenu_ja.euc-jp.vimmenu_ja.eucjp.vimmenu_ja.ujis.vimmenu_ja.utf-8.vimmenu_ja_jp.cp932.vimmenu_ja_jp.euc-jp.vimmenu_ja_jp.eucjp.vimmenu_ja_jp.ujis.vimmenu_ja_jp.utf-8.vimmenu_japanese_japan.932.vimmenu_ko.utf-8.vimmenu_ko_kr.euckr.vimmenu_ko_kr.utf-8.vimmenu_ko_kr.vimmenu_nl.latin1.vimmenu_nl.utf-8.vimmenu_nl_nl.latin1.vimmenu_nl_nl.utf-8.vimmenu_no.latin1.vimmenu_no.utf-8.vimmenu_no_no.latin1.vimmenu_no_no.utf-8.vimmenu_pl.cp1250.vimmenu_pl_pl.cp1250.vimmenu_pl_pl.iso_8859-2.vimmenu_pl_pl.utf-8.vimmenu_polish_poland.1250.vimmenu_pt_br.latin1.vimmenu_pt_br.utf-8.vimmenu_pt_br.vimmenu_pt_pt.latin1.vimmenu_pt_pt.utf-8.vimmenu_pt_pt.vimmenu_ru.cp1251.vimmenu_ru.koi8-r.vimmenu_ru.utf-8.vimmenu_ru.vimmenu_ru_ru.cp1251.vimmenu_ru_ru.koi8-r.vimmenu_ru_ru.utf-8.vimmenu_ru_ru.vimmenu_sk.cp1250.vimmenu_sk_sk.1250.vimmenu_sk_sk.cp1250.vimmenu_sk_sk.iso_8859-2.vimmenu_sk_sk.vimmenu_sl_si.cp1250.vimmenu_sl_si.latin2.vimmenu_sl_si.utf-8.vimmenu_slovak_slovak_republic.1250.vimmenu_spanish_spain.850.vimmenu_sr.utf-8.vimmenu_sr_rs.ascii.vimmenu_sr_rs.iso_8859-2.vimmenu_sr_rs.iso_8859-5.vimmenu_sr_rs.utf-8.vimmenu_sr_yu.ascii.vimmenu_sr_yu.iso_8859-2.vimmenu_sr_yu.iso_8859-5.vimmenu_sr_yu.utf-8.vimmenu_sv.latin1.vimmenu_sv.utf-8.vimmenu_sv_se.latin1.vimmenu_sv_se.utf-8.vimmenu_tr.cp1254.vimmenu_tr.iso_8859-9.vimmenu_tr.utf-8.vimmenu_tr_tr.cp1254.vimmenu_tr_tr.iso_8859-9.vimmenu_tr_tr.utf-8.vimmenu_uk_ua.cp1251.vimmenu_uk_ua.koi8-u.vimmenu_uk_ua.utf-8.vimmenu_vi_vn.vimmenu_zh.big5.vimmenu_zh.cp936.vimmenu_zh.cp950.vimmenu_zh.gb2312.vimmenu_zh_cn.18030.vimmenu_zh_cn.cp936.vimmenu_zh_cn.gb2312.vimmenu_zh_cn.gbk.vimmenu_zh_cn.utf-8.vimmenu_zh_tw.big5.vimmenu_zh_tw.cp950.vimmenu_zh_tw.utf-8.vimnbLC_MESSAGESvim.monlLC_MESSAGESvim.moplpl.UTF-8LC_MESSAGESvim.mopl.cp1250LC_MESSAGESvim.moLC_MESSAGESvim.mopt_BRLC_MESSAGESvim.moruru.cp1251LC_MESSAGESvim.moLC_MESSAGESvim.mosksk.cp1250LC_MESSAGESvim.moLC_MESSAGESvim.mosrLC_MESSAGESvim.mosvLC_MESSAGESvim.motrLC_MESSAGESvim.moukuk.cp1251LC_MESSAGESvim.moLC_MESSAGESvim.moviLC_MESSAGESvim.mozh_CNzh_CN.UTF-8LC_MESSAGESvim.mozh_CN.cp936LC_MESSAGESvim.moLC_MESSAGESvim.mozh_TWzh_TW.UTF-8LC_MESSAGESvim.moLC_MESSAGESvim.moREADME.txteditexisting.vimhanoiclick.mehanoi.vimposterjustify.vimless.batless.shless.vimlifeclick.melife.vimmatchit.vimmazeMakefileREADME.txtmaze_5.78maze_macpostershellmenu.vimswapmous.vimurmREADME.txtexamplesurmurm.vimdistoptcfilterplugincfilter.vimcommentautoloadcomment.vimdoccomment.txttagsplugincomment.vimdvorakdvorakdisable.vimenable.vimplugindvorak.vimeditexistingplugineditexisting.vimeditorconfig.editorconfigCONTRIBUTORSLICENSELICENSE.PSFREADME.mdautoloadeditorconfig.vimeditorconfig_coreeditorconfig_core.vimfnmatch.vimhandler.vimini.vimutil.vimdoceditorconfig.txttagsftdetecteditorconfig.vimmkzip.shplugineditorconfig.vimhelptocautoloadhelptoc.vimpluginhelptoc.vimjustifypluginjustify.vimmatchitautoloadmatchit.vimdocmatchit.txttagspluginmatchit.vimnohlsearchpluginnohlsearch.vimshellmenupluginshellmenu.vimswapmousepluginswapmouse.vimtermdebugplugintermdebug.vimREADME.txtgetscriptPlugin.vimgzip.vimlogiPat.vimmanpager.vimmatchparen.vimnetrwPlugin.vimrrhelper.vimspec.vimspellfile.vimtarPlugin.vimtohtml.vimtutor.vimvimballPlugin.vimzipPlugin.vimascii.pscidfont.pscns_roman.pscp1250.pscp1251.pscp1252.pscp1253.pscp1254.pscp1255.pscp1257.psdec-mcs.psebcdic-uk.psgb_roman.pshp-roman8.psiso-8859-10.psiso-8859-11.psiso-8859-13.psiso-8859-14.psiso-8859-15.psiso-8859-2.psiso-8859-3.psiso-8859-4.psiso-8859-5.psiso-8859-7.psiso-8859-8.psiso-8859-9.psjis_roman.pskoi8-r.pskoi8-u.psks_roman.pslatin1.psmac-roman.psprolog.psskeleton.speccheck_locales.vimcleanadd.vimen.ascii.splen.ascii.sugen.latin1.splen.latin1.sugen.utf-8.splen.utf-8.sugfixdup.vimhe.vimspell.vimyi.vim2html.vim8th.vimREADME.txta2ps.vima65.vimaap.vimabap.vimabaqus.vimabc.vimabel.vimacedb.vimada.vimaflex.vimahdl.vimaidl.vimalsaconf.vimamiga.vimaml.vimampl.vimant.vimantlr.vimantlr4.vimapache.vimapachestyle.vimapparmor.vimaptconf.vimarch.vimarduino.vimart.vimasciidoc.vimasm.vimasm68k.vimasmh8300.vimasn.vimaspperl.vimaspvbs.vimasterisk.vimasteriskvm.vimastro.vimasy.vimatlas.vimautodoc.vimautohotkey.vimautoit.vimautomake.vimave.vimavra.vimawk.vimayacc.vimb.vimbaan.vimbash.vimbasic.vimbc.vimbdf.vimbib.vimbindzone.vimbitbake.vimblank.vimbsdl.vimbst.vimbtm.vimbzl.vimbzr.vimc.vimcabal.vimcabalconfig.vimcabalproject.vimcalendar.vimcatalog.vimcdl.vimcdrdaoconf.vimcdrtoc.vimcf.vimcfg.vimcgdbrc.vimch.vimchaiscript.vimchange.vimchangelog.vimchanges.vimchaskell.vimchatito.vimcheetah.vimchicken.vimchill.vimchordpro.vimchuck.vimcl.vimclean.vimclipper.vimclojure.vimcmake.vimcmakecache.vimcmod.vimcmusrc.vimcobol.vimcoco.vimcolortest.vimconaryrecipe.vimconf.vimconfig.vimconfini.vimcontext.vimcpp.vimcrm.vimcrontab.vimcs.vimcsc.vimcsdl.vimcsh.vimcsp.vimcss.vimcsv.vimcterm.vimctrlh.vimcucumber.vimcuda.vimcupl.vimcuplsim.vimcvs.vimcvsrc.vimcweb.vimcynlib.vimcynpp.vimd.vimdart.vimdatascript.vimdcd.vimdcl.vimdeb822sources.vimdebchangelog.vimdebcontrol.vimdebcopyright.vimdebsources.vimdef.vimdenyhosts.vimdep3patch.vimdesc.vimdesktop.vimdictconf.vimdictdconf.vimdiff.vimdircolors.vimdirpager.vimdiva.vimdjango.vimdns.vimdnsmasq.vimdocbk.vimdocbksgml.vimdocbkxml.vimdockerfile.vimdosbatch.vimdosini.vimdot.vimdoxygen.vimdracula.vimdsl.vimdtd.vimdtml.vimdtrace.vimdts.vimdune.vimdylan.vimdylanintr.vimdylanlid.vimecd.vimedif.vimeditorconfig.vimeiffel.vimelf.vimelinks.vimelm.vimelmfilt.vimerlang.vimeruby.vimesmtprc.vimesqlc.vimesterel.vimeterm.vimeuphoria3.vimeuphoria4.vimeviews.vimexim.vimexpect.vimexports.vimfalcon.vimfan.vimfasm.vimfdcc.vimfetchmail.vimfgl.vimfish.vimflexwiki.vimfocexec.vimform.vimforth.vimfortran.vimfoxpro.vimfpcmake.vimframescript.vimfreebasic.vimfstab.vimftl.vimfvwm.vimfvwm2m4.vimgdb.vimgdmo.vimgdresource.vimgdscript.vimgdshader.vimgedcom.vimgemtext.vimgift.vimgit.vimgitattributes.vimgitcommit.vimgitconfig.vimgitignore.vimgitolite.vimgitrebase.vimgitsendemail.vimgkrellmrc.vimglsl.vimgnash.vimgnuplot.vimgo.vimgoaccess.vimgodoc.vimgp.vimgpg.vimgprof.vimgrads.vimgretl.vimgroff.vimgroovy.vimgroup.vimgrub.vimgsp.vimgtkrc.vimgvpr.vimgyp.vimhaml.vimhamster.vimhare.vimharedoc.vimhaskell.vimhaste.vimhastepreproc.vimhb.vimhcl.vimhelp.vimhelp_it.vimhelp_ru.vimhercules.vimhex.vimhgcommit.vimhitest.vimhlsplaylist.vimhog.vimhollywood.vimhostconf.vimhostsaccess.vimhtml.vimhtmlangular.vimhtmlcheetah.vimhtmldjango.vimhtmlm4.vimhtmlos.vimi3config.vimia64.vimibasic.vimicemenu.vimicon.vimidl.vimidlang.vimindent.viminform.viminitex.viminitng.viminittab.vimipfilter.vimishd.vimiss.vimist.vimj.vimjal.vimjam.vimjargon.vimjava.vimjavacc.vimjavascript.vimjavascriptreact.vimjess.vimjgraph.vimjinja.vimjj.vimjovial.vimjproperties.vimjq.vimjson.vimjson5.vimjsonc.vimjsp.vimjulia.vimkconfig.vimkdl.vimkivy.vimkix.vimkotlin.vimkrl.vimkscript.vimkwt.vimlace.vimlatte.vimlc.vimld.vimldapconf.vimldif.vimless.vimlex.vimlf.vimlftp.vimlhaskell.vimlibao.vimlifelines.vimlilo.vimlimits.vimliquid.vimlisp.vimlite.vimlitestep.vimlivebook.vimloginaccess.vimlogindefs.vimlogtalk.vimlotos.vimlout.vimlpc.vimlprolog.vimlscript.vimlsl.vimlss.vimlua.vimluau.vimlynx.vimlyrics.vimm3build.vimm3quake.vimm4.vimmail.vimmailaliases.vimmailcap.vimmake.vimmallard.vimman.vimmanconf.vimmanual.vimmaple.vimmarkdown.vimmasm.vimmason.vimmaster.vimmatlab.vimmaxima.vimmediawiki.vimmel.vimmermaid.vimmeson.vimmessages.vimmf.vimmgl.vimmgp.vimmib.vimmix.vimmma.vimmmix.vimmmp.vimmodconf.vimmodel.vimmodsim3.vimmodula2modula2.vimoptiso.vimpim.vimr10.vimmodula3.vimmojo.vimmonk.vimmoo.vimmp.vimmplayerconf.vimmrxvtrc.vimmsidl.vimmsmessages.vimmsql.vimmupad.vimmurphi.vimmush.vimmuttrc.vimmysql.vimn1ql.vimnamed.vimnanorc.vimnasm.vimnastran.vimnatural.vimncf.vimneomuttlog.vimneomuttrc.vimnetrc.vimnetrw.vimnginx.vimninja.vimnix.vimnqc.vimnroff.vimnsis.vimobj.vimobjc.vimobjcpp.vimobse.vimocaml.vimoccam.vimodin.vimomnimark.vimondir.vimopam.vimopenroad.vimopenscad.vimopenvpn.vimopl.vimora.vimpacmanlog.vimpamconf.vimpamenv.vimpandoc.vimpapp.vimpascal.vimpasswd.vimpbtxt.vimpcap.vimpccts.vimpdf.vimperl.vimpf.vimpfmain.vimphp.vimphtml.vimpic.vimpike.vimpilrc.vimpine.vimpinfo.vimplaintex.vimpli.vimplm.vimplp.vimplsql.vimpo.vimpod.vimpoefilter.vimpoke.vimpostscr.vimpov.vimpovini.vimppd.vimppwiz.vimprescribe.vimprivoxy.vimprocmail.vimprogress.vimprolog.vimpromela.vimproto.vimprotocols.vimps1.vimps1xml.vimpsf.vimpsl.vimptcap.vimpurifylog.vimpymanifest.vimpyrex.vimpython.vimpython2.vimqb64.vimqf.vimqml.vimquake.vimquarto.vimr.vimracc.vimracket.vimradiance.vimraku.vimraml.vimrapid.vimrasi.vimratpoison.vimrc.vimrcs.vimrcslog.vimreadline.vimrebol.vimredif.vimregistry.vimrego.vimremind.vimrequirements.vimreva.vimrexx.vimrhelp.vimrib.vimrmd.vimrnc.vimrng.vimrnoweb.vimrobots.vimrouteros.vimrpcgen.vimrpl.vimrrst.vimrst.vimrtf.vimruby.vimrust.vimsalt.vimsamba.vimsas.vimsass.vimsather.vimsbt.vimscala.vimscdoc.vimscheme.vimscilab.vimscreen.vimscss.vimsd.vimsdc.vimsdl.vimsed.vimsendpr.vimsensors.vimservices.vimsetserial.vimsexplib.vimsgml.vimsgmldecl.vimsgmllnx.vimsharedREADME.txtcontext-data-context.vimcontext-data-interfaces.vimcontext-data-metafun.vimcontext-data-tex.vimdebversions.vimhgcommitDiff.vimtypescriptcommon.vimsicad.vimsieve.vimsil.vimsimula.vimsinda.vimsindacmp.vimsindaout.vimsisu.vimskill.vimsl.vimslang.vimslice.vimslpconf.vimslpreg.vimslpspi.vimslrnrc.vimslrnsc.vimsm.vimsmarty.vimsmcl.vimsmil.vimsmith.vimsml.vimsnnsnet.vimsnnspat.vimsnnsres.vimsnobol4.vimsolidity.vimspec.vimspecman.vimspice.vimsplint.vimspup.vimspyce.vimsql.vimsqlanywhere.vimsqlforms.vimsqlhana.vimsqlinformix.vimsqlj.vimsqloracle.vimsqr.vimsquid.vimsquirrel.vimsrec.vimsrt.vimssa.vimsshconfig.vimsshdconfig.vimst.vimstata.vimstp.vimstrace.vimstructurizr.vimstylus.vimsudoers.vimsvg.vimsvn.vimswayconfig.vimswift.vimswiftgyb.vimswig.vimsysctl.vimsystemd.vimsystemverilog.vimtads.vimtags.vimtak.vimtakcmp.vimtakout.vimtap.vimtar.vimtaskdata.vimtaskedit.vimtasm.vimtcl.vimtcsh.vimtemplate.vimteraterm.vimterminfo.vimterraform.vimtex.vimtexinfo.vimtexmf.vimtf.vimthrift.vimtidy.vimtilde.vimtli.vimtmux.vimtoml.vimtpp.vimtrasys.vimtreetop.vimtrustees.vimtsalt.vimtsscl.vimtssgm.vimtssop.vimtsv.vimtt2.vimtt2html.vimtt2js.vimtutor.vimtypescript.vimtypescriptreact.vimtypst.vimuc.vimuci.vimudevconf.vimudevperm.vimudevrules.vimuil.vimunison.vimupdatedb.vimupstart.vimupstreamdat.vimupstreaminstalllog.vimupstreamlog.vimupstreamrpt.vimurlshortcut.vimusserverlog.vimusw2kagtlog.vimvalgrind.vimvb.vimvdf.vimvera.vimverilog.vimverilogams.vimvgrindefs.vimvhdl.vimviminfo.vimvimnormal.vimvirata.vimvmasm.vimvoscm.vimvrml.vimvroom.vimvsejcl.vimvue.vimwat.vimwdiff.vimwdl.vimweb.vimwebmacro.vimwget.vimwget2.vimwhitespace.vimwinbatch.vimwml.vimwsh.vimwsml.vimwvdial.vimxbl.vimxcompose.vimxdefaults.vimxf86conf.vimxhtml.vimxinetd.vimxkb.vimxmath.vimxml.vimxmodmap.vimxpm.vimxpm2.vimxquery.vimxs.vimxsd.vimxslt.vimxxd.vimyacc.vimyaml.vimz8a.vimzathurarc.vimzig.vimzimbu.vimzir.vimzserio.vimzsh.vimREADME.txtccfilter.1ccfilter_README.txtefm_filter.plefm_filter.txtefm_perl.plemoji_list.vimmve.awkmve.txtpltags.plrefshtags.1shtags.plunicode.vimvim132vim_vs_net.cmdvimmvimspell.shvimspell.txtREADME.el.cp737.txtREADME.el.txtREADME.ru.utf-8.txtREADME.txtenvim-01-beginner.tutorvim-01-beginner.tutor.jsontutortutor.bartutor.bar.utf-8tutor.bg.utf-8tutor.catutor.ca.utf-8tutor.cstutor.cs.cp1250tutor.cs.utf-8tutor.datutor.da.utf-8tutor.detutor.de.utf-8tutor.eltutor.el.cp737tutor.el.utf-8tutor.eotutor.eo.utf-8tutor.estutor.es.utf-8tutor.frtutor.fr.utf-8tutor.hrtutor.hr.cp1250tutor.hr.utf-8tutor.hututor.hu.cp1250tutor.hu.utf-8tutor.ittutor.it.utf-8tutor.ja.euctutor.ja.sjistutor.ja.utf-8tutor.kotutor.ko.euctutor.ko.utf-8tutor.lt.utf-8tutor.lv.utf-8tutor.nbtutor.nb.utf-8tutor.nltutor.nl.utf-8tutor.notutor.no.utf-8tutor.pltutor.pl.cp1250tutor.pl.utf-8tutor.pttutor.pt.utf-8tutor.rututor.ru.cp1251tutor.ru.utf-8tutor.sktutor.sk.cp1250tutor.sk.utf-8tutor.sr.cp1250tutor.sr.utf-8tutor.svtutor.sv.utf-8tutor.tr.iso9tutor.tr.utf-8tutor.tutortutor.tutor.jsontutor.uk.utf-8tutor.utf-8tutor.vi.utf-8tutor.vimtutor.zh.big5tutor.zh.euctutor.zh.utf-8tutor.zh_cn.utf-8tutor.zh_tw.utf-8/usr/share/vim/vim91/autoload//usr/share/vim/vim91/autoload/cargo//usr/share/vim/vim91/autoload/dist//usr/share/vim/vim91/autoload/rust//usr/share/vim/vim91/autoload/xml//usr/share/vim/vim91/colors//usr/share/vim/vim91/colors/lists//usr/share/vim/vim91/colors/tools//usr/share/vim/vim91/compiler//usr/share/vim/vim91/doc//usr/share/vim/vim91/ftplugin//usr/share/vim/vim91/import/dist//usr/share/vim/vim91/indent//usr/share/vim/vim91/keymap//usr/share/vim/vim91/lang//usr/share/vim/vim91/lang/af//usr/share/vim/vim91/lang/af/LC_MESSAGES//usr/share/vim/vim91/lang/am//usr/share/vim/vim91/lang/am/LC_MESSAGES//usr/share/vim/vim91/lang/ca//usr/share/vim/vim91/lang/ca/LC_MESSAGES//usr/share/vim/vim91/lang/cs.cp1250//usr/share/vim/vim91/lang/cs.cp1250/LC_MESSAGES//usr/share/vim/vim91/lang/cs//usr/share/vim/vim91/lang/cs/LC_MESSAGES//usr/share/vim/vim91/lang/da//usr/share/vim/vim91/lang/da/LC_MESSAGES//usr/share/vim/vim91/lang/de//usr/share/vim/vim91/lang/de/LC_MESSAGES//usr/share/vim/vim91/lang/en_GB//usr/share/vim/vim91/lang/en_GB/LC_MESSAGES//usr/share/vim/vim91/lang/eo//usr/share/vim/vim91/lang/eo/LC_MESSAGES//usr/share/vim/vim91/lang/es//usr/share/vim/vim91/lang/es/LC_MESSAGES//usr/share/vim/vim91/lang/fi//usr/share/vim/vim91/lang/fi/LC_MESSAGES//usr/share/vim/vim91/lang/fr//usr/share/vim/vim91/lang/fr/LC_MESSAGES//usr/share/vim/vim91/lang/ga//usr/share/vim/vim91/lang/ga/LC_MESSAGES//usr/share/vim/vim91/lang/hu//usr/share/vim/vim91/lang/hu/LC_MESSAGES//usr/share/vim/vim91/lang/it//usr/share/vim/vim91/lang/it/LC_MESSAGES//usr/share/vim/vim91/lang/ja.euc-jp//usr/share/vim/vim91/lang/ja.euc-jp/LC_MESSAGES//usr/share/vim/vim91/lang/ja.sjis//usr/share/vim/vim91/lang/ja.sjis/LC_MESSAGES//usr/share/vim/vim91/lang/ja//usr/share/vim/vim91/lang/ja/LC_MESSAGES//usr/share/vim/vim91/lang/ko.UTF-8//usr/share/vim/vim91/lang/ko.UTF-8/LC_MESSAGES//usr/share/vim/vim91/lang/ko//usr/share/vim/vim91/lang/ko/LC_MESSAGES//usr/share/vim/vim91/lang/lv//usr/share/vim/vim91/lang/lv/LC_MESSAGES//usr/share/vim/vim91/lang/nb//usr/share/vim/vim91/lang/nb/LC_MESSAGES//usr/share/vim/vim91/lang/nl//usr/share/vim/vim91/lang/nl/LC_MESSAGES//usr/share/vim/vim91/lang/pl.UTF-8//usr/share/vim/vim91/lang/pl.UTF-8/LC_MESSAGES//usr/share/vim/vim91/lang/pl.cp1250//usr/share/vim/vim91/lang/pl.cp1250/LC_MESSAGES//usr/share/vim/vim91/lang/pl//usr/share/vim/vim91/lang/pl/LC_MESSAGES//usr/share/vim/vim91/lang/pt_BR//usr/share/vim/vim91/lang/pt_BR/LC_MESSAGES//usr/share/vim/vim91/lang/ru.cp1251//usr/share/vim/vim91/lang/ru.cp1251/LC_MESSAGES//usr/share/vim/vim91/lang/ru//usr/share/vim/vim91/lang/ru/LC_MESSAGES//usr/share/vim/vim91/lang/sk.cp1250//usr/share/vim/vim91/lang/sk.cp1250/LC_MESSAGES//usr/share/vim/vim91/lang/sk//usr/share/vim/vim91/lang/sk/LC_MESSAGES//usr/share/vim/vim91/lang/sr//usr/share/vim/vim91/lang/sr/LC_MESSAGES//usr/share/vim/vim91/lang/sv//usr/share/vim/vim91/lang/sv/LC_MESSAGES//usr/share/vim/vim91/lang/tr//usr/share/vim/vim91/lang/tr/LC_MESSAGES//usr/share/vim/vim91/lang/uk.cp1251//usr/share/vim/vim91/lang/uk.cp1251/LC_MESSAGES//usr/share/vim/vim91/lang/uk//usr/share/vim/vim91/lang/uk/LC_MESSAGES//usr/share/vim/vim91/lang/vi//usr/share/vim/vim91/lang/vi/LC_MESSAGES//usr/share/vim/vim91/lang/zh_CN.UTF-8//usr/share/vim/vim91/lang/zh_CN.UTF-8/LC_MESSAGES//usr/share/vim/vim91/lang/zh_CN.cp936//usr/share/vim/vim91/lang/zh_CN.cp936/LC_MESSAGES//usr/share/vim/vim91/lang/zh_CN//usr/share/vim/vim91/lang/zh_CN/LC_MESSAGES//usr/share/vim/vim91/lang/zh_TW.UTF-8//usr/share/vim/vim91/lang/zh_TW.UTF-8/LC_MESSAGES//usr/share/vim/vim91/lang/zh_TW//usr/share/vim/vim91/lang/zh_TW/LC_MESSAGES//usr/share/vim/vim91/macros//usr/share/vim/vim91/macros/hanoi//usr/share/vim/vim91/macros/life//usr/share/vim/vim91/macros/maze//usr/share/vim/vim91/macros/urm//usr/share/vim/vim91/pack//usr/share/vim/vim91/pack/dist//usr/share/vim/vim91/pack/dist/opt//usr/share/vim/vim91/pack/dist/opt/cfilter//usr/share/vim/vim91/pack/dist/opt/cfilter/plugin//usr/share/vim/vim91/pack/dist/opt/comment//usr/share/vim/vim91/pack/dist/opt/comment/autoload//usr/share/vim/vim91/pack/dist/opt/comment/doc//usr/share/vim/vim91/pack/dist/opt/comment/plugin//usr/share/vim/vim91/pack/dist/opt/dvorak//usr/share/vim/vim91/pack/dist/opt/dvorak/dvorak//usr/share/vim/vim91/pack/dist/opt/dvorak/plugin//usr/share/vim/vim91/pack/dist/opt/editexisting//usr/share/vim/vim91/pack/dist/opt/editexisting/plugin//usr/share/vim/vim91/pack/dist/opt/editorconfig//usr/share/vim/vim91/pack/dist/opt/editorconfig/autoload//usr/share/vim/vim91/pack/dist/opt/editorconfig/autoload/editorconfig_core//usr/share/vim/vim91/pack/dist/opt/editorconfig/doc//usr/share/vim/vim91/pack/dist/opt/editorconfig/ftdetect//usr/share/vim/vim91/pack/dist/opt/editorconfig/plugin//usr/share/vim/vim91/pack/dist/opt/helptoc//usr/share/vim/vim91/pack/dist/opt/helptoc/autoload//usr/share/vim/vim91/pack/dist/opt/helptoc/plugin//usr/share/vim/vim91/pack/dist/opt/justify//usr/share/vim/vim91/pack/dist/opt/justify/plugin//usr/share/vim/vim91/pack/dist/opt/matchit//usr/share/vim/vim91/pack/dist/opt/matchit/autoload//usr/share/vim/vim91/pack/dist/opt/matchit/doc//usr/share/vim/vim91/pack/dist/opt/matchit/plugin//usr/share/vim/vim91/pack/dist/opt/nohlsearch//usr/share/vim/vim91/pack/dist/opt/nohlsearch/plugin//usr/share/vim/vim91/pack/dist/opt/shellmenu//usr/share/vim/vim91/pack/dist/opt/shellmenu/plugin//usr/share/vim/vim91/pack/dist/opt/swapmouse//usr/share/vim/vim91/pack/dist/opt/swapmouse/plugin//usr/share/vim/vim91/pack/dist/opt/termdebug//usr/share/vim/vim91/pack/dist/opt/termdebug/plugin//usr/share/vim/vim91/plugin//usr/share/vim/vim91/print//usr/share/vim/vim91/skeletons//usr/share/vim/vim91/spell//usr/share/vim/vim91/syntax//usr/share/vim/vim91/syntax/modula2//usr/share/vim/vim91/syntax/modula2/opt//usr/share/vim/vim91/syntax/shared//usr/share/vim/vim91/tools//usr/share/vim/vim91/tutor//usr/share/vim/vim91/tutor/en/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:36955/SUSE_SLE-15-SP5_Update/3d5832cab29a77d67dcfbf60cd76afe8-vim.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux                       ! "#$ASCII textASCII text, with very long linesdirectoryUTF-8 Unicode textHTML document, ASCII textASCII text, with escape sequencesUTF-8 Unicode text, with very long linesPython script, ASCII text executableRuby script, ASCII textAlgol 68 source, ASCII textUTF-8 Unicode text, with escape sequencesExuberant Ctags tag file, ASCII textC source, ASCII textPerl script text executableexported SGML document, ASCII textTeX document, ASCII textHTML document, UTF-8 Unicode textASCII text, with overstrikingAlgol 68 source, UTF-8 Unicode textISO-8859 textNon-ISO extended-ASCII text, with LF, NEL line terminatorsNon-ISO extended-ASCII textISO-8859 text, with very long linesASCII text, with CRLF, CR, LF line terminators, with escape sequencessaved news, ASCII textDOS batch file, ASCII textPOSIX shell script, ASCII text executablePostScript document text conforming DSC level 3.0Algol 68 source, ASCII text, with very long linesLaTeX 2e document, ASCII textLaTeX document, UTF-8 Unicode text, with very long linestroff or preprocessor input, ASCII textawk script, ASCII text executablePOSIX shell script, ASCII text executable, with escape sequencesPOSIX shell script, ISO-8859 text executableUTF-8 Unicode (with BOM) text RRRRRRRRRRR['X~#mMutf-84b039d4f3b6e9116f0225f3c6507089c0ef78c1ea1b8711f856d273109ef8c3e?7zXZ !t/A.]"k%Vl! E]3(YqJ)4PY?DP j9cݷwb+K[B觖.0{w%:m]CA98995rOS_&lO*#G.eT2i8>Ag~ԗFhf Z嘦B#b|}2tʻkietxTm5S>١£FGu$hl Ä[o%K KUe=fjM03>Ra:ْ-IYr)V􇱥0gOy`13mFnk]yzh8q@_֞[]p(q-)AqL܁k*Oe &#Vl,I9Ik1[!׶.*/Ojip :gn,X`Lƾa>mOD6C1i/gh9n]2#W֕"+9Y 4Lˀh7pc쳤sS\A}ӆZɎem"ߐ+ $յTe(%Mr/d0d̚9a(ٹ0 0ƠADOjyvJѪKzzX;Rjix^*Jq+%ЕrQ0u4Ƴ8 =Ƈ,#,J-:!>9)VduzJ1׬RF""{}fP;ƟPM"!"irg02޳\^MYCR «5lYL:pYI`Q>X63E- {qs X [\$:G722/R,Y|Y/b*)Ck{%D6&BQ,czN^붡08XZЩ.l=>gP?09zc? YN#F [p[4,>:r˅9۱6K5RoS`RFN4֤?ANN{XDE.Sf=H/V3bF0G+@)a h5.M] oc /7䜜|C{ʿ#~u,{^ue`+[5z%abnv:}VҾfU叮[=;!>? 9 OfLj\5ɼ/EJ+# #h{~iF&CB> Ao,e :lIS& ,*6JzÀpI[@@E՞9&KD!rnEFulx[ggok> ×bZC/˸Lm|}ܹ}F%~n<4 X+8/6*t ua^oAW|~#|M b:)Cf.K2}N(G:~ˈU1+[WѮZ-J]iCm6t:y nQ aG/*P#?B])}z-znx:w,B6r_7v}6rh<*y,U"mș"}u Ѳz$]ڦ!lsi˟-ɚtA*r7v00~'={\k $w8m ;M@z5X0pVꥈy;V >*v G7e}깫f*ZwO!8V@ ~i"dI*Ԉ+0- Pv9|ύzx2yC!RWWqh9ɀ]M\ SDnkZOJc,Ed :ʉfP<:`qqj΄sQ| V3M/YO5P^S[3,SN!2Έlg:z@fKd>.ޛn Oh0b <\v2RNc )9b2xj@11!KLq\B'6J|:'*SrsҢQ4%Ծy 6*R!r=&͞ÁYӢB(?)dB[n2g^'i1gg 484 T3qNe>1Fh4@l:;8bqNGj}j4d%\"  Sj?͛\N G+xW?(HOaw~$|4 ^#.$~r,RIta`A6RĴO}FA||b+`C\;+^n"t;8o2^WMė 8rMMJPPhR_|X[zVrz!鶒*f>CL3l%~FDŷ@[RS)4Z#7ݼe_mO9+1+un" 8DNV*)2r"3|l '.;Ǩ|!,/ƽmjOaCAwe"Dѹa P[@åMp=Գ'I_pRBx]u+ӑB80bbzeO -o7v\^ݔQ8zԡp` 咕̺J/lM϶JcGc!v X:#4/6Wi)7eag}L,eE6=1xIu@i]* A[_T(FX:-!v6Za("`yVLy"a uo $Wnb8o\T`}S %9b1\'h9͆*Ǔi˽fgMplV_ ^8)T/ܟJ] vmM+giDշ;zaI.kvNݱ&i" 5d䗔۟By_s'βmu@ [ĤpS {d(j" &{ߨVl;",Osrq:w>Z5XSYe#Laɤ"?R h^b;hE8%RXc}`"OlNIz[2GAr]zU4QW'bof+Q{&*")NQds y톡$nhBJ 5zݑ`j (^!>t{(V%"`iaUOTJ"}RUC>X)ְK$P7Hcxy*/!QK n80{>~ױ!MuV% ~-iR_WZafB|R `}ڔ"t' `lh$WLQ%b >|P.Cv{ۭ^SOq/|E[l#VUve2;ڼD$ |<.+քY>Z$~\qebH-e:(џl&t`JA[ GgΎ*/%sy H\w(hA?p^NEcI㪼14SVmE_)g)>Nx Ib@dev%cNn'f2QlrPMz@c hC AԞ.[qf$BI7c! Hϒ5| ~+ظ ,JRe]9[$ed@Ե͆dL0EZnKeisn~aO?d90̙Zʛf3M#wiSR ΟZs1&u$f zS,sb#dh.QJj y)tE4}o݂I.79np‹u?HMa$Wa5{F G rIR &g[_񚶥KHi^A|R%mqeJ^t8fBP^=KQdz]9[G5@!} =!6* 3pDX;{1VQHspem2B3W "H=$9cM18JQy,Z+?ؼc8W9|DǖLgDwP7 vl]#qr^O\|Q)2< o4! .&B堇@8/`0-Wu6P( +}_S>h*X $'s2e"Aԛː@)^l6> G;l ?%gagͅ7&@c.k6&+'=!p!Zl ;:T4@ &?*J 2VbД춟drQ$idYvy${1LPaB\F/]D^YDbH8O rM-J_]f5κzY'^ImЌSE~B{W\&vIT9t??2֖Uibj &P92q̏8Ǝ;6dڶ9g1_d*X\ $tm/Vܥ(Y$w ANݡYSǞ=; ; 0R0(>#׎ja»Ί1J.3lbEEHGK9x ( Cvd˲E}t)i#TS>?GmWI&O0[yDJf% U$O oG} 4YOQhx\43iŔmDά\ s) 1~}P]ιTB,ODq3q ?y=.gJsښ#e]V-=ג;XΪY3a5mx`rhk9pXE mJotiAʦ,!@9@W^FL2ؔ8[vU8]}I6z V՟[`gwX6vOCU5XB(&=y#}pfZ3s}\Kye.bҊ{~S0Ϡ.мdCQͻ{עsBqhPC`R5j.׮]:: dK{ժik=ԅ[z_=m`7$pןopP [a9i0ígP0Q2ZS/;fHkXz| }2ƺwFuE~PJLa([t) }9%9"*xuz"eȇlNʗ\qjs.Z>F1':=ZwX96 \4.0"6c 7*$* uYsM3!R?30ד9ŶӶGQcuM'fBq|j#cb IsE a=OX=U;=_ jS9EqBs)tigLs@&3~@^cFȤy)㹄w-x&\Uz47gT')/1ü,VMRsunђ)Dd;5oE`#"a [奀t.L_'s!>FB-EL!غ5ְL77+'G\x{n}?,=/<|g5@V| :5'sv+~%2ՎuOyPc!2{SgTkKR\] 7#ϜW8p) ۬{E=gUֆVt8Ete# {0w.&}.rK3 6S5E";;2ȋ;8eQKȲ޹mO,Xj4Q-B"Sxr^wg. #A5 ^GI** r]*?mDA`KdWmI:AtQ2;(k5>4RѨ M<SND+W?z*eLh/ ȋaxE/΂K:FNc)R0C(/.zKeX}+( l.MoTz^֓[Zb$!)<%|N# I~IQ0],!f٠״E=hh_Fsf++%tCF;qf0t BYk){L~|{ɟ|uCaol0B^T!2=Ihb, d옇\`VI0}7:^>mKJ'c8M U!,Ug1u_3 dKZ!fEZ,?P8KGpdT@zih)wO'PvJmjCOLùE 7wct &iz(2A;b1sarƵƚUnRkFywKvHk (5yYHlQ Tz+cHh` 4p"٨}C @=i1(d-P=TX*9bFrm}ȯ mP+eTߤs!\ 'f# O):^givT$<Ƅό4gazG!(qFMnaLc^~5{Ipж |MPQk.(\)GȒz vLs-Lߧ+Ca ͒=** "Qͪ'lTK\Vllww g$xӲDgR&x|>pA!G5FgVLR2fSdۋiMqթ_>y܂datqD L9Uu#̆OUߌHJs7"̓BYH4@sdz6 \'2վޓ ;Ll'ZO#Xg[0EkZ:A; #aj*՗ymo J#ċ@# $ѢCP8[FpbCdW]gBvꔣHq1ck7p7@)dgKj9( Oqq\w=.g4/{d@HfOys1?? l:?j~Tfz;qH7紂c'I*ToC{%N 'b$A 4Uъ~D0:FLPCi˧|-("nK8Tc t6)q⫤e0gxi+ȟȯ |u=frZTq)K.Sԁ)ܗZcDpv&j0MZ5E;-g⋟_བྷ,3USKF0BJ%vIC3i$ UNĤ(f m/wbk⎥Je~=jx@$+t64^yŧ lXndi&٥|Hd =rQFS?aSu,7WDoX&Qȵ;V(p,/>{4xVHtBC2gp"b^3bEsU'[X"{sMU`&NlD tOσ i$(Il})7p< j( = sKBH:7o6VrXPq!"sӵ@HE %q)Ij9v7)_#+RGߩk7wjSxQ2fLRS@jUv#75UR*ӢA3#w@K~Ee^:m- :%AWSÞ:3)+2ZǼt] @B &~Yaip"7R_)6r3/ډV"c1O2쨡 FܽCC?d%{%K >/1 gNH@B:d%h}#nDL&_q*am16 pqe@oZ8T/J!2VƂ7!ʒF7 $QM/ٮFtD]@( YZ