rsyslog-doc-8.2406.0-150600.12.8.1<>,ЉhbfLp9|dag6#SiBVDSP׌ mh(/#uZYE:PGqYa[6|jN$46ŗ e;M O ,W1z ܓPX FJV0:j,v*ԎѭV`p+RwGԞeb -f b-bOt06P`EO]K;v8M ONYEO΢~? FA)RVZv]w Ҍ#\Frm974vavd)">;?td % J&F \k H "  $ ] LBl  @ P ( 8 Q9 Q:LQFG0HIXY\]#t^YGbkclOdlelflllulvxz$(.pCrsyslog-doc8.2406.0150600.12.8.1Additional documentation for rsyslogRsyslog is an enhanced multi-threaded syslog daemon. See rsyslog package. This package provides additional documentation for rsyslog.hbfLibs-power9-17y+SUSE Linux Enterprise 15SUSE LLC Apache-2.0 AND GPL-3.0-or-laterhttps://www.suse.com/System/Daemonshttp://www.rsyslog.com/linuxppc64le` N'[(0>69 I*)m/dL @%*|-'QG>2Y/ j'DKvX ~ix#m$ 8my7" T#*y ,D6]9  nw  gWioK$w'2&7< 6Y4hM F;riNro07 e S6 g^ 3>""|s:`b R%f :lO' InG&A5}q ' E 6 I ~   <V/<D /p%bP@"!6 Wh< J/2F r & 1 gAV- eZK^OqMoQ<gg 40??=??Ct"1 ; \v GB@aYEI )9 & 5R$"hE9F ;T5i eh"?  LVi5n/<9<%xfc]*fZZA!e@ DLJ 4PV3s#VGE($L bCo -)uTI"fm\F$'O6% z^(>bHZbIO!pC9* !Xy4oTd#W!'!y f"\]N&#"(B!)\JYc=Mh?!QBI$ZkEL|Űe&+C>l_{pA"`8P47z;B2Ka:){#?-a4r.0v,cW( 4f;( ,U^TRG2L#Pq>W 2dK('?:*58d@e.-Ql"$-NT?lE1'0>dB*d+?%Fv_E0(2v"G.9"#"# 0@=4^O8H*2"@ST(n3""--uI )!T#v] !#56>pizS7+':h^$s*2#d%j%9 TP\&O$$!#&| "2 Cq&q"Y 09-F1%'/ D&h"K$<m}_&5HIp4& =^EbqZ5V*F766Z80)b> j*[LAAAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤hbf@hbf@fubfub[}fub]fub[}[}[}[}[}[}[}[}[}[}[}[}[}[}[}[}[}[}fub]nfuS[}[}[}[}[}]$eOafuT[}[}[}eOa[}cL({cL({]Z~]Z~fu\fuT]Z~b \ [}[}]Z~]n[}[}[}[}]Z~]Z~eOa[}eO]Z~eOa]Z~af(]Z~]Z~cڶfuUcL({fuUeOa[}[}[}[}]Z~eOa[}[}[}a[}[}eN[}[}fuV[}[}[}[}eOa]Z~[}[}[}[}fu\]Z~[}[}[}[}[}[}[}]Z~]Z~f caf([evYaf(ev[[}eOa]Z~eOa]$[}`}EeOa[}eOa]$eOa^+[}]Z~[}]n]Z~[}cڶ]Z~]$eOa[}]Z~[}[}eOa]Z~]Z~]Z~d$^+f cbf ceOa]Z~eOaf c[}[}b )[}]Z~[}]Z~]Z~b )^eOaeOa_ ]Z~^+]Z~]Z~]$]$]Z~]Z~]Z~[}]$]Z~[}[}[}[}b )[}]Z~[}]Z~af(evYb[}fu\[}[}[}d= eOa[}fu\[}[}[}fu][}]Z~]$]Z~[}[[}[}fu][}[}fu]]Z~[}[}[}fu][}]Z~]Z~]Z~]Z~]na]$fu][}[}]Z~]Z~[}[}fu_fu^fu^[}[}[}[}[}[}[}[}[}[}fu^fu^[}[}[}fu^[}[}[}fu^[}[}fu^[}fu^[}[}fu^[}[}[}]Z~[}fu_[}[}[}[}[}[}[}[}]Z~]Z~fua[}]Z~_ [}]Z~fuaaf(]Z~]Z~a[}[}[}`}EeOa[}[}[}_ ]Z~[}`}E[}eOa[}[}[}[}[}af(]Z~[}[}`r`r`r`r[}]Z~[}c:[}[}[}ft]Z~]Z~[}]naf([}[}fuaeOa[}^+\ [}cL({fub[}b]Z~eOaaf([}eOa[}[}[}`}EevY]Z~_D#]Z~]Z~[}]]Z~]]Z~fub[}[}[}[}]n[}fubfubfub`7`7fub`7`7`7fub`7`7fub[}`7fub`7`7fuSfuSfuSfuSfuSfuSfuSfuSfuSfuTfuSfuSfuSfuTfuTfuTfuTfuTfuTfu\fuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuTfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuUfuVfuUfuUfuVfuVfuVfuVfuVfuVfuVfuVfu\fuVfuVfuVfuVfuVfuVfuVfuVfuVfuVfuVfuVfuWfuWfuWfuWfuWfuWfuWfuWfuWfuWfuWfuWfuWfuWfuXfuXfuXfuXfuXfuXfuXfuXfuXfuXfuXfuXfuYfuYfuYfuYfuYfuYfuYfuYfuYfuYfuYfuYfuYfuYfuZfuZfuZfuZfuZfuZfuZfuZfuZfuZfuZfuZfuZfuZfuZfu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu[fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu\fu]fu\fu\fu\fu\fu\fu\fu]fu]fu]fu]fu]fu]fu]fu]fu]fu]fubfu]fu]fu]fu]fu]fu]fu]fu]fu]fu]fu]fu]fu]fu]fu]fu]fucfu_fu^fu^fu]fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu^fu_fu^fu_fu_fu_fu_fu_fu_fu_fu_fu_fuafu_fu_fu_fu_fu_fuafu_fu_fu_fu_fu_fu_fu_fu_fu_fu_fu_fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fu`fuafuafuafuafuafuafuafuafuafuafubfucfuafuafuafuafuafuafuafubfuafuafuafuafuafubfubfubfubfubfubfubfubfubfubfubfubfubfubfubfubfubfubfubfubfubfubfubffe709c5d67086f81891eb3dfa0608d43b62bf97431c8d7d5e827b8335d88314848c1c35883818c241a409a09c2b70e187fe642815122c590d4b5d45c0dd77a94948839f1d2753ae53d6bed09a08d781ad2912386a13e80ac182745b79c7ff38613714c3204f334f489786da36dfad6e710de76491f1efd74be7abfdde3a23e600afa3b0c2114822cf6d79ec8e2f0bbad2b6c79f685747eefde731d8aba3a06c9261cda87b27aa2ac3ab90b61ad9571e9137e274be53a67625399f6a90753747c79cdd72c94656a67ed1e0f9f400da2cfe49d9fb1f98d5b74e080592dd089d6609a11ca26226cf48d912b891598a7b8dadf63f6e3080647501430738cd91bfba4c13f14b85574a442b803b2a82b3e6dc1990caf05b6a1a8efd75d456a5a5fc4b5a1a3f5df84997661b8c33c8316ffe36de21333e82259b5d1644304d951c5513938ee515c3718bef1669b20d34c229952b7bae47de0ce0a139eacfa8cec1573d0edc9f2d391d747f208d1659b1d4c2f0ca2bdb1d1fc95bce034feafe33cf9f7ea9770f31efced8b94ff373da579752b7a1110171bf26af07fc08c753f689925d8734689c6a85fbf0da81b7b1a0652e617cb11d02d8ccf6dc70cc70967ee9ca14afb24f1c3ac0504e7b6c48231444c6be58c8d5fce0861cb29ba1ed9d8350d2dcc1a86bed3abe948c021ca838c80a35cda320891e3430133e6c8582618f967f1b7872cde6a49d3727fad8c1dd3f2c9944bf36553a86fe7eab90d3c720e6f6a1379f0b24b9fa7fe60fba076035b46b50bec78dc2dba08e0507a04a4408a9b6886ef8ff6f524adb812803364602e14a5eefeb0fee2ec540f9e7882d23301e276b48279703b8544687e0e108fea644be612e817cfebeea424f01606f54864923357c12f4be1696f3fadeca8637b43b9c299c6bf988b9a232bca2e38c7039d44091ca764e11bb6606a3828d7bcd543231f55d899f80548b310d77f4c214c87b0067679497c2cf2ba2cae2c1099d542aa2d4dd9c8f91cbec2066b45ea8d385bae6f6cb95531fa463b98acda0ff2878840054dd5a9b5a06e515aaf409722631ff41022ed9a7d80d738e77958e875096b8fdb73bd4da85e11fd7331a049254427e58c1e87bee154663b4d8dd68d443e1226925811ed4ec0d0450149b22d525f79cd94111730e9514f1cd2f9e6f210f41eefd08923ada92ff05c3b5c069246864330f82486ce24a1d8dadd09faf71d6e568f41d8b957ae11d559cb49c1bae2ff02707ddd9d1823f5be6000a56e73d517f31e018613f7403e91233bee138d2aecc47c3f2789a024cca2045f078bd7ccda91e1062dd5af3d84cbf3293330a204acbf9b96b63af38e566e38483b9b7df4fb1c0a519e3315cdd56276fbc8c1c2f856b0240c925e12754278a9554dc7ba1e46dc038e8fb131b68a7322dd5072e15ef9bec700830931195d06ed8dbb769ee4b8f0a64ce900f704c35f187043cbbdfbaf4794e2d6a0dd0917cd509c4022be17ab1e851fb380d81ddfa86ed633efd233b4cd640dc65ff8dd0c7c4107a1c573ca0e5e63cfc8f0e38639c1ce5887be8d157c63d678cd18ddfecd639146964c379fefbb3e0c484678408916e6ad1b38b5958a6de53954c725146146eef012f3fbecb6d03b7243fd081b4036e05fb7450216ed5a3dc16088fc8a54ce0b276e64a246f7bf42ad79b1b94fc4c80f28169fb255cf05a063efa4ba5f83c2a9cf2dc62b29ae0c376fa0ff00ec32f66bd41a61af3bb0a5382cbe2de114d3d680d5d299fd16ad52d903420f25b2ed8941f9fd627745569075cef8c9b19f848ab8c69506a9629957ca8cd825b91c48ee195cc85c3f5bc41a8058adf25475906445c9a62dd7cf1ed409cc36830889657d587dcaa10a98edacd67d6c16ffa1f1c943efc82a2f265936cba546bdfbc78da4b6b972917e17a1e06a10581623c02d63652307b1b987ac0955f76e557323174e816e9672a58a9db86cdda420e0fb21a967a7c4b80ff4da5633980911a49df4710d35838841aa2e7e49ea244a99c3c5ca1e245ca1454418409bb756dfb12b11e9c3fb7ecd120ccc855f71afa125cdddc8ff7ecf7b735c2b5511788cacb7cd215856b7f17360f557d0685af25a56bd7ddbdff348f733aa142f08806f841c306c8260944baa37a52d8f2faf3b7ae61291dafe33521ad570ab9836d7f34fe579ea45df0baaeb031464faff701a3883d650300d011ee505814143a6ec99db49cc4caa5a4e385219c38470ee9ff07f3e0915ccef2a8be2e7c062d5de9e87c71f8d37d5ea2dcbae72234d652c6952dbe002406efd6e11defefcc10bc1a22a8e8184151ae7ac57813d82d4e380c57f3ddd13cfb6bcf7b9e37a73e50339c54ac35577667e748e6ad48ce9dddf50f06aaf3564c85ea7b425387e534e4b505f8d07628206fc7f5b873ff32e16d58ecc6c598b9ffcb0101b08a4d7264ae4124db8ea41ba0a333b28ec1875d407092d55fd33a7fedf27091c7628ad8e8de5e163df03d9abd26837e70aa3582e5199347df4d73f73f11eeb62ec3c32dc0726ca8575de21a01433ebcbc14d6b4102d5447283dfc36c425710cb84e79eae12c9e7daadb67d5a40e5beec6d0fb9230c45f8951035b09359a4a337ef9fa2bfad97ebc623752c9f7aa9e58908e7ec8966a308ebe03a79fbd04214bfa8c2cb7442aeab0f77cede44b7297b03bf0122a495cfb8a2a0b5a7a99c0a0f45aa8c8d05aea14ffcf8eda918dbe398957481be044b8181e58677b77741e244b8fe0e1eb320c4f028ba31db87d187158e832a8ef8289799469ccffa91455b41117f3f077c65ee79bad87e90b62a22d6e8dc68b63453b0c2afe11b83ad27ef6b624c6c858d9d6ae1726cb13d1d0069033aa1812fbd2aa03bad37322e717f63a63da11f757182a1c23098c37f189b04f0c2bacbae794f87061a47ba5ebc3d26e670a38bb7010ddaefd90bbe11444cf59f1b22a6160162b56eabcb3655177e5b922ee792ebc737972863c30001dffb6aa1b50920089aa1ca9445f6b7a0e0ad9de6e6360ebf3f56915b55dc8537dde9f0f820968cea9c00f2b07bba27df4a9181e481b7f77dec5eac176cda9a79bdda1ee764e161f65ee756535f817b484aed625f7ec2b95cf4e0a5ccc4ae9205d3b863ee879168aa857ebab91f9f228a731cd3359f289fd3b5dbede659afbab74e13a859cce6c33a4c69b477f680f660aa3c1f2394697d93e59972ebd70316ddb193a48979f2c745aaf6b3af095e5e7bfd2158a4a0de020c101605c481e344efcf5034cfbeefc10d6488b8fdedb95075d5e0c85d9b958e490a6fc4a9179d7f0bc23897d80ab81ba073460c34319b71667f48355e1af2c0312789d2f514091273cac55d53f3c3564bf470bfe9822af30749ace62bacd32dd8be07712f1bc0ebec62f63055a5e9f5a1c16373bada952cbd6ab5b633cc5893575b5f102a8ae57c88b63ffc3ca6de8ffe54e40c448b79f0d57d4b15d601063f0837c518e17aec03f0afe43b54464ea998fe0e278128f12e81cf0672e150cca7323e047982087cba80662ade72c3dc2adc7dc30eb2ed8e7cf2a290cd2e412dcaf11c6e218b02fd58b94bc4e114637b370733c144fe9694f23b83cb9227fe13800a789062bd9419940c54007a4d848ec72430a7843edd23b008f9113869647f1732a5e24f9005f3fe1540aaee9d221a3ace81c563c4e61d0a06423865e5265959639069c804d0e048d0db89c653dc61b99e919616062de736852e591d8e07d8cd0ccf9ad153c5b45e28691851c37a7fb93b25d93eeb289e725169dce27c89cc30f5bc2dd00e6c3a529428d92e55d508236e0b89f061c2d98e41dc33305fd7134f7bc91540f360e4ba4e5dca67144028a5b4128cc4e4de9b3ac85d570a045225f2ee8ffff330198dc8ef4d2bea1112aee0006f478de3726c08e43527585c79dd125d2487c20879cc561a26d6062bcd79b3160498364c691fb0b14d83593daf9fee4e47a86884f2b91e2fabdce66e117f4a333f640232ace6622e6d4513de98096b303a3510dcc63cd0bfbea4bc27486434016eafcab9a603f4cd123896ce5017154c2645c77d0e59bcf2c43e52f5e3a323cf0c4a5a67dd1380c12577740c0f85607e3e62e7922431923ebe7363e69be222a34346b4ee1543100c9135c84998dd96e8bc866fa7e614d62e8be733bddf60f85ac4130da92956dba65a8a76bd1e9ec0ca59537fc9e417fbbd0f8aa2bca6b873d7c226b25c230f2d20dbf92dc96b9eeefcabc1337b77c16aff7f4f94e632bff8ba0e5ab97380cc4bb57960cf15e8c767df77daa3697a70a36eaf3cbdb95053393a855ec39f9dd50661f2646accc89cee0b370d439d9e9ae08037f44eb57ca14dab90985dc55439046c331ed03a5c80e375ce4fcf753ba88d40184d212e78cc7c907b6b7a8de2c9cc8fa9fa1761604410b24e82ab0b835afd1b693b1ec046fb0dfce0980cff3fd6c7fa18deb1ff4bf32dbacef2780dab72d0830e4019cff2dcd01e0617d9fec08cc74d9a0f4c011a88632327ac0b148f9dcd6507bca42ef2d18360719d00efb064cefaa29dafed6cd10aa577402ea66296a49929d7c3b8f4ec4651280bbe680578d077ff74e00685cdd4797cc685e85940aef02ac869213a2d88ac50909ebe72dc1eef31c8150dd62ff8d3d498aa47225fb2e7b42c2b80f1e6bf1c3e1bfe1659af735c645e19ae106b1dd437d71c3d7efa269b2e32bdb58152048b1fd04d199e28d7fd52bedbb5ad4d013920b21bb8cd58e6e6bc9942107959f12108e908c611af6c5b683ec96b856852715bc6ad23788487cd03b8561db985d59209349adfae734f10bc68af50ea634863f355c6e4e8c4b98474d55c7ca72b5601d841d31962980c4d4ef3e5badc7c141c00865aeb699e2260ef9bc1603f9683131db2a3a9be844d7cad5c7560ddee55f970343a3cc2706de4d706b53c2a72d1abb514cf251a98dbe0aac8c648d5986ce3b05ab95078a4836de75a93c920c815a259ddfbcb387e39108b55fccab56f4bed124a414cb41a9dcf519a8757b0ad78f8fbfaead5b20514a6065a1c4f71002cb039d8c21efecc5d43c8a670e0ba8a51104646503cc944f4304d6eb87ac3f523448af05586cd4f7f097e0f3a8f0a140a7f8ecbb56a0b577925dae113b4edbdae9001a5d9ea169cef60fa9aa617c34040527dfd9c4eba28db6b8d61904872b3afd533c1b39ff4497e029f9d455c8d856928782ea3ad32d33be87824cca98567afac4ed4d113ad1fe7ef8a3c555f28226ee7ef1ef6d7fd5891103d56b5d14e20722a05fdee53b74186f768a0ea0d841f9019f8540802b7c192f7c2b72db5415e8e2deb993f841c66206cf3b8fcb5172401bb159a5ea922176cd9b6612f1f3e346fbced78999cc409089eba15bf907806d8bda742009c7f788d088180c4134d17c81e0422d94e1fb541b6fd1c1d37f464a70e299d1b254690755740fb1dbde43c42ee5fbc02bb00f69ea5877576cc47e4ca82a0104c84b2506270276f08311c6b55bd41c8e9dd7bf4b54b10bd0de92ac7f9658cc305e9a88e760aff0a80c3ebc6a37e20f4be5e6fc118b51abe64164957d8c7d7575b56d4f7d3bb38f6d99497b287cdb8744afc7a38a592a2f322b672e6506e104b9bb5bdc11d5adb92ffd93e782674720a28a761a908513853a36bea453f2873dead0ca1c9a9db3f9f683529802e35241f296bbf074ede5eba3352494c86579821e509f26735b41c072d1eab40d33b0f4e045e5e99d67d882a6bfe3b625f2de8d51ff4660e1d45f947c6a07c43225833fe0eaf30f8bc65abe2d6aae9736b5ca5dc7bf35482ddcaecf243c6c0fe4680ef69281acc9a1deeaa89a1205af2aa43a27b82c9a0ad7cedfbf849133f95fe91b5ecf45b381b8c092c20b8d9834aa111bc047bc5cc59a550e4e8f1c9e517141e719ef346408365f30ba0b9fc83b56760267ff138ed0e853c7a2913b8f781a76c1f99e1d5d6031b2396058d3aa28edf71518b2183e97a7ba524bd74b50748dc23331e6bd8921b8ae3f57adebe9827142c26569e8818219ad17401377822588c38bfa8fcb1368b6d01e83b428ac44bf2f1419a4ada67f2a87a23e86830a6d78a7467bd9b047eb9a5038949dc512b0a2ee869c255ba86dfe4d11ae1ea7dc55d74183ada53d8619da181958caee6440155080431346a65869c49f144e2bca580f15bb2b8bfc453eb4f8de4651210dfa64eb5be4835a6d9454718f61aec6aa0feadc291856849a8a243a2e2ed29fd4056f90ea2eba64b8276238a31c81ca29da22ebd5c24eafd8f64cd73c32a7eb7d4814e033e2e452fec54873721bb4982500fade5ef2811db0bee4048f81e6783a9d9fa9bb17b28ef7e27e16278e7d3e6162989754a176b1a99dde5ee92286781cb80fdf7eb830a454a5d38c1da20ec3b129ba6c855b4c3b0d3051024cc85668cee25bf694e1408905480bfda47178f72384d8153381ffc64babbbcd051c18db6163523058dfd1449cb4a077a2e6c138ce74257122b726e978842ee8e217bd292516a3fca1bf215a0bfb6c2e305b10cac2ab85af3212fe07276698a8ff6d056e1f3558528de540c2f3e13093220669ea950295208dfa0fc0a80e50d29066e9bc91bbce87034c4909bd916d33a0333bb4211b044483b8379718b763ceaff940ccae213de1e4985f78548de5eb9ea39d96c1ee1799f5080a0bf35f8c2a5e04cadabbd164e124642df83b68404de94c67f2f0ecfb27830bd0bdd4715212f98dcd43e3d3ba0567cc2bbbfa69b3972193897ce4260817931cc02f6c9b66adea092ebeff88ebd10beb772ed435359fd9dfd10c6a81cba96cff02a0eab9c06b3b103a036319eae0171bed7128d256c7c20652cae61dc2754c128dc04a27425bb985b110e44e85e064c31b2232a8f99a1045742739b471a05e2dc9385d7854cb541c89a18c5d73b87b29ff174f1b6d03595c1d731f0fd39da699bd71f25a1b10a31daf0e7a481c8d58de402d9dd7fd1df366467cc13c915c56aa1e5147fec8441ef36af05d106aa8085519912a9c9f11be77f140a333f72664db56605ce3604583a089ab17f087fee407d378c14600b9322de0fe2d9fe8491b5e0cc6dddfdeaa1be6c7fead2e15868dd65407dad99cfcf0ba7d9dc2a20b5fc6ac34cf11859aef481b62b1b9d0c7c8422fe84b9439d8e9a912b22caf5f8e616f4f40776f6c540b116cca430b959de096597320acb1a82f68adc6b98ab15dfaa6d0ed442bd241039ae8adbbb4a2d042769a2a78bd251c6a5caf3eb69119c40f050cd371fe5df76ac171174481e4c325c6d0acb54e551bf9e16ae0cd195df0dd384f00f9e1704fb9b09842950cd1ed47a0503a6cf4c85dc96d36c59b3e6545767769dbc1372409a920e2c8dc70825677353f614118f961b4c4268b4051ea8fb6fd6942137cecef1f72064487cc031a5c0e9eb467e1bd562489bf9c7a61d75760e975f20db63d9483c6ca910111dce0c494a3ea656169536f0e047f76156bb872f136d3317097987b10890ddacc1c705b6c8362c11e7cd24548c3d92c23ed0711ea032ca07f7751c3634b7b32528af18cf87ebd8f2ac332a63014638941189adc3fcccfeab4334961bbb584381a6acb362a18be48637b00ccdc547ec9a045d207039e06082fc852d5814a263dbc796d72a4b3b9196768f8d6f0beca6d5c33340f6b442957d4cb49624568f9f59614b18119e660f09a54f346d8ba56a1b44e5c5133dd9b42af8af958d07f581e4fa70780f2542c9de39ac650f4ce9486e59904e16931675e0e18807ab08ffebffed76932cd391824f1c2ae1f46cfd22c481f20301b9b7bab6e7bfded9d5b8cd6bf3a34223f3b75f75fc2d2973b59220aaa92d1d73ea482cc6d24087b477a0f5c2b53e78ffb1be43aa592ec16151b6f77994ca69d9931d354ee36c767d9c1d7d717822c8932cb1005e4bc33739cae7a2ec268b901c7fc658fbf577df8d1eab96798cff8af424a3ec86eb214243a517053fdcd2f72735f8e4c9d59e203ec3fba9c4495891683b8e85954d19e8543628dfb7806d12f712be4d80da07cde02d72575501e2837ccfd6b4935e1bb39f6ca920007c5241e11499e3873c95af63235f6be8c142ab2892d41ea66da6e15d8da6b0f8fb3d1efdd3371d95f0d8ab5366b951548c09d07fe8c8cffcfdeb0d342df205d489f3b9e2e60892679f3dacb212c83c301ab3ba94a1819cf9969f87cd3b9a9a9df451906a8162221f2d33fc1fb2096ac0469d03f3060af1f2e7ccb396c26a550d4ed6f92070413a9b93dadb8117b9af4f48048f0f3e0fba17cf6dfecb2da2fe003b5da11b67c5ec53c2e1e9689e5ce4a8acafc8882c2728e7a0e4788ad4f288f2be5279da97b86dc68f54ed20a3deb25cd75428906114625a8a84109252da50e5b8fdc801b9e05f13c667c53db87e445e01583c0560d6308e305e50f09e6993614cc36dcdac60c218d7b335566980c03011598bb211b0a1dc4d860a730ebc8804646096981756ac4a8efbb4d9e4b1b460026b4e7e41745dd421a1d4eb59d59427063d930a32999d73fe64d02fcf926eb9ce66c9ba3a87f9543f65860f4ec2d96e0feb6b739381d793332912afb4c76c726b61e16ccec2f6a445793783f3eb79bd11b556f82bc578af6c165373c8df24ec9b6f9c08e11fdf028d05d3c26630c9e8094749deb36876c353272981f33d1c0743f90dcb79390620a7c371a0fb29e47545ea3ab1fb191832333ad6a122c9aa8f144d46ab20dfb45890e8dafbfea63f6394b04241dc47bf37e3c9639fd6050ca174cd6c6789849b87f05ad046147f0267d6a358488a45646d26598b7e741567917f8b46ab33355e76942b18a7395d40fd9342edb5ff74ba5a2da7c341db3e511c03286ee58f93939484720225246663388fb87b2f9ffb58f5b4407a313ef262a788e9d491a44083f9c4a7c00c1b7e01684b4fc8be6c3c2c7cda16aa88fa8b5313f01ac321d6a9e52325c0ef6e633a4e1fc77241760f0226880ac8804fd6c714e63dd40359d2aabd0768e3ec005cd2ffa69fcd9883b24d27ab4bc5bc7ba82b8a6f9e59ae83db2399ec9f260249c6a6e71c6b69f3defadc62fe50a8a76c33a5788c9ef4095f0f4c9b7a7c3dbfecd9f7ef84e84dfc42afb7c845b38bdb231339cf405d625dd1047a04127d4b127c6decf290c23c44900074d09a0a7f04bdc499c07c04b422a58fdfd6a4f553d74d665738a354a5227a2a1f6f041184cf4eddbba146d406ad86b06a18733838cf853eeb095dbe6978623b9ce6d283bdf9fbeffd091e65f2e0a6fe3fd960edad9c7bf017aee46c52b96c735657ec8c3c551f75a3787f37f28a0e5e43868eb2e25b10ac16b5616094e93ada958d8065684c5b5597207778f76e07db5e9208e5492d23920645491de709e63fe78d0bf8df3669edb0a0850dc5006985202e9283eaf3eee427a8e53719551a2ecc52c90514cd1041c66fae7cd56effce6301326deafee7d86bdea1491ca95780b9dda57144619cb4331d8356b11f4cfeaf05479caf0ea39434ce2d6ded74c8315caedf5750e9c7278a1edfefb2ba11bd25246f9c86a730c32dd8e2db453f41cde1663b8073d4569e07a585e629aedabf2eb29f6c8e2dc059dee0efe016bc9f0a9aac84b9992e890b8cfffa9f3ae4cf768ce8d918a3b27b775360340a4c1b1cc02f0b9cc64aab287ddfa4517c6c2169a76ad8d6475fec04167b7c9246633974055182f896f20465b874b63e704d16cd27a50463b468afa170b7bbf69ebf3b9fd91a5e20621a755d7b0a7cccbe9a0ad984b9a5ec5425f20abac8437e5cdfee1b057acbb4ad9ab8fb9c206266da6c47c0c493611d47aee055f9fdb79beb0d5611503ee27917e646b29e451953e6e9f8b8f225cdc02483d3505e817f712bb744d665e9c264c4c9c53cc8ebdf95d26120cad48aafa6d067bc9b0043c40716dcb68548c9b289df319adb6c2cd7efe4eba873063a337809b0992c7a9c7b1c4fac2c1361c8a6e130aeec9b249426da784d89e186c1a272748ab8639259aa58228bf8441e2d7b842fbcd756f9572863998a6c3f6255124e6c4f478389130630030aad68c303c660021a9e93e676ee51b2eedfe543dbd6513443b36a963122ca4e3c2377f831c5d0e7c1782611efb95898b537da093a83536f34bd05d8d3c7b0b9e5cca7a85c194ca38f43a0fef6fe37b7ef0017ca8def00279ff2a14e1564b7cf34382164ef02b8737e7b987b66f75c2a7d0d7b1a15c459023b37cee9a10689b08cb8bd98df9d97b29ece8e54c8ec4d957120939ca1a6be6f656805b00275daf3d386a61f72e20b92e4d4409ef05397263bc33d83c79d38cd4877242667a38fe1c5084edf3bdfc08d2eb8dc15f1f8c430bf191c8f41dfe9ed299100e79209a8c0eaf9d9364781531cf27cc0aef3728479e07fb2eb12e063c3e1108813b16ad1ff88eafd4205ebe5936e53849b32b1c66d8dfecee192610dcefd35ff2bbc123666db6bddffdd8ecdee7fcb69a839eae3be72173523fd52df054f1db3de354c5259accbc98b2ca2d3aab511359680b7b8217e6d4cc511287343dc90e0ac45e1d68985da10acae8cac820c43d6f7c56d351cb7ac775541a8c7b916abc1808fc428e6a57191cfccd0f188b5c77ccd7c850c5a54bba4d881381e4e734e108c060391bb296b60e919f7797d44f119c10ec94659de8217e8beca78e065e7b396a4b64cdb1cca922e2f716b75669f41aed7851277588eadff739353d21b61ae8b98a62361662abe1744a2701f78fd9f5c9182384fca09dfb04e1ab13e834146808c1ae33fcf9578c274b4d64844dc06ae5b8737e6a7cfa7fe54971d5a57b56641b0c35baf48f312a6049d50e60bd48afbdaac33d19c8004779ecd107a5875981fdbf8efaee632ed5ce37d44504d923dae21ee769565b92f9b37c8fbbeb94f4f67f2264f4e457a38150c01ede386d5f386be74dc1edc84d00574a82a04ab8df553e77bd6e367250820ff9d409231704eff71d68867dfe9b9435b7f3004e3403e3f7be34024c968965b3a0554621ebe4d71509722986f456f4edcabeb60aa2a5931370e43257d8cedad2e113f93499639ef34df6fce70f8cba302a7982358d28292146ae443a570b964b912ce477ba859b7e7c522f0495403fbd1f2def5335467889b8052a3a43504fbec431fcda957102f4ddba57f721c167965a279e6150ae040d7041a21abb914ed5fd2181a2399754fbb9081b1f72c9484d656834ec4674e0dea831938db185ca6918897683ee637c2e2ddd45cda533324c7a1be4d296498197f532ec10ee53cb7d611d2027035aa605c219552dc1f051c5aa718a5e22cc691f9c3cb5c272256604a6fc8e7b93b4e5595203b948f8e9fea877dc17796bd68710701cf08995ee595264c8a8ae833044a120e55fdd762566bb7d6ea6af00df6518fd29f2a4faeda0c97a4bafcdf37a8dba905fc196a18fe527585cb201da276af42653892ba678820363ea8853467609765fd0f12c74e9734e23dc049bc8f56788a7ad2d05226c28627ef099934b4bbb71f3f78029fd4d1d04427832269ca161e697b7dcae9a288da6665ecb7518d6652449abfd21d5c464bbce070e06cc66773e58e78fc0f0705d28590cd44ced58f5548c9d2bbac710aa9606d1ba848db334649f8f86ea09f4f4ce8c79e0c22e62425daeff82e28dfd5b9bd91ac8934288264b19c857b677c4bf21992acdbff363f86389c727b9f662767ce5591f9cdbdbbffbbd1c78ae273f82e6b3b6e881282c78e4a1a2309edf6054812dce87fc05c1a63199b399accceaa8739ba837cf5b8f39eadef75d9cea65cba96d22194e35a7e35bee41f0b4bea039cd08e2e6e95ec03203cc7c547c8f9c5a4f96712c70e1d118e41e6a22b22e3c14facade2b16afbc4feaf4a5027eb1f3ad9ea3b532f7371e635f468906d18f1229f8a3535f1f261b75b70f5dbca2db0448d57a5e43b0c150e5fd3b3d3d11117057efd23cbf1908d91c979a6088722d9580f29cc08b275d1252b06de5100b07d65615ba6432b582c7dc3d2170ccd7244f3bec9dc20b65b094414ef3c6105b5049511017612fcc92c91e9ab3a2b50e779cb5d3b021789f16f13dac065d57fb6ede40a4ce1a364993c53b33e581a1bb3199381276ed7160d9fdae199fe54025bcdfa5006851191d4068bfb7217fd9361d4db0ed1b301b65c05621ad8c1fedffb9398ca9a7b2335631bb1e419d52f95e0e8e493fff5ee0d1ba0bd5f00c0f8feabf1bd76a29dfd7c10256af94cb6252838528ecdd98c97d3af743bc6e0f61e5839a94e9c5787442ba7e6a6dca05750cc04794f759a14c870c42ead2199ce16f9aad548f98014c3cf23429c499a68c098de10dd61e1fa98e277225e1d80b776dc46418856d89f1400d572b220f3cebdce5a275efbe23fa7ffd326bf1f8e68d2399c730d149f12cd2748f2d871660e4437c621ed69ad32d443b79b9f0c10c4e94fe4e44ba678a4bfc75c46e68a948399c62c802b562bc66a3106335f1f592ef5b4d07c348877ded0bdead897a90f0466570d60fab5607f8d932aee9373f17d526c9669ad23397f3cd6b0ced7bb4094510772874dc812045d0b5e22dc15b3264b4c3b6cf0f1faa16d5bd83c640ddb061d64fba09967db99f64d0d0f302b685dd34a0da34f6b7e283068757440325d9ebce2cda5cca08505150c09ed8d4dff7f3c02fdb0dd1396d248cdc81b27808a42e306af9371a9b221aaa8f94fcfe375d6527e8df01719039f0d5a575d70305866992fe51100c399e58caf5102caf2cf530fbf5f73708582666d9d3dae90130df153f8231972a177790c3c4563546814987a04bd3fd6afb88756d8191d27f598efc502cce25db1dcd5914be30f0dae978a571181460b12f5612278a32d8f2dae3df225cb5f1f32ed999b33db31a8ffd4124a2712f9cbc06c581dc49ef2174ef0a4657dc0e4204270538263e071fbb8d7517f99dfd716de076dd83fc94d2eded1a46651901b3ff5e200149396ffbe07235b890e153ace76ebb80462d6c8491315f026f4220254584c486ebdbdc586bd9327321bf5e91bb5ad55a5881b4f5ec35f716509ff090e191af2856af69a5dfa45c6981ccae784590f6665355c2e4ac426c304fa7dbf51d97a716fb174a71071a065a7293c6bd6d21856bb953f2ff27eb8e18850817b64a74a1096873d8396519e256ad3aa11d9441db916dd127b65546ea26dd5b89bfd29c56ee1eb057eacbb79ae4f493b650e837e15c2312e664d64e11f1899fbfaff4112ae038ceedf8ffd8f0608aa42996b907357e82a64c2f75542331f814f695c26d4445e748c60c7bf3c4767fca1c673f096a68ce7e95a8a6646a9ee489f149f089a369c4c720725ab4eb108c4ec57f7c9239d91f3aa7fb353b38d98a985e7a2a3e69a80d854a00f3071e5eff07ca1cb7d082965405d6af46259c76914857b19ecee0d2379eab30feed9048a83ed7912b4381b37c78685043f324b26147fcede64df840b3bbe883b0b32bed72fc212cd5faed5a57c6bc61f0c7d867eaabf01aabadfa2cf76c67623583e95466266aaa0bf93ff82854ec36254cd4251c1f382d164c37d32405fb27cf2e5e5b839674225fda17eca6ae78e914999d31655cbe6f8353505d7843b81a348fe1f79464a31095789b8a504780e8b96d226241a11e8c4dde8e12ee2f6d96e79c1e24f12b305f11f716279bfce0caaade5110c7cb4dcd8e6cad044a9bbe8979b7edffdc65d051c0a612d1dfc75cb3fe38f2e5e48a7d71d9cc94f3d7836dea6695ad58cec01cf7a6ef3553e903ed083d7189e0f794e3d1fefb3433113b0bac365d80a6ce30430e2825587cf76fb24f2312b1a70f845760edbf0b5f85ced3f9360a12e9ca9b89ed41e2eaa575b23403abe6d08bfb78dbc43cdbe7f9988bc28ee984fa05231afe47d92904717849498166b891012f20587f24bcb0a253580ada599b6d6782389cc0f1cd50d6262a29c4ea0c3cd243d9e294e2fe950867b82717b63259389c4fd2b6494bee159992f334d11161a55f9e7d60467ffc314680e8cef0c451619ffaca44dc67d124bf715aac0461d74b2c9e61452e3571feb4165bd2c377a3d5d054321ba65dbff5495677a6b0a0909e29be4f1b87a362f4ec5acea3daf8b5b64f9b907d9ccd163f556775c697c90c07f2e98d0cebc472c353122c2ffededa56ac8a8b0c0a7c7171adbfb58ff9e15b2fa8210c36a93035c6bafced6354aff9f1d599cca6e12d30ea384f54bc13a73aa2bc8cbe499ce06c662bc11a318cc9e344cd97d6134e0d252440969de98d553dd27e7c283fa52cfc359363b50e1ce3e1999eeee3eb82ebcff30fd9f502b785830db86b956956ca69ee5f4f4762143b4b72f8464eb3a0b196daebd19afd437d54af09ff780823842b6c3c5dd7f3c181bfbc1d1e0d1f68f1542f4a211ae773a41134edde80cf61dc99c8ef6e2c4f822b4773fd7f7939e16df7bed4b22284f65bd5d599b285d9fab87e6f89776f3dd1b9b7bb16238185e72f3f06c8a16c785e68d0cbf4fd194041ab02601d70ceb504f7b573b84f02a2e86abef8f8c276adcc3ec2d2c91abb7d5f6793c572886ee1024ba4fc8a42dba851ba6c88b2425c8c767d2a400bb920fc022fe8f4bdc2786e189cc439c70fe6a41fbec582f67f9273c487defa06ff6669aca1ca35a6cb658315f22ff881e71a33cc0d4fd3ba3b80f94e762fd70c4514fe0fae0ee14a1c6f1b72d40acd90977806a4d31b3b7aa50cb0aedd2ffdb6606788768bdfaffd101cccf5b4003544658e6b29194678443f11259696c65cc5f56a75c031087d9f693c338eef3319431b37856afacab6575b9970a22edb2c08d05e2681162f0611477564151928eb2a39acddd12877f73d8c70c6b2e1b8c364180486cf447f48c354d96b67643b67117dc367df096773cbc2f5b0f52df30517d2685d8f58fefa2806a45438b11ea66c4b6ca097d5148af50bc8b4ac3cf72f6432bb74cfc1068caf7d6a1259820a7ca89fec673480937dee537d97ccce56b96462f15a4cdbbcb245685bdbdf2200ba93145d5872851912e106314b443310e0aa7b11f13f39f80d2fe0dd3f2a2f81fde1465e444ad502c52268756c295e0b201680e0899475d0cc97deafe82e81f853e96a2e34631a40231323f49cd7cc9285a5b44f455bf8c324dbfc90a36ac8676759a0df7dcb43ea3456919c493a4171727a88c18e544fcdf5ed08a6d945c61a9aeb3f174ad3c62a636022976e999d5712f502541253dad3343d147a82f157cf0fad2ea42c44b1101f6e2944e4ddee90301d71c316c5a04ff6cf1ff9ae8dae89befc17b0cd7e06e36c0de14ff3e2751f666399c7873d992aee90f3af88ec54ceee84734fea398b04718d936e1e2f4a07321db11ca1fd9dfebbf75ea5f3d74d09f9a0d5c08e9ef211afed3397ace994a39748325ae53bea62124348b1c7581dde67527fe9cc914823d652ff4b6e4c1d17768b84788ab10c98c86d2eb8518c7af04ce93b328d7c24e48aa7bc1c10293fe8738b34a664cbb887dca582665c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d004ad6ad7e772d6f3c61c65a7fb255e2b36d8bf583044c08ab97e7e5e6b8442d47e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc00854115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac631accd27ffdaa3456771214dbc2f4d841d9ebe9324da2b23ac0333d35756f25e56235607a8cc70f8ac116a8b366d23f28ce526444620a5a0e8a3ecc39e9d885eb57b289dc3e22ade1d8ac15549db40f0305b81b5558a2418b6246bb1ac6d463f673aad3bd47b163f696fc4f1eb942293f818bab54c34f60c9042a191bfd3ab5d0cc10f799cd0f6b65f95c4012445497e5ba3cb9f51964a9468940b27bde98b487218fb1c1fc72e9af6b866f430be2a67fa376392b4db2f4dbf32772671b6ae55c755f18bbac2594aef308e3cf87d406986fcefc56aab92d28f017468cc4902d71a468383174082f79cd5149f48c406484c67cc27d58da03e4e3c7cbb34177f1e5a623883fad3f98cc624749fcab337903388a4ab8ae3a9e8b7852478712850ab627d05aa9386980dfbacb475725399a058747a7776dfff89438ec96c22ef66748d7ed49de3939aca70bb410a5b06377be58d7478c57e9d98ce45af73052f60e9c1111d2a9cb251c4e16f7178d519f7169019b882e065ed6a0ac55a1f71552a46c023564de80666d4c1483a071478b6d0c18f71e8ab6f45119a007daceafe51e6af2eedd92598353fb20bb8e9af740594cf26a1aa40954e6fa8ef2e0ae4970874f1784244d8f8b6ca5eae09421278e9daad49b44d52f7a6390ffa91bbde8900bdef837bf712880fd254ba193bbef5fcd37fce9d31887c2f8a1570ce3b3ea738ab8104f8567a35e79b5f8e74f1294c9a9e5edb1d2560f1978895ec51d95dc7c7747849aa3590f04fdc5e01ce4a38dae867fdb4ad872622c2015ef5cf19c2ae59bf6dfc5e61f668aa18142ba1a54b22e69ebbd0e8e1cc5d929f087e508f8568e34515372afe9e81151689dbe7634556b2614cceeeb4053cd439ff5120640ae49614184a55474df03cd92f0caee4139b0bf9af411b19db2b6fd8248fa9e6526a378c601b9fb1dc6afe5761c73ef00a2b2213c83ba0e77fa051cf760b38411eef45c36ba139e6d05bac2ae07adbeb527ac4ca14943b6daba560b167fe0ad1d8d71fc0ec751229a03177432ae6d1c1217c1a8bbbab23b2e77f967a628f2e2512fb226c3941e0d19f79b28bf5adb94329d566f684ee5c2f66d6e2442de48287a2337e464ab313281a61f04e3b6c567ddfd99c6aaf5d38937caa39f36c096e82a3dcdbf86f2a0081003a74c310f6fd81b912c2b2e578700b7453b2761c731c0dafb23784c01c64094a0f4b148f3e36afa7fcdc6d4c20e74e8d6278b8db0b074b57cbef146e73036b35db35e0fc777bc97753cd01ee01fef3d76bcf22c73ff8c9e163d9b8cea3f99c7b0f7536a4b3836b50403460035807280cdf550b5eefe650f23e3fa1e5d53d40db24fa47dc089932569b920cd565e88a7672de3139849387792259885b6626018c164b8ac6996205316d248bfeb61a5c5d59db4293ae88da1bf415dcb7fd12f3d6ae1d9c4f85bae4a996326efd8c56a94d29ad8f8ee95257ae3b96a199c3aa3d95ef5e156641cdfd8711fd34b67cc712af9dd1b181ce5cdb6e77521e15726929ccd1eebc2a75800f3a00322c22a317629a06fee648bce15ba7be4643299f032f1349de69ab834eac80eadb5369128bbe0e81f5dad915f70dd43292f51bc817d8e6c93855b1f53f306af22b6a926fcd9c7b015e821770742f9556c4c56e911757d011ee15ec68add7897d002bc797772783967e6d8f809f9eeeec10d50c1911157926cc88c956f9774da03dad95b50745fc8296d38b66289dd551908fd275cff17a11723cc4cd43648a1d6187aeb6617a5dc2bac11300bb3b91fc41f956950fcff6222ef20044330de75fdfd12b53ac8ecd462f80fda101341de4ae9cfd89252dfa2fed58d15436d387444f16a7e3349950a2a3c48fd9bc70c678e9b62d6bf97997495722faaf0c8c2b2203c378b79f3aa98b0dfcc43771d726388af0cea276239fde557760b60e1497bd1616b79e6e1d17c90de107e67b606f5e01380e605909058216566651c7c054199e4e164bc2c6b3c5e1248827064845d82b5339dc9a7c724ea6ab8b1eeb95bba32378421a297f60f79f78a454350f39f21489cf356c9c07b090ec04120e37be12983c491935f4126d4484a707a5abec5ed0883a67b73abea533f27f9ff3e5db2fa7c1a5b076be18b676e0498019341a2459a96b492b0182d7843d62fd9dd8623c3838659251ffb40d4accf65ceec00abfc5e6cbc9a6a5ea7eb6447c61e158a8f373f542f0747880dd5c6db1c33e75f4f72e9e78c5c3e5335f87bf66272a3b206f9ad382a59ad6c58f5cc42da33c3d42e65a98c6d243466c3b6a934c126b8ea27340ba60846c8b2ecd2f3ea1f80fcb28674e898624ea6355ba3a3c124b810f5fd317347f4a8e0ebb1ec5dd101deb5dbaef367049ba89e70002add2f2711316e11752144271e274ddbb2676ebcb1cd44f83f608d445a7f9136465ef46d721dc819a598916b310a51220131d3e95de08cecf12f9f195bcebd0a6d71b2a1a39529eb86cc03662b47e29f3fd28b69d2bf3b1fc614fd12c4f1af4695a96d3f33d3646cc72c2d819d88a960ff39b12f061beb10c0ebcda2e88a69d47eb2e0612730eb5d8722079a05cf5895f18d57f1b3d57d5533892dcf3256db57eb6724322afc0cd0f61cedd3d2b84f853ac3afbfb0931f7a4a22ef5866effc46e172926206be8a22374e7862243bd7b6e609b93fad13037776ff39622d21fd44f1d24062e67d29a90a02a991f5b63558bdd9bc67429e68645661d09ff5b74a36b1d187b4665b93972e38823c9b51aed78213dcff46e2917f537e2764218106399ec82a85774979d0b00e4a033be6edd45094a6cf499c31c89e0aad37d1c81a6581c5aa47c3b133522cc78eef95dfaa0d2e035640bd86eb478d4a5fecacaedbd3f899f0d2bfe1a3657d42d07ab5bb8c1666ae104911e0c2dc913214df043edaa7838e221011f80becd872cb994399839bae218201e8bc7d6e89eed6b8d46f521c714e28ebaa3302ccb14ca05df31b0c2fa27fa46df43a04c9c06de573e5b2f19a675ba03edb666b29484ef446b924c1640b7771a302ed8c17bca1e2b21fc66e7e9818a7c9367bb6663179837c6516b19475e8ee28b4bbc349e57bd1121d5228b10466bd421158ee2799d1bf03d44a6a2d9c17f3279b4866b46d828fb476ebe816c03f05fe47a891d33960e4d3f6fbfd759f6a9d97ea9f7a288bb1f86fcbccdc1261efe2a49482490c02a751c00955e5734b8b85eafad27af2a3598737c23ef89039170d6f467c2e8242bfde936f8951dd61f5bce3c3fd0934ef48128a7ad6ff17f7be1bd2a3f115804a1d524616f4dce80b74208efc0330b209d0f812fe00fc6703e072a7549d482aa37d1962a88288d775bf603b9ac0022e4910919025c28aff8774120e3c1a06d2b285f844e11ac32b860d255e9ee3962222cd129e605559818bc8f792595eea9cc6fa766882286c31e519c7dd89ed56695241abfbc4fceeedd13ddb249059ed86eea29cc7deba8a9a1ed5fdb77579cf4fc73408e23bed692885953a98f0edbd391a1d05f05f9877ffda08df7ce91be03704b022d643ab3e02b81a928b21c495470c020d27dcc9a2d5613384295cb864237bb8b1f19e6cfa2cdda732546a935680a204b4ec44eb9ded4d9d6761f26676433e490a824b2e1e4eb9ee2807e337f8c8ac8984a26f4b449f55a20e8df7d068846f60aad9d396601b4539a3c0252ef37d47733277bf7e7295993ab9730877a871885cd6ab775607d185e239ff6c5215a130b1e3b1d8ccc7a9046257375c7c94db5b7ce8b4387ad227315618e75d270124c1cfcbbeb1679eaf72f68a51b394316d0ca9f41dd5461ee4beefb5e4b0e1c4cf53c1a8928eeaa9741ab9b99f598b3d736c6dd360489c3f24c90196d8f8c49b913c82ab99ed42c5158e69ad64dbb044b7abd62ff6e1db3f865fcfbe4af4e8473ce80365e4c74c73bc140a7ce605e15aef46edec3b1558459aaa078fba1b7e155d918027d81cc92bf5d852327a23cdb5c980fc1a361da787053c19f6aff84f5e53049f78fb7d7e08d0190fa7cbf0c150695f5b4e29e528dd654fc0a39e2d4c98a3aad5edac8ef7f081f74a36ce05dde66960dc3b20e328ee55a6e527dfd740122434ef157f10bf1e98fa8a314caf52a769fc9e562ad5641fd7d848c7aef66e40d6f1d531cf3d65e5b93a690f2ed9b30827dbe798ffa59ea3a6a54fb2b6dfcb5ab1bb5aa073e2e5e3b5d5d7eca51ec995855612512bf53867d4b06258df600a8da365747254b4512f3f0ff9d2f8a469fbab6aaeeefa0590ae72bbcd5d6439809f306785ef60077fe4c42bc4b985aae27712dec01d6192e4e8d7f7973e80d450df0113f71dc0c818d68b8d994416dca46fd97b60477f328440576a02efc9eae393fc4e66bad4710828fb44fd434b07d4c22fecb64c1161a2aac654ce25ad805f61aa3cfff6d48d47964a966bcf7d4b397d8ccea2a8c29289edae7ed68a7b07b373e19d79aeed8e073c86f106e74a497168741cd6c56a128aba11ea717702f9d4ab835166f4528c5765a548a9f32cd02eab9762a63b45a7abebe9043c92b5facc4f66a4adb9e824cd1c4b6d4358dc187485a3c30af5a0fc0a777b1e46537e9527a540a28d5b08e0784137e08089df27596c660304607c3ac1894d9140009dbec075d4b22da54e702d2d2f58e33b40921aa3b00dd7d2b043d0fc7ed6fa7f1cbcb77a9883f3bbf406bb172e7d76fb656a3cd06587906c5995f4d3a238c54030270d6cf32131b7ed0372ede960edab0c482ef58564e7148dca748c47ae20331722924caa0cef91fa6dcc1c5460e0df17fd5e8f55132c338c7537e61d3d294a4b44a04bcc6fea0b6dcf61fb7cd890860971f8fed070d9fec4ba836dc6c129ab27d6df25267956c9c737dbe873672ae51b8ac838a176b9a96e5cd23ad0284af3ba8bb974be18435dafdb94aa58b15f36bc9a8bdcec3ce553346f1e300fd829f53ce9dd8bfb72ee39a4a1d92d12ae80c709f8f1ab5780c2e345bf98ba058bf6416cc3cd2583bac0e8d5ae6db332739f54cda338c0467c39bf69128ca512667f6a8b9b76fd91de4f5690bfb24f107e562ba0f9606039b667686e95f2ed8b46c4b4056378faab0bd20752138967c1787419f800e5a6cf5f5e697da819eb5c8a485a8e217a12a2abfe7b3609ec98ee3e6c191d93634f6953af0f45a21af677447ea2bbcc2b7afda05dd4079f1dcbe4c55327adb223acddf41b624ba120d971a745fcfbbbac442dbbf1e5a56e6b0da819ed7d5eef1723ebd4a09c541444aab00af4f62b8395c3382261197c9416a48782cf165f1b57cdde7864746ef6655362aeb0199ea318fc7c3021bb0fd588e7b6567202a509bedbf469a697a3ada4bd0c99bf4fd9ec5437af1153c3334a93574607ba57dcf1fad32f636ac2f4267d7054a08e8a7b79c1086ea44f544d04f30d48a45ada41f859f52b2bfb77c34d59a6dccf78d1a8fc07e213af96be95f88d2ea87460514a77d7f2037b07d76c6eefda2aa3b87ee06cdcc8de2862ba9c71c31c87fffe8d8334d4e0fdb4bc85247a01bf8732e61f5a0ba0217337f5931af0508fc658880f25512c41777724ad07897bf75474d91c89d08e3a8083d874f3bbf4ed6d5e506ad645394326e1945548245500bc20c4548ae1bdb0ece790ca1138db207771ce342210261c05be7ebe6098afaf5ba6591b53fbaafcb79643ad590b0766580db054cc8bfca279ed2c48a216ad131d9910a6316112059e2c0a895be050971c6042eec61b8c992b83829bf2b21895cadd221261ed93baf4d13083f953a557c153db32b74e61047debd4bac647cc675d501ec68ab81496fe8500cf192e94dde5944de7338e5399660d7eb49527eacd877c386c86f7ce77e268fd73b245d7f91b337369e7e6215b3006ed45c5dcf76bc6def2228c0f58fbafb0cafee000ff14531f4c2f04cc3de106935e2b6ca49d6b3947815b6a5b99d1f324bd63f893e00dac2f075f3b5eadf061d31a0743f6bad05342666c68f68af65190c5048628e154c4e4a92e90ebfcf3e683e391612ae762ed3e82064bf22207ae7d26d6830745fd1279f138e1b2f1a3655911e2a4b1be73646cdb5d4ec20ee749239ee10e95caec4fc3e71c57fba31b143165363e4a4ee007ddc8ba68c38a18cc45e25a73f3a376b5d16109b559b90976a912fed5d32d8eb297c5307b4f19b6e4c49759f2b3a59a21c8446b9a21cb1208a2a082581f95dcd98c621c58c0b7951c0011d867599773d16585846b48da946795f38c6b2ba87e8de2da8d863eba8d7c3e1d621af5d9fb5fffeb9b6f1319d072c9293b55e9e6f4ce6c2975c4e59f326d294ea30ceda0a049b4e6454e5d2cb6efc7b071777fdb8bb4a2132dfb521cf54dcc26c5b4e8a3a45dd3a147b9110763a70552abd71a11a0de5c478b2e465543ba45da6232aae953cfe22e82054afc086dbe79caaecb0317254d5e0e8aed4b17ab0c0fae0d7b811fcbc2f2e1e56fbced3c54b87b7d433eda966fefbc2b156a81db47c2d8792afef19e061f4985abefbe909814bee322722d2fd63ffe94ec0f3219acce0e5393f543bcd76b04a520217cb438aba9a350a67e803968774a559d7f0f53a8f3d90aea3173038de9010105915e41a8a286fd9ea391ac66be30517fd5864bf1149ca6854200cae64484696f4e8f0933e0fd92b467437fd3947faaeeab5c36df67f4d364c6fca29b2bd3b8ccd102eacebd411eb295edcd42bd765575f010a959350a5b4bf9597df6acfd273179b582bf05cff9108bd2ec4212c721da4f22ad70591cd58d20dc155fbec35b56cecb47aa7c9c96c52609e304f42e5b9c59fbac7ccadf29f83f823b12d1af4f4dbd864281d5b05ccee0607dfc2b4922064e649bda522034965dfeda21c22b3534b9eb812909d4365543239313a0096d1d06a1425856f7d0a3edcfa680c4a6bdc8f637d7f00f621f4427f03e253ae3813734d23e7fc487313f598d49ecce1881b9bc7afe8d1ad633009eedf4e14113fd0e464e1056c0a93a15ee5db4a7c0b68b1d5306c31f78ad6b7f26386f49f233b699cf46ff8f43b9ea599346124b9910abc6d6e85074c2604a17e509f9ace0e3abf00746eaf526ac53b1a1a0ec4cc9b8dcc3249bd4883b0b549478cc91f84b86a535526d175e4b612fdc1b7574b294d1dc4143146098791903d40df1b73b6e27a99fdc7b8524fcbc03367968255ac3498be0d32570b9071d60e865c17ba03e4fe5e67959a5732e83de16fb2dc2f63a9a39d66f7dd2e594c6c07d7b2a196513163526a099a2929dfeefe417a6fa0e87d8465ce488e64965fb41ab8601c71ada39fdef43e25a06b2a4b1c5dfb3249fea227bd891714c51384fa1ff53ff813b5ad35611d46e7054a6b923157cb71f3ea21393a6dc295ea11065affca4e5f362fdeab8d9fccbf2c36764d894a0996f3409a8b90e69f220d7ed4e625a1521fc197ba34be51036560ae021193c0d37ce3d7965bc670df93d2f51c06d298e5284890cd4c879d31a69bb636b0db586c80d5fe8c447980fb1a06b9f35ada6d432500314878f711a13ae6f92f6854284da53546483c7b4c1d58e66cecc8ef74cab114ec165e2d75b42142e5ad3036e654be4f645eb0b736a9fd681894908800295776d0cae528f5286b35dae69f333bb62b3e2ad02039b3345d8e3899d61fef26965e31a71b24d3630ab05d9d45e9d70171b668ff047a075a588f53ea9b22b88aeb15f151bf865e4b112a8df0a93f171a07eda0bbe9b6a6f611b89abcb8414d97c0f5706198ab41d10492953d123bcbcf39c12d2761bcfc41e3d51e161da272951435d0f4f09ad52ade4794cc08fbc4f28a6625772509576a91f42a08efa0d95083a384aa7ab8f835bb572af54be51e29e4910cd5915182e049d3b1d49ded8f26e11f2b95517cdec5c7b4131e8accabf9024e387d3bb4d635a0e3c21bfe6813451bfed3044b12c9e7cf3d43d113e4aa3c35e0db6e1d56b832cb2465ca62cfb82b5608bc6c52ad08e59605332acf5d2e3487eb6444ea30ae86621308f6f76cde06e8c1aaa2195c90e769a8d03ce1a8825d82ac965554ce6747aab7d231cce88879d09288a4a25891a6f6853238396360ab05e2540c6c802ba27b812cb33ee675f8a3ad38d0387454a965f2741261ee4e90d60bee3b014c3cd00aa8914f9557c4ed092d043694d3a3d5a92b6c90ab29406443645ff7a96a63ec66c525e472eefcf6c7e119b98e1acc7774883db8ca132765b48dd539138bf2c4b5089ee4d4012b06cd4777980ba49c1058535b46c2d5d6bd3373dbd9ec6bda657c104b71a8f45633a26bb8ea4bf07fa4a44e2211dcff0e56ffd6b4672cf895df14f458bcb76430d037025e8849409b9a2bdd4ac18ff6a2d8443e5d8f17cb561e4de2c0622eaf1360fce7dfbdacb90f1bcd1a7e558533aa029c23d618b5e913ddae0c9b9c1111dd4a2b4e938c41bd3cdf04b42405feb2e1be6d2adb82ef0fcc450ed897b316bdaa63948353707393b840cdb59027d96b51727ad2fb83750bce559bf0a8c51a6f4152d9e26b1588763d35cff9ecad6c20b2c6a158f320403a972edc64751f6a962a45b734d1ecf928624064c4c597a89c99c5564961ea74cb3074b6e3af138c6e2f891bbc80063c6914e9b583741cfefed79f63299e739ad9ee79e1d73a4a731ce7cc103bd70a40422b560e15557beedb266937238fbfcf20b5a7d719d5960c65ff7120f7c2eaa2e96946c448f17339d6bb0f3c076ab2071b2c8d2d88b71670d0f9e1c9d0324ea66e066e458b46493abedaf023d125c44685640322d4c46a0e75410592ed45f4b77b4df3c5835ebc4239c3ee15e47edd4de531e98b68a14736c671f5597189eca83ff0c8fb7aeb29a161061306d7ce1f6ded1e333a39d545088ad5de31838e7e11c8573b9b7eb2c3c49bb366308f8ab9bc83d4985e2beb84f6c9b649fa716677994d380c117e784b00e735cbe268fbe26e92a29289c01be67271a8b33fc33ac517b3ce75bfb54f8f5c6e6594f6cbbb3c7ad205cb2e4e293abd194a38537409cdfb189d2efb03041e1b16da2c502890e90c2a224a068248d472d730f5fd49b1284ce8517575b1d09af5963cdcd8e884b4d349c01425f962b9f840380dc5ddbc8dacca121cb4089f3dc650e5e5efd5befe608e6ac540221469b09aedc34ab9d6087b49874aeb003db7fca3f00f991e22ad4869e742296b27ebdbda52ffe59cb6b10370f25e53aa4ba3321006a81e50cdc867b83b387f903de08160045817a118fe68edcd959f55fef03732e42a055686ebc7ebdaf7d1609496925ea93200f53f5aa6e7ffb72e115c9154beae48cdd9b39763b7c3f78f523a16d185047903e05ff0db9f985f159bfbdf4631ce1e27030bdf40e19770534a6cf1f57369f6b8fe93d66211517639b29b135c37b2140689561dfa3900c58266c28a3d02bb0644824b6cc5cb6f48aa1606af729b715f75fb0a504abbbf8dd549ccdab5dc2605f49297bab8aca92ca5792d545bb704719baa491a69f2a6b5247bd83ea3c8ba183ef7c7dd6d964599b2b8670c4959e10d9663f1f8235711575ac9c6b711d5bcc1621336aee6f2d8e44cc116112489524c372fe94d1c349a86640ab025337f31cd95a92b192728b1c38a375f4587933c5245fa8009957caaa25012426151407cce799fb3d8d0195a7dd5e94c2ba7d768e2b80bbb8c4c8547eeeb89f9aacb73482e969ce3b08682498405dbb949361d59dc9089920742541fffb0d8a6caf9424da0e0bf4da4c131c06b83b4c2bad4b23406cb29f6ccde5ab87ead518b94bf94f12cd95329e5d0ceaae97260ee9da01e0ce1365d4de7809bc85a7097b067af68d4e4d2119246f10af2487c7c448ded394e847b7c626339976e8a197173964fadb4e607605e0b5a4563c5fe5fa8ed836c733cbce0fb5d2bc28bb23b2a675ef300ba0ab06e196f3831750bcaca973d41a1eba9fe27dd9acf8b176cf70b6698336c358cf0835a6e27ca772dfbf58cb5c44b7ccaf00dee47b9db2a7f013711c2e74a5872072b41a3a414631c5e0712f3cb10ef13abbd2de4827efb7e13c7f7e00ae195196264cc8eb0d3dfcf91f6fada84e833bc2db17eb13dd7bb6aaf97619e0ff78ea82dbf683ef54374f3e7beecaa47c55e651d519f01829300b811d2b99e27de1b3cd9cfb42242c16809de0bb15e5601278ee0e736653551d7c2fa4331687077f4aecc9c6e263756a422ee171f99ad957a112363ead7f33a21e24f0478bfa99ca207804d964eaae7149b1174abb31359068379b4415970fe605f1dd4257bea781cc21afeb13e5c8e0f17099f35bc1ecf5a18f36cb8c186577d21ae38dfd0192f1df46678588c74ddb6eb8c46f817a0d3a8aaafc97886757fe355739488429152dd43e8bcb3fb5df8673606c836aed3f2cf4ada773d65e6d8c6cc16f485eac5d3e3e32bae1d93ef3fce15b4ba096840f02ded24b197348442209665ae32f07e978cb60e38e88bb0c292b4fbecc4d98055565f710f77819566d586ce7865237cccfb1f688f10e5c9e500a25ca4ced0d65b35fdba98a74f92eac8c7e3dc72536a1f6b39545b6d82f702c2d38451d253122033fffa2536a608147e92ee69e4e4c44098bb04a3af03a7ccc074e362b7e76428ba5627b0932603e690598beac3dbe344ce7a96836fbea7f302e8a582570f322500bf83d26b34709dac2575f52acd6ff27962c6986a3958e94eee7c9038173ba72d65a0e0e6f3fc628a51fd610ace0ad4d537eaa88049ece64ce7b55fd0ab4e2c3f0211c0329d42438ce38d9ce3cf64b7bdc925b48452e52372ddfaed5579557ba59545930ab352078d7d7c81984eceebdaba04b95c6dabde64b72c5391869f5aeb83e4e9810fea5f87cce659fcdba3faef903cbd802de9c27bebb1cd5f1a572e9e000b00349b8e5822e5bb716297975cecb47e4f173cc2b4394aa6d68d40a7a952fbbd5641935428dbab26e09b7e9a4cde3ab884a2815b9bd5bcda06e385b8447b71758384007ba6457950cc4d0b232f18411df3a3b68fd7bb51e7be4ad4b4c5cf23017494979f8e38520c7b1232c267fc15fb4631e3c0d9fde5c51c44fd28f303f9d358e28d11fa7a23d3b00922fc8f49e37c63d8c2c974ae721ea18e93f7b173e77156fa7994969fa8412ada2a8a359b2d5e4ac915bc80fb4cd2317ea50c7260dd5ad7c2c21200b3e5ad2e252fccc074357509253cceb62916b48c2077a65b386fb146032ae3ec94a528a78e646ae98104431a5a88506570b622a12dea280521f1e7e9c527eedbfd51249bf73f4045fe8db78e8c17eeeb207632a8491fd02358df9b181180f4f60609e71149c748f0459c72beeef3cc5479060264eb05be489757368b32c1c4e0d0fad53fdabdf82829ada3cfc76ade5310a30c967383789588af99cb8e6cf591668ecd409592ffbbd5b6e42266198f8b6cf65af8d025034361483c6272487ff600bbf72affa644c6206344d9e4e439ea036681d4c39bdd68b213198481813c1109aad97c72930cd2800eb0c40a86506d8e7880a7c5477d042147492493baa13f7de752b5cc432e6e1318ebcfa3ed2690812861d51f51611680f71aab0c6f34d6abf01c04f769fa9daee6f7a0398ad7fd77a207ee463078d38ce18d48e961e8bde56ece4a07a9283cf00623bb97d74c92c52bfe30dc1fea1a882daf63cb27fcd372016ab7121c68ebc022e721e1d6f4573e732ba66589a3fc0442f82b09ee5505924867c11e2f210eb72ac7824ce15e4d59c823c166a9bb24def5287513d442adac2d1ec7b9aba54fd8d32e934df6767a424673320ac56a4f84ba5cf21d830db505ad4f72e56e8b6845d5042dfe1ba4bee6a95ef3ec32ee179b6d441ff6703291309e6384fe160e4e727d9bf8ef5e8796229e70462dbcd55fe7df2113d31c7a98b67226a7836c456348efcfba06d6be0c13dd114fa49cf9a6e6ede6fc22835c4f30fdbf98b0922edcd7c0d8ce74a4ff2d6b4bfe9e922335765c38de5457fa0f58111a40a59f51bc22fcce80aca7c880f306656d511d2c552e5a8c4a025385d3677e8bb82f5e11c7f7d50bcea81362398b79bd1b2510d1b0065898fc1e919099d6eac6e990d9b974dd42393fd2ce4c7812cdb49f988e8ecd4d96a4138dd402eba25981290ab0c5f101c7b58d1195174a01e7085e8071fbb81156c1e733c2f0092a588e2af619c8cb0161a45ec4a87426b5978f9f8752b547e8b478e0fd6aeba610f38601bd367a497fbd671fb2a11a0656b946855792c9ccdeede93b9f9b010d39a6db3ea0bafa30035cbbb9f67d83e2873fd4a0718db2263ebbf1718465d7f8f29d6d4dfae66e4bf2da6a8e27aefe55d70aecf0713801acc4c4dce48eaa8d2804709e97e1f8ad0f6a3dc38419cbf5eff83c9a28ae206a25a2463b0f361324621f53a7b59f0b3152af076dbe3839ed06ab0f26d7cee3d3e2b44ff21800ac1c937c5f59aaaae2443151131e0414d89f944ec42eccc809c70fd6b02f43f8d817e8ab72192dc3a371097abf8e489bdeb38b309abdb52b3c628fd0b9afa810053db761b3c64310d2935193c3a809efd263b2896b211146a73492e451372131c59c1e29eff095eba0d6ec993b4127a312a4a61281e1f4125c86b4503c41f9b72b1081c7f8ea368bd2eff21f584b428092f76ca596e87cf8840a34d11ba0c29c8bf9ae4f03821617777e8fded5caf267995a73525308be14d788a4ce8a61df1ae150a3dc46f2d605928566b4ec1267c80faa2d3cf5e407346231d160c1839c7c4a21aed0710d901cb2c72acfc8931b68e15817623faa096cccfccd6534e1b7fd843dce65f3d4f06c2ce8efb18bf51ba57f38d4cb7c0eae34617074e39ced6e6e28f13aa8346892d07379612542bd93e84edaac2d29836567415e27bbe2c19383ac8cbad1a437b2742d05cadaa719698305a980d01462b386f40f575e6d38d0af8f69dd5b7617941b5552e05fffa4ec2e3b2b83869ba1991d4bd221d052af4ca0a363c166ba2b668b8e6bb4589c6ff55deed95260d4e08e23fe41a1fb03f5f570a34d3e0ba1aba29579f5ca019571f1eb9503277d3b05305129f7ac2673619fed9afd94ea2ed544070a2320452f6d7b71a35d5ec852d52d787d91eff78f1f0139366235b49ff38febc8d2d2532ec37a040492f5ed3a2b34a6881147fa276e8cb35e4ded29f0a8c5c3ea54d14880ba042dc5188cf455979318e001dd3b532ba0e99a54d81a3b6effdb033311ceff074ea3664e9c2ae71c30cf3450026baccd0ea6b453505163eea55b664b74db76c866ea35280475850ccb361d9ba32a84e676a511902a3b257e288b219b86c502a4b5d4d37127f569b2b3b8a61fd71ab370dced50bee108ee9834a9836ebcfe425091da85d929321ed802f99e23f7c31688a137532bc07206da0c9e6670ed1c3068c01551135f649b200161405496a041db7147a6b4bc207061db587867ac9daa4938bbf1a9de38d15660e625150660c74667f2ab331b7c73f30eaaf38b5b4352f960025ba4844c508a763f6f92afe9a8d2beb2f410bbff9302c934874118a2769304914bc0678cb1eb7fdd132328c3a01e5c564d80f9870307e00d2bcd310c2966e32d8f114cc4b4bb88f56f8ab5b3a3cee564e913832e897b89d73fd21e1fe7e3a1c754f8f88f141067e67045912a58e1901e29bedc13c4fa69656ad4449731b50f8dd5aa95a15e72d624a2db1c075512ea0a16469316528fa25849291c0ee23e7b2b8257524243130419329b3c96adf3949cc87d2c5dabc4ee7f605d69b011550ec2094c29a5d92adef8a09ad0d86edde64165e5495d46fcae1f41bdded88264b32dd0c7d4d96b5f08dd85af60c06c5b0fdf501481c7588a19027dda362527cc1aa5c3f4ac2c0c3b2cb817cde15384021b5334fec02d79b13068d5c95fbe33aba6abaf7fa18b0e7b871a9ba63445a828c93f9bfa280778df7f84452279aad35b59adafb1c35666e7990d2433d515bd3998cabff9d5c5dabfea30feabd7f9dbb8a710dd8a18e5cbc5b12314521c1b442248aebfb79bbe36ffaec92650b9a388bbf2f0e4a769e661ace012003c83b572b2c3f9e6d017e0dcf2a745241f6c4183842149afa49a3ffc7f544ef2c72dc1b920e9ae94e788e92472a022dbea808e026ea8024e4ad47433ff9fd3e14d8ecfe5a3e7ef4b17fb850105d24dbdfe1f95ebb97bfa4f6d56f5daf545cc09120f9251118f5a99171968b2da6ceae7f5ed78bb76bc92bc359060960f2e7637057ae553deda550f0b09a25ed4074650a28ac5d96046493bcf9faa1217a3b698aa8e385b8f2615a43358612fa3913eee813f71f1d6f77ee1582b343415590fb39646840f7c6931ab9d07bda5ec9bcb11893fd56ec93cf50c8b697bb2fc5cfc0eea857f2f598884d766bf6eb23bddd051a44b93cc5e914b1f06c686bae05a8ec06d56226d9b6a2ce60bea4d0b6bd9e491327380bb67f375a53d0863af5719fb8e0347464ed2f123d9d96639276a2964ccbb6a191f267b8bf985848c4da15d4fe5db6a4430434c69c325e87976824ad86fd72d1fe502bdeb1b8a9d86d6f17b492c80d10f77bf73df6702ddb25d05628bb38fd33d4dddbc73b839a7cf605d028b2492ac7c76fde0291b7e1a62ad736019f8b10db57174a98e67c4d36655c5cc5d5ef30bdf0eb595604ef25e3555f34d1839444ee5acc3bb9eb111347d0d7de485bcb0b6046e1c897af3b5d65a4e7b2ab233f902f39961586ba5d75bd2defdee51a59a3180fe8390e41460a8c5b91403b42901e33257c566c83c64091126cf3e19111f0b5bb9f629c67f63aa6ef57ce500d4385adcd648a322a6abe237ad519c6b6efad83ba2f65a9a1d5fb90b697bea85409rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrsyslog-8.2406.0-150600.12.8.1.src.rpmrsyslog-docrsyslog-doc(ppc-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3fLfͿeoeye#@d@d8cEc@bb@bu b a@`Ȗ@`~@`8`+_j__/@_]@_@_JC@_ ^@^;^]9\~d\o@[H[[[[P}@[3|@[2*Z=Z@Z@Zk@ZaZ)-@Z@Z@Z YY}@Y5GYX-XO@XX@X{d@XN@XD@W@WRWVV@VHVVVV=VUݪ@U@U[%UB@U>$U4@U+U#T@T@TLTG@TBV@thomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.comthomas.blume@suse.commichael@stroeder.commichael@stroeder.comthomas.blume@suse.commichael@stroeder.commichael@stroeder.comlnussel@suse.dethomas.blume@suse.comthomas.blume@suse.commichael@stroeder.commichael@stroeder.comkukuk@suse.comrjschwei@suse.comrtyler@brokenco.dethomas.blume@suse.commatthias.gerstner@suse.comdimstar@opensuse.orgThomas.Blume@suse.comegotthold@suse.comThomas.Blume@suse.comkukuk@suse.demichael@stroeder.comThomas.Blume@suse.comastieger@suse.comThomas.Blume@suse.comastieger@suse.comkukuk@suse.deThomas.Blume@suse.comastieger@suse.comrgerhards@adiscon.comkukuk@suse.derbrown@suse.comastieger@suse.comastieger@suse.comastieger@suse.commichael@stroeder.comtchvatal@suse.comdziolkowski@suse.comastieger@suse.comastieger@suse.comastieger@suse.comndas@suse.comastieger@suse.comdimstar@opensuse.orgastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.commrueckert@suse.deastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comjengelh@inai.dejsegitz@novell.comjsegitz@novell.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comandreas.stieger@gmx.deheinemannj66@gmail.comledest@gmail.com- restart daemon after update at the end of the transaction (bsc#1230984)- Upgrade to rsyslog 8.2406.0 -patches replaced by upgrade (see details in upgrade logs below) 0001-Avoid-crash-on-restart-in-imrelp-SIGTTIN-handler.patch * 2023-11-29: Revert "Update omlibdbi.c" * 2023-11-21: imkmsg: add params "readMode" and "expectedBootCompleteSeconds" * 2023-11-10: testbench: fix "typo" in test case * 2023-11-08: omazureeventhubs: Corrected handling of transport closed failures * 2023-10-31: imkmsg: add module param parseKernelTimestamp * 2023-11-03: imfile: remove state file on file delete fix * 2023-10-30: imklog bugfix: keepKernelTimestamp=off config param did not work * 2023-10-30: Netstreamdriver: deallocate certificate related resources * 2023-10-20: TLS subsystem: add remote hostname to error reporting * 2023-10-21: Fix forking issue do to close_range call * 2023-10-23: replace debian sample systemd service file by readme * 2023-10-20: testbench: bump zookeeper version to match current offering * 2023-10-20: Update rsyslog.service sample unit to the latest version used in Debian Trixie * 2023-10-20: Only keep a single rsyslog.service for Debian * 2023-10-20: Remove no longer used --with-systemdsystemunitdir configure switch * 2023-10-18: use logind instead of utmp for wall messages with systemd * 2023-10-11: Typo fixes * 2023-10-11: Drop CAP_IPC_LOCK capability * 2023-10-04: Add CAP_NET_RAW capability due to the omudpspoof module * 2023-10-03: Add new global config option "libcapng.enable" * 2023-10-02: tcp net subsystem: handle data race gracefully * 2023-08-31: Avoid crash on restart in imrelp SIGTTIN handler - replaces 0001-Avoid-crash-on-restart-in-imrelp-SIGTTIN-handler.patch * 2023-09-26: fix startup issue on modern systemd systems * 2023-09-14: Fix misspeling in message. * 2023-09-13: tcpflood bugfix: plain tcp send error not properly reported * 2023-09-12: omprog bugfix: Add CAP_DAC_OVERRIDE to the bounding set * 2023-08-02: testbench: cleanup and improve some more imfile tests * 2023-08-02: lookup tables: fix static analyzer issue * 2023-08-02: lookup tables bugfix: reload on HUP did not work when backgrounded * 2023-07-28: CI: fix and cleaup github workflow * 2023-03-07: imjournal: Support input module * 2023-07-28: testbench: make test more reliable * 2023-07-28: tcpflood: add -A option to NOT abort when sending fails * 2023-07-28: tcpflood: fix today's programming error * 2023-07-28: openssl: Replaced depreceated method SSLv23_method with TLS_method * 2023-07-27: testbench improvement: define state file directories for imfile tests * 2023-07-28: testbench: cleanup a test and some nitfixes to it * 2023-07-27: tcpflood bugfix: TCP sending was not implemented properly * 2023-07-26: testbench: make waiting for HUP processing more reliable * 2023-07-25: build system: make rsyslogd execute when --disable-inet is configured * 2023-07-25: CI: update zookeper download to newer version * 2023-07-10: ossl driver: Using newer INIT API for OpenSSL 1.1+ Versions * 2023-07-11: ossl: Fix CRL File Expire from 1 day to 100 years. * 2023-07-06: PR5175: Add TLS CRL Support for GnuTLS driver and OpenSSL 1.0.2+ * 2022-05-13: omazureeventhubs: Initial implementation of new output module * 2023-07-03: TLS CRL Support Issue 5081 * 2023-06-29: action.resumeintervalmax: the parameter was not respected * 2023-06-28: IMHIREDIS::FIXED:: Restore compatiblity with hiredis < v1.0.0 * 2023-05-15: Add the 'batchsize' parameter to imhiredis * 2023-06-28: Clear undefined behavior in libgcry.c (GH #5167) * 2023-06-22: Do not try to drop capabilities when we don't have any * 2023-06-22: testbench: use newer zookeeper version in tests * 2023-06-22: build system: more precise error message on too-old lib * 2023-05-17: Fix quoting for omprog, improg, mmexternal- suppress installation errors when systemd is not running (bsc#1218799)- restart daemon after modules packages have been updated (bsc#1217292)- fix rsyslog crash in imrelp (bsc#1210286) * add: 0001-Avoid-crash-on-restart-in-imrelp-SIGTTIN-handler.patch-patches replaced by upgrade (see details in upgrade logs below) 0001-fixing-the-deleteStateOnFileDelete-option.patch 0001-imfile-Remove-inotify-watch-descriptor-on-inode-chan.patch 0001-queue-Add-NULL-check-in-qDeqLinkedList.patch 0001-testbench-add-test-for-legacy-permittedPeer-statemen.patch 0002-imtcp-bugfix-legacy-config-directives-did-no-longer-.patch CVE-2022-24903.patch - Upgrade to rsyslog 8.2306.0 (jsc#PED-4883) * 2023-06-09: mmnormalize bugfix: if msg cannot be parsed, parser chain is stopped * 2023-06-08: Add new global config option "libcapng.default" * 2023-06-08: imjournal: Add FileCreateMode module parameter * 2023-04-17: core bugfix: potential segfault on busy systems * 2023-05-11: GNUTls Driver: Fix memory leaks in gtlsInitCred * 2023-05-24: CI: update base ubuntu image for github actions * 2023-05-16: OMHIREDIS::ADDED:: New support for 'stream' mode * 2023-05-17: OMHIREDIS::ADDED:: new tests for existing functionalities * 2023-04-25: OMHIREDIS::FIXED:: Correctly suspend module in case of failure * 2023-05-17: OMHIREDIS::FIXED:: Synchronously try to authenticate * 2023-04-25: IMHIREDIS::ADDED:: New support for 'stream' mode * 2023-04-25: REDIS::ADDED:: Implement tests for imhiredis module * 2023-04-12: IMHIREDIS::CLEAN:: various improvements and fixes [#]## CHANGED - [IMHIREDIS] factorize code for different modes - [IMHIREDIS] Clean and improve logging lines - [IMHIREDIS] Poll extinction state less frequently for main thread (less aggresive) - [IMHIREDIS] Set 'key' action parameter to REQUIRED - [IMHIREDIS] Use known message length instead of calculating it when enqueuing message [#]## ADDED - [IMHIREDIS] Missing redis replies' types in enumeration [#]## FIXED - [IMHIREDIS] Correctly initialize instance object, especially for redisNodesList - [IMHIREDIS] Correctly print input mode's value in logs when set incorrectly * 2023-05-17: tests: mmexternal-SegFault-empty-jroot-vg.sh: fix typo * 2023-03-21: modify testbench test to detect wrong imptcp truncation * 2023-03-21: imptcp bugfix: spam log on oversize message * 2023-03-23: core/bugfix: using $uuid msg prop can deadlock rsyslog on shutdown * 2023-03-13: Remove halted LGTM badges on README * 2023-02-16: Do not preserve capabilities when changing credentials * 2023-01-23: CI/QA: do compile test both with NDEBUG set/unset * 2023-01-23: Fixed wrong type conversion in cstrLen() for debug mode as well * 2023-01-18: core/template: implement negative position.to * 2023-01-18: CI: fix github CodeQL settings * 2023-01-17: Remove CAP_DAC_OVERRIDE if privileges dropped * 2023-01-17: Adjust the capability set * 2023-01-13: substring function: enhancement and hardening * 2023-01-11: omfile: add action parameters "rotation.*" * 2023-01-11: CI: use newer version of zookeeper * 2023-01-09: ffaup fix : memory corruption with concurrent workers * 2023-01-02: openssl: fix undefined reference to CRYPTO_set_id_callback * 2022-12-30: testbench: add test for invalid json template generation * 2022-12-30: core bugfix: template system may generate invalid json * 2022-12-28: Fixed wrong type conversion in cstrLen() * 2022-12-08: Add CodeQL workflow for GitHub code scanning - Upgrade to rsyslog 8.2212.0 * 2022-12-05: testbench: make python http server based tests more reliable * 2022-12-05: omprog bugfix: invalid status handling at called program startup * 2022-11-29: testbench bugfix: wrong message injection object of instance 1 * 2022-11-21: rsyslog.conf man page bugfix: description of selectors * 2022-11-18: imtcp bugfix: legacy config directives did no longer work - replaces 0002-imtcp-bugfix-legacy-config-directives-did-no-longer-.patch * 2022-11-16: ksi bugfix: sending of too many signing requests fixed. * 2022-11-14: bugfix: prevent potential segfault when switchung to queue emergency mode * 2022-11-02: imjournal: add second fallback to _COMM * 2022-10-25: core bugfix: local hostname invalid if no global() config object given * 2022-10-25: testbench bugfix: fixed timing issue that sometimes lead to test failure - Upgrade to rsyslog 8.2208.0 * 2022-08-09: ksi bugfix: request cache size and send timeout issue fixed. * 2022-08-09: imjournal bugfix: segmentation fault in close journal * 2022-08-09: net subsystem: support sha256 for StreamDriverAuthMode="x509/fingerprint" * 2022-08-05: imfile bugfix: message loss/duplication when monitored file is rotated * 2022-08-05: ksi bugfix: optimize processing of signer queue to fix delays. * 2022-08-04: ksi bugfix: possible crash fixed when several log files are opened. * 2022-08-04: openssl: add support to split tls commands by semicolon * 2022-08-04: openssl subsystem bugfix: build issue on Solaris * 2022-08-04: openssl: add more details to error messages * 2022-08-04: omclickhouse: capture additional exceptions * 2022-08-04: mmanon bugfix: Simplified and fixed IPv4 digit detection. * 2022-07-21: imptcp: slight tuning * 2022-07-20: template procesing/json: performance optimization * 2022-07-19: core bugfix: memory leak when free action worker data table * 2022-07-13: omfile: support for zstd compression * 2022-07-07: stream cleanup: move error message to debug log, only * 2022-07-04: mmdblookup bugfix: Don't crash Rsyslog on mmdb file errors * 2022-06-28: build error fix: libbson requires out-of-date language constructs * 2022-06-27: OpenSSL: fix depreacted API issues for OpenSSL 3.x - Upgrade to rsyslog 8.2206.0 * 2022-05-25: omelastisearch: allow omitting _type field * 2022-05-18: tcpsrv/imtcp: slight performance improvements * 2022-05-12: imptcp bugfix: worker thread starvation on extreme traffic * 2022-05-11: omelasticsearch: several support option for ElasticSearch 8 - config params searchIndex and documentType can be empty - support for Data Stream API - new config param esVersion.major * 2022-05-09: tcp receiver bugfix: delay/potential hang on some error conditions * 2022-05-05: net bugfix: potential buffer overrun - replaces CVE-2022-24903.patch Advisory: https://github.com/rsyslog/rsyslog/security/advisories/GHSA-ggw7-xr6h-mmr8#advisory-comment-72243 * 2022-05-05: imptcp: set OS worker thread name * 2022-04-26: mmanon bugfix: shortened IPv6 form not always anonymized * 2022-04-22: mmdblookup fix: wrong copy of buffer * 2022-04-22: mmdblookup: several enhancements - support arrays in MMDB entry - support escaped quotes '"' in MMDB entry - support '<' characters in MMDB entry, when in a field - support '}' characters in MMDB entry, when in a field - Upgrade to rsyslog 8.2204.0 * 2022-04-18: gnutls bugfix: possibility of infinite loop * 2022-04-17: core/bugfix: errorfile could grow over max configures size * 2022-04-17: omkafka bugfix: potential misadressing * 2022-04-06: added new "FullJSONFmt" standard template (with addtl fields) * 2022-04-04: imfile: potential processing delay * 2022-04-04: bugfix: cosmetic data races * 2022-04-01: add property options to support ISO week/year number * 2022-04-01: core bugfix: "action suspended" message was emitted even when turned off * 2022-03-31: testbench: add more tests for rscript comparison operations * 2022-03-31: core bugfix: make internal logs emitted during HUP procesing appear quicker * 2022-03-20: refactor: Move the parser directive to the main config * 2022-03-16: refactor: ake the main message queue part of the config * regression bugfix: rsyslog may segfault during startup * regression fix: script string comparison did not work correctly - Upgrade to rsyslog 8.2202.0 * 2022-02-11: Make action counter part of the config * 2022-02-09: imfile: Remove inotify watch descriptor on inode change detected - replaces 0001-imfile-Remove-inotify-watch-descriptor-on-inode-chan.patch * 2022-02-03: omelasticsearch: Fix indexSuccess impstats counter in bulkmode * 2022-01-28: rscript: literal numbers were not compared correctly * 2022-01-17: ompgsql: PGsslInUse not supported on old distros * 2021-12-31: ompgsql: allow connection params via connection string * 2022-01-17: CI: remove fedora 33 based testing * 2022-01-14: Terminate all tcpsrv threads properly * 2022-01-04: Move timezone specific variables to rsconf * 2022-01-13: Fixes #4395 by correctly checking for EPIPE. * 2022-01-12: Move rsyslog global parameters to rsconf_t struct * 2022-01-12: cleanup: remove unused variable * 2022-01-07: CI: cleanup journal test environment * 2022-01-06: CI: remove unnecessary dependency * 2022-01-05: Update omlibdbi.c * 2022-01-05: omhttp: Fix memory leak in lokirest batchmode * 2021-12-15: Clarify meaning of loadConf and RunConf - Upgrade to rsyslog 8.2112.0 * 2021-12-14: refactor:Deallocate outchannel resources in rsconf destructor * 2021-12-14: refactor: use runConf instead of loadConf in ratelimiting during runtime * 2021-11-22: new contribtion: URL parser module function using libfa * 2021-11-18: mmanon: relax IPv6 detection - improve anonymization * 2021-11-10: ruleset bugfix: ruleset queue was incorrectly named * 2021-11-10: omsnmp: update module to current IP best practices * 2021-10-27: ommysql: fix threading bug * 2021-10-25: testbench: false positive when impstats was not built * 2021-10-25: imtcp: add support for permittedPeers setting at input() level * 2021-10-25: testbench: add test for legacy permittedPeer statement - replaces 0001-testbench-add-test-for-legacy-permittedPeer-statemen.patch - Upgrade to rsyslog 8.2110.0: * 2021-10-13: PrivDropToUser: fix abortOnIDResolutionFail handling #2 * 2021-10-12: PrivDropToUser: fix abortOnIDResolutionFail handling * 2021-09-17: rscript fix: ruleset called async when ruleset had queue.type="direct" * 2021-10-07: tcpsrv: fix compilation without exceptions * 2021-09-29: build issue: handle undefined MAXPATHLEN, PATH_MAX * 2021-10-06: Fix typo in error message. * 2021-09-21: mmkubernetes bugfix: no connection retry to kubernetes APP * 2021-09-13: use correct api for es 6 and later * 2021-09-20: openssl: Correct gnutlsPriorityString (custom ciphers) behaviour * 2021-09-20: ksi bugfix: locking bug fixed in rsksiCtxOpenFile * 2021-09-13: Fix ElasticSearch Test broken by ES incompatibility * 2020-11-21: imhttp updates - query parameter ingestion & basic auth support * 2021-09-08: openssl: extended output information on connection failure * 2021-09-02: queue: Add NULL check in qDeqLinkedList - replaces 0001-queue-Add-NULL-check-in-qDeqLinkedList.patch * 2021-09-06: core bugfix: use of property $wday terminates string * 2021-09-02: gnutls: Propagate PrioritizeSAN when accepting a new connection * 2021-08-24: ratelimit: fix rate limiting for already parsed messages * 2021-08-23: config: implement script-equavalent for $PrivDrop* statements - Upgrade to rsyslog 8.2108.0: * 2021-08-16: openssl tls: Improved error message output on tls failures. * 2021-07-01: imfile add `ignoreolderthanoption` * 2021-08-10: imklog: fix invalid memory adressing, could cause abort * 2021-08-09: omelasticsearch: fix incorrect mutex error handling regression * 2021-08-09: imfile bugfix: hash char invalidly added in readmode != 0 * 2021-08-08: imudp: add socket type (IPv4 vs. 6) to input name * 2021-07-13: fixing the deleteStateOnFileDelete option - replaces 0001-fixing-the-deleteStateOnFileDelete-option.patch * 2021-07-07: CI: add test for imtcp not correctly starting up and a Solaris fix * 2021-08-05: omfwd: add capability for action-specific TLS certificate settings * 2021-07-01: imtcp: permit to use different certificate files per input/action * 2021-08-04: debug support: add indication of "being HUPed" to debug log * 2021-08-04: imptcp bugfix: keep alive interval was incorrectly set * 2021-07-22: Close file descriptor when freshStartTail is turned on * 2021-07-22: [omelasticsearch] Improve errorFile mutex handling * 2021-07-08: openssl network driver bugfix: small memory leak * 2021-07-07: tcpsrv bugfix: abort if no listener could be started * 2021-07-01: tcp subsystem: fix cosmetic memory leak on shutdown * 2021-07-01: fix typo in error message * 2021-06-30: OMMONGODB :: Fixes * 2021-06-29: mmkubernetes fix for apiserver error handling * 2021-06-21: omkafka updates * 2021-06-22: percentile module to track percentile metrics via impstats * 2021-06-17: CI: disable Travis CI for the time being * 2021-04-15: omhttp: Fix dynrestpath param in batch mode * 2021-06-14: add predefined template RSYSLOG_SyslogRFC5424Format * 2021-06-10: bugfix: _sender_stats reports integer counter as string- fix removal of imfile state files (bsc#1213212) * add 0001-fixing-the-deleteStateOnFileDelete-option.patch- fix parsing of legacy config syntax (bsc#1205275) * add: 0001-testbench-add-test-for-legacy-permittedPeer-statemen.patch 0002-imtcp-bugfix-legacy-config-directives-did-no-longer-.patch- remove $klogConsoleLogLevel setting from rsyslog.conf (bsc#1191833) * this legacy setting from pre-systemd times is obsolete and can block important systemd messages- fix segfault in qDeqLinkedList during shutdown (bsc#1199283) * add 0001-queue-Add-NULL-check-in-qDeqLinkedList.patch- Remove inotify watch descriptor in imfile on inode change detected (bsc#1198939) * add 0001-imfile-Remove-inotify-watch-descriptor-on-inode-chan.patch- (CVE-2022-24903) fix potential heap buffer overflow in modules for TCP syslog reception (bsc#1199061) * add CVE-2022-24903.patch- add service dependencies for remote logging (bsc#1194669) - update config example in remote.conf to match upstream documentation- fix config parameters in specfile (bsc#1194593)- Upgrade to rsyslog 8.2106.0: * NOTE: the prime new feature is support for TLS and non-TLS connections via imtcp in parallel. Furthermore, most TLS parameters can now be overriden at the input() level. The notable exceptions are certificate files, something that is due to be implemented as next step. * 2021-06-14: new global option "parser.supportCompressionExtension" This permits to turn off rsyslog's single-message compression extension when it interferes with non-syslog message processing (the parser subsystem expects syslog messages, not generic text) closes https://github.com/rsyslog/rsyslog/issues/4598 * 2021-05-12: imtcp: add more override config params to input() It is now possible to override all module parameters at the input() level. Module parameters serve as defaults. Existing configs need no modification. * 2021-05-06: imtcp: add stream driver parameter to input() configuration This permits to have different inputs use different stream drivers and stream driver parameters. closes https://github.com/rsyslog/rsyslog/issues/3727 * 2021-04-29: imtcp: permit to run multiple inputs in parallel Previously, a single server was used to run all imtcp inputs. This had a couple of drawsbacks. First and foremost, we could not use different stream drivers in the varios inputs. This patch now provides a baseline to do that, but does still not implement the capability (in this sense it is a staging patch). Secondly, we now ensure that each input has at least one exclusive thread for processing, untangling the performance of multiple inputs from each other. see also: https://github.com/rsyslog/rsyslog/issues/3727 * 2021-04-27: tcpsrv bugfix: potential sluggishnes and hang on shutdown tcpsrv is used by multiple other modules (imtcp, imdiag, imgssapi, and, in theory, also others - even ones we do not know about). However, the internal synchornization did not properly take multiple tcpsrv users in consideration. As such, a single user could hang under some circumstances. This was caused by improperly awaking all users from a pthread condition wait. That in turn could lead to some sluggish behaviour and, in rare cases, a hang at shutdown. Note: it was highly unlikely to experience real problems with the officially provided modules. * 2021-04-22: refactoring of syslog/tcp driver parameter passing This has now been generalized to a parameter block, which makes it much cleaner and also easier to add new parameters in the future. * 2021-04-22: config script: add re_match_i() and re_extract_i() functions This provides case-insensitive regex functionality. closes https://github.com/rsyslog/rsyslog/issues/4429- Upgrade to rsyslog 8.2104.0: * rainerscript: call getgrnam_r repeatedly to get all group members (bsc#1178490) * new contributed module imhiredis * new built-in function get_property() to access property vars * mmdblookup: add support for mmdb DB reload on HUP * script bugfix: empty array in foreach() improperly handled * imjournal bugfixes (handle leak, empty file) * new contributed function module fmunflatten * test bugfix: some tests did not work with newer TLS library versions * some improvements to project CI- update remote.conf example file to new 'Address' and 'Port' notation (bsc#1182653)- HTTPS URLs used for source - Upgrade to rsyslog 8.2102.0: * omfwd: add stats counter for sent bytes * omfwd: add error reporting configuration option * action stats counter bugfix: failure count was not properly incremented * action stats counter bugfix: resume count was not incremented * omfwd bugfix: segfault or error if port not given * lookup table bugfix: data race on lookup table reload * testbench modernization * testbench: fix invalid sequence of kafka tests runs * testbench: fix kafkacat issues * testbench: fix year-dependendt clickhouse test- Upgrade to rsyslog 8.2012.0: * testbench bugfix: some tests did not work in make distcheck * immark: rewrite with many improvements * usability: re-phrase error message to help users better understand cause * add new system property $now-unixtimestamp * omfwd: add new rate limit option * omfwd bug: param "StreamDriver.PermitExpiredCerts" is not "off" by default- prepare usrmerge (boo#1029961)- fix location and naming of journald dropin (bsc#1178288)- remove legacy stuff from specfile * sysvinit is not supported anymore, so remove all tests related to systemv in the specfile- Upgrade to rsyslog 8.2010.0: * gnutls TLS subsystem bugfix: handshake error handling * core/msg bugfix: memory leak * core/msg bugfix: segfault in jsonPathFindNext() when not an object * openssl TLS subsystem: improvments of error and status messages * add 'exists()' script function to check if variable exists * core bugfix: do not create empty JSON objects on non-existent key access * gnutls subsysem bugfix: potential hang on session closure * core/network bugfix: obey net.enableDNS=off when querying local hostname * core bugfix: potential segfault on query of PROGRAMNAME property * imtcp bugfix: broken connection not necessariy detected * new module: imhttp - http input * mmdarwin bugfix: potential zero uuid when reusing existing one * imdocker bugfix: build issue on some platforms * omudpspoof bugfix: make compatbile with Solaris build * testbench fix: python 3 incompatibility * core bugfix: segfault if disk-queue file cannot be created * cosmetic: fix dummy module name in debug output * config bugfix: intended warning emitted as error- Upgrade to rsyslog 8.2008.0 Way too many changes since 8.39.0 to be listed here. - Added custom unit file rsyslog.service because systemd service file was removed from upstream project - Removed obsolete patches: * 0001-satisfy-gcc-flag-fno-common.patch * rsyslog-pgsql-pkg-config.patch * rsyslog-unit.patch- Use systemd_ordering instead of requiring to make rsyslog useable in containers.- Fix the URL for bug reporting, should not point to novell.com (bsc#1173433)- Add support for omkafka which is now in Factory, and 15.x repos- avoid build error with gcc flag -fno-common (bsc#1160414) * add 0001-satisfy-gcc-flag-fno-common.patch- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by firewalld, see [1]. [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html- Add rsyslog-pgsql-pkg-config.patch: use pkgconfig to find the right libraries/directories for postgresql. According to pgsql upstream, pg_config must only be used to buildpgsql modules.- set default permissions before include directives (bsc#1126233) * Logfile open modes depend on position in the config file, see https://www.rsyslog.com/doc/rsconf1_filecreatemode.html- Upgrade to rsyslog 8.39.0 * imfile: improve truncation detection * imjournal: work around journald excessive reloading behavior * errmsg: remove no longer needed code * queue bugfix: invalid error message on queue startup * bugfix imrelp: regression with legacy configuration startup fail * bugfix imudp: stall of connection and/or potential segfault * bugfix gcry crypto driver: small memleak * fix potential misadressing in encryption subsystem * ksi subsystem changes * bugfix core: regex compile error messages could be incorrect * bugfix core: potential hang on rsyslog termination * bugfix imkafka: system hang when backgrounded * bugfix imfile: file change was not reliably detected * bugfix imrelp: do not fail build if librelp does not have relpSrvSetLstnAddr * bugfix queue subsystem: DA queue did ignore encryption settings * bugfix KSI: lmsig-ksils12 module skips signing the last block * bugfix fmhash: function hash64mod sometimes returned wrong result * bugfix core/debug: data written to random fd 2 under some debug settings- rsyslog configuration cleanup by filter rules in separate files (bug#1102720) * add parsing of additional filter rules in /etc/rsyslog.d/*.frule * add acpid.frule, firewall.frule, NetworkManager.frule- Enable ForwardToSyslog for journald to get syslog messages [bsc#1110456]- Update to rsyslog 8.38.0: * imfile: support for endmsg.regex * omhttp: new contribued module * imrelp: add support for seting address to bind to (#894) * ommysql: support mysql unix domain socket * omusrmsg: do not fall back to max username length of 8 * various bug fixes and minor updates to other modules and core * various fixes for memory leaks- remove references to obsolete SYSLOG_REQUIRES_NETWORK variable (bsc#1101642)- rsyslog 8.36.0: * Liblogging-stdlog deprecated * OpenSSL based TLS driver added in addition to GnuTLS * GnuTLS TLS driver: support intermediate certificates * imptcp: add ability to configure socket backlog * fmhash: new hash function module * updates and fixes to various modules * omfwd: add support for bind-to-address for UDP * mmkubernetes: new module - updates and fixes to various modules- fix CVE-2015-3243 rsyslog: some log files are created world-readable (bsc#935393)- rsyslog 8.33.1: * devcontainer: use some more sensible defaults * auto-detect if running inside a container (as pid 1) * config: add include() script object * template: add option to generate json "container" * core/template: add format jsonf to constant template entries * config: add ability to disable config parameter ("config.enable") * script: permit to use environment variables during configuration * new global config parameter "shutdown.enable.ctlc" * config optimizer: detect totally empty "if" statements and optimize them out * template: constant entry can now also be formatted as json field * omstdout: support for new-style configuration parameters added * core: set TZ on startup if not already set * imjournal bugfix: file handle leak during journal rotation * lmsig_ksils12 bugfix: dirOwner and dirGroup config was not respected * script bugfix: replace() function worked incorrectly in some cases * core bugfix: misadressing in external command parser * core bugfix: small memory leak in external command parser * core bugfix: string not properly terminated when RFC5424 MSGID is used * bugfix: strndup() compatibility layer func copies too much - the upstream systemd unit file was changed to no longer write the rsyslog pid, as it is no longer required for tracking under systemd (-iNONE). Adjust rsyslog-unit.patch to match.- Use %license instead of %doc [bsc#1082318]- fix includes for apparmor profile (bsc#1080238)- rsyslog 8.32.0 * libfastjson 0.99.8 required * libczmq >= 3.0.2 is now required for omczmq * libcurl is now needed for rsyslog core * rsyslogd: add capability to specify that no pid file shall be written * core improvements and bug fixes * RainerScript improvements and bug fixes * build fixes, including gcc7 fixes drop 0001-imgssapi-fix-compiler-warnings.patch * various bug fixes in multiple modules- remove build dependency on libee- Disable news by default, we don't need to clobber all systems with this for the very few remaining news servers- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Ensure user "news" exists - bsc#1068678- rsyslog 8.30.0 * changed behaviour: all variables are now case-insensitive by default * core: handle (JSON) variables in case-insensitive way * imjournal: made switching to persistent journal in runtime possible * mmanon: complete refactor and enhancements * imfile: add "fileoffset" metadata * RainerScript: add ltrim and rtrim functions * core: report module name when suspending action * core: add ability to limit number of error messages going to stderr * tcpsrv subsystem: improvate clarity of some error messages * imptcp: include module name in error msg * imtcp: include module name in error msg * tls improvement: better error message if certificate file cannot be read * omfwd: slightly improved error messages during config parsing * ommysql improvements * ommysql bugfix: do not duplicate entries on failed transaction * imtcp bugfix: parameter priorityString was ignored * template/bugfix: invalid template option conflict detection * core/actions: fix handling of data-induced errors * core/action bugfix: no "action suspended" message during retry processing * core/ratelimit bugfix: race can lead to segfault * core bugfix: rsyslog aborts if errmsg is generated in early startup * core bugfix: informational messages was logged with error severity * core bugfix: --enable-debugless build was broken * queue bugfix: file write error message was incorrect * omrelp bugfix: segfault when rebindinterval parameter is used * omkafka bugfix: invalid load of failedmsg file on startup if disabled * kafka bugfix: problem on invalid kafka configuration values * imudp bugfix: UDP oversize message not properly handled * core bugfix: memory corruption during configuration parsing * core bugfix: race on worker thread termination during shutdown * omelasticsearch: avoid ES5 warnings while sending json in bulkmode * omelasticsearch bugfix: incompatibility with newer ElasticSearch version * imptcp bugfix: invalid mutex addressing on some platforms * imptcp bugfix: do not accept missing port in legacy listener definition - build requirements: * libfastjson 0.99.7 is now mandatory * libsystemd-journal >= 234 is now recommended - packaging: * add upstream build fix 0001-imgssapi-fix-compiler-warnings.patch- rsyslog 8.29.0: * imptcp: add experimental parameter "multiline" * imptcp: framing-related error messages now also indicate remote peer * imtcp: framing-related error messages now also indicate remote peer * imptcp: add session statistics conunter * imtcp: add ability to specify GnuTLS priority string * impstats: add new ressoure counter "openfiles" * pmnormalize: new parser module * core/queue: provide informational messages on thread startup and shutdown * omfwd/udp: improve error reporting, depricate maxerrormessages parameter * core: add parameters debug.file and debug.whitelist * core/net.c: improve UDP socket creation error messages * omfwd/udp: add "udp.sendbuf" parameter * core: make rsyslog internal message rate-limiter configurable * omelasticsearch bugfixes and changed ES5 API support + avoid 404 during health check + avoid ES5 warnings while sending json + bugfix for memomry leak while writing error file * imfile bugfix: wildcard detection issue on path wildcards * omfwd bugfix: always give reason for suspension * omfwd bugfix: configured compression level was not properly used * imptcp bugfix: potential socket leak on session shutdown * omfwd/omudpspoof bugfix: switch udp client sockets to nonblocking mode * imklog: fix permitnonkernelfacility not working * impstats bugfix: impstats does not handle HUP * core bugfix: segfault after configuration errors * core/queue bugfixes * lmsig_ksi: removed pre-KSI_LS12 componentsVersion 8.28.0 [v8-stable] 2017-06-27 * omfwd: add parameter "tcp_frameDelimiter" * omkafka: large refactor of kafka subsystem * imfile: improved handling of atomically renamed file (w/ wildcards) * imfile: add capability to truncate oversize messages or split into multiple * mmdblookup fixes and extensions * bugfix: fixed multiple memory leaks * imptcp: add new parameter "flowControl" * imrelp: add "maxDataSize" config parameter * multiple modules: gtls: improve error if certificate file can't be opened * omsnare: allow different tab escapes * omelasticsearch: converted to use libfastjson instead of json-c * imjournal: _PID fallback * added fallback for _PID proprety when SYSLOG_PID is not available * introduced new option "usepid" which sets which property should rsyslog use, it has 3 states system|syslog|both, default is both * deprecated "usepidfromsystem" option, still can be used and override the "usepid" * it is possible to revert previous default with usepid="syslog" * multiple modules: add better error messages when regcomp is failing * omhiredis: fix build warnings * imfile bugfix: files mv-ed in into directory were not handled * omprog bugfix: execve() incorrectly called * imfile bugfix: multiline timeout did not work if state file exists * lmsig_ksi-ls12 bugfix: build problems on some platforms * core bugfix: invalid object type assertion * regression fix: local hostname was not always detected properly... * bugfix: format security issues in zmq3 modules (bsc#1051798) * bugfix build system: add libksi only to those binaries that need it * bugfix KSI ls12 components: invalid tree height calculation- Drop module-guardtime package * Upstream libgt died and it does not work with new opensslVersion 8.27.0 [v8-stable] 2017-05-16 - imkafka: add module - imptcp enhancements: * optionally emit an error message if incoming messages are truncated * optionally emit connection tracking message (on connection create and close) * add "maxFrameSize" parameter to specify the maximum size permitted in octet-counted mode * add parameter "discardTruncatedMsg" to permit truncation of oversize messages * improve octect-counted mode detection: if the octet count is larger then the set frame size (or overly large in general), it is now assumed that octet-stuffing mode is used. This probably solves a number of issues seen in real deployments. - imtcp enhancements: * add parameter "discardTruncatedMsg" to permit truncation of oversize messages * add "maxFrameSize" parameter to specify the maximum size permitted in octet-counted mode - imfile bugfix: "file not found error" repeatedly being reported for configured non-existing file. In polling mode, this message appeared once in each polling cycle, causing a potentially very large amout of error messages. Note that they were usually emitted too infrequently to trigger the error message rate limiter, albeit often enough to be a major annoance. - imfile: in inotify mode, add error message if configured file cannot be found - imfile: add parameter "fileNotFoundError" to optinally disable "file not found" error messages - core: replaced gethostbyname() with getaddrinfo() call Gethostbyname() is generally considered obsolete, is not reentrant and cannot really work with IPv6. Changed the only place in rsyslog where this call remained. Thanks to github user jvymazal for the patch - omkafka: add "origin" field to stats output See also https://github.com/rsyslog/rsyslog/issues/1508 Thanks to Yury Bushmelev for providing the patch. - imuxsock: rate-limiting also uses process name both for the actual limit procesing as well as warning messages emitted see also https://github.com/rsyslog/rsyslog/pull/1520 Thanks to github user jvymazal for the patch - Added new module: KSI log signing ver. 1.2 (lmsig_ksi_ls12) - rsylsog base functionality now builds on osx (Mac) Thanks to github user hdatma for his help in getting this done. - build now works on solaris again - imfile: fix cross-platform build issue see also https://github.com/rsyslog/rsyslog/issues/1494 Thanks to Felix Janda for bug report and solution suggestion. - bugfix core: segfault when no parser could parse message- rsyslog 8.26.0: * liblognorm 2.0.3 is required for mmnormalize * enable internal error messages at all times * core: added logging name of source of rate-limited messages * omfwd: omfwd: add support for network namespaces * imrelp: honor input name if provided when submitting to impstats * imptcp: add ability to set owner/group/access perms for uds * mmnormalize: add ability to load a rulebase from action() parameter * pmrfc3164 improvements + permit to ignore leading space in MSG + permit to use at-sign in host names + permit to require tag to end in colon * add new global parameter "umask" * core: make use of -T command line option more secure * omfile: add error if both file and dynafile are set * bugfix: build problem on MacOS (not a supported platform) * regression fix: in 8.25, str2num() returned error on empty string * bugfix omsnmp: improper handling of new-style configuration parameters * bugfix: rsyslog identifies itself as "liblogging-stdlog" in internal messages * bugfix imfile: wrong files were monitored when using multiple imfile inputs * bugfix: setting net.aclResolveHostname/net.acladdhostnameonfail segfaults * bugfix: immark emitted error messages with text "imuxsock" * bugfix tcpflood: build failed if RELP was disabled * fix gcc6 compiler warnings * the output module array passing interface has been removed- use 8.25.0 documentation tarball- rsyslog 8.25.0: * imfile: add support for wildcards in directory names * add new global option "parser.PermitSlashInProgramname" * mmdblookup: fix build issues, code cleanup * improved debug output for queue corruption cases * an error message is now displayed when a directory owner cannot be set * rainerscript: add new function ipv42num * rainerscript: add new function num2ipv4 * bugfix: ratelimiter does not work correctly is time is set back * core: fix potential message loss in old-style transactional interface * bugfix queue subsystem: queue corrupted if certain msg props are used * bugfix imjournal: fixed situation when time goes backwards * bugfix: bFlushOnTxEnd == 0 not honored when writing w/o async writer * bugfix core: str2num mishandling empty strings * bugfix rainerscript: set/unset statement do not check variable name validity * bugfix mmrm1stspace: last character of rawmsg property was doubled * bugfix imtcp: fix very small (cosmetic) memory leak * However, the leak breaks memleak checks in the testbench.- sync bug and fate numbers from IBS changes.- rsyslog 8.24.0(fate#320546): * mmrm1stspace: new module; removes first space in MSG if present * KSI signature provider: file permissions can now be specified * omzmq: new features * when the hostname is empty, we now use "localhost-empty-hostname" * omelasticsearch: remove "asyncrepl" config parameter * omfwd: Add support for bind-to-device (see below on same for imudp) * imudp: Add support for bind-to-device * imudp: limit rcvbufsize parameter to max 1GiB * rainerscript: implement new "call_indirect" statement * bugfix imjournal: make state file handling more robust * bugfix core: lookup table reload was not properly integrated * bugfix core: potential dealock on shutdown * bugfix ommongodb: did not work in v8 due to invalid indirection * bugfix ommongodb: fix tryResume handling * bugfix omfwd: retry processing was not done correctly, could stall * bugfix imuxsock: segfault non shutdown when $OmitLocalLogging is on - contributed modules not enabled due to build issues: * mmdblookup: new maxminddb lookup message modify plugin- Replace pkgconfig(libsystemd-journal) BuildRequires with pkgconfig(libsystemd): the sub-libraries have been merged into libsystemd since 209 and have ultimately been removed since 230.- rsyslog 8.23.0: * requiring libfastjson 0.99.3 * KSI signatures: removed SHA2-224 hash algorithm * imfile: new timeout feature for multi-line reads * omfile: improve robustness against network file system failures * pmaixforwardedfrom: support for AIX syslogd -s option * omelasticsearch: add ability to specify max http request size * omelasticsearch: high availability addressing of ElasticSearch cluster * omelasticsearch: make compatible with ElasticSearch 2.x and 5.x * omhiredis: add dynakey attribute. * omtcl: new contributed module * RainerScript: provide a capability to set environment variables * lookup tables: improved error checking * queue subsystem: add configuration parameter "queue.samplinginterval" * various bug fixes * rsgtutil: option to specify KSI publications file certificate constraints - includes changes from 8.22.0: * ompgsql: add template support * generate somewhat better error message on config file syntax error - includes changes from 8.21.0: * CHANGE OF BEHAVIOUR: by default, internal messages are no longer logged via the internal bridge to rsyslog but via the syslog() API call [either directly or via liblogging). For the typical single-rsyslogd-instance installation this is mostly unnoticable (except for some additional latency). If multiple instances are run, only the "main" (the one processing system log messages) will see all messages. To return to the old behaviour, do either of those two: 1) add in rsyslog.conf: global(processInternalMessages="on") 2) export the environment variable RSYSLOG_DFLT_LOG_INTERNAL=1 This will set a new default - the value can still be overwritten via rsyslog.conf (method 1). Note that the environment variable must be set in your **startup script**. For more information, please visit http://www.rsyslog.com/rsyslog-error-reporting-improved/ * slightly improved TLS syslog error messages * queue subsystem: improved robustness- rsyslog 8.20.0: * omrelp: add configurable connection timeout * pmrfc3164: add support for slashes in hostname * bugfix omfile: handle chown() failure correctly * omfile now better conveys status of unwritable files back to core * config files recursively including themselfes are now detected * refactored code to not emit compiler warnings in "strict mode" * bugfix: fix some issues with action CommitTransaction() handling * bugfix omqmqp1: connecting to the message bus fails on nonstandard port * testbench/CI enhancements - Build requirements: * librelp 1.2.12- rsyslog 8.19.0: * omelasticsearch: add option to permit unsigned certs * imrelp: better error codes on unvailablity of TLS options * default stack size for inputs has been explicitely set to 4MiB * performance improvements * miscellaneous minor cleanup * fix: potential misadressing in template config processing * bugfix omfile: async output file writing does not respect flushing * bugfix imfile: corrupted multi-line message when state data was persisted * bugfix imfile: missing newline after first line of multiline message * bugfix: dynstats unusedMetricTtl bug * bugfix build system: build was broken on SunOS * bugfix: afterRun entry point not correctly called * bugfix dynstats: do not leak file handles * bugfix omelasticsearch: disable libCURL signal handling * bugfix omelasticsearc: some regressions were fixed * improved wording: gnutls error message points to potential cause- rsyslog 8.18.0(bnc#958728): * templates: add option to convert timestamps to UTC * omjournal: fix segfault (regression in 8.17.0) * imptcp: added AF_UNIX support * new template options * compressSpace * date-utc * redis: support for authentication * omkafka: makes kafka-producer on-HUP restart optional * imfile: new "FreshStartTail" input parameter * omjournal: fix libfastjson API issues * ommongodb: fix json API issues * dynamic stats subsystem: a couple of smaller changes * foreach loop: now also iterates over objects (not just arrays) * enhancement: queue subsystem is more robst in regard to some corruptions * enhancement: Allow rsyslog to bind UDP ports even w/out specific interface being up at the moment. * new External plugin for sending metrics to SPM Monitoring SaaS * bugfix imfile: fix memory corruption bug when appending @cee * bugfix: memory misallocation if position.from and position.to is used a negative amount of memory is tried to be allocated if position.from is smaller than the buffer size (at least with json variables). This usually leads to a segfault. * bugfix: fix potential memleak in TCP allowed sender definition * bugfix: $PrivDropToGroupID actually did a name lookup * bugfix: small memory leak in imfile * bugfix: double free in jsonmesg template * bugfix: incorrect formatting of stats when CEE/Json format is used * bugfix omfwd: new-style keepalive action parameters did not work due to being inconsistently spelled inside the code. Note that legacy parameters $keepalive... always worked * bugfix: memory leaks in logctl utility * bugfix omrelp: fix segfault if no port action parameter was given * bugfix imtcp: Messages not terminated by a NL were discarded- rsyslog 8.17.0: * improve json variable performance * new experimental feature: lookup table suport * new feature: dynamic statistics counters * new contributed plugin: omampq1 for AMQP 1.0-compliant brokers * new set of UTC-based $now family of variables ($now-utc, $year-utc, ...) * simplified locking when accessing message and local variables * new global parameter "debug.unloadModules" * timestamp handling: guard against invalid dates * imfile: add "trimlineoverbytes" input paramter * ommongodb: add support for extended json format for dates * omjournal: add support for templates * imuxsock: add "ruleset" input parameter(fate#320667) * imptcp: performance improvements * improve interface definition in some modules, e.g. mmanon, mmsequence * rsgtutil: dump mode improvements + auto-detect signature file type + ability to dump hash chains for log extraction files * bugfix: unixtimestamp date format was incorrectly computed (leap year) * bugfix: date-ordinal date format was incorrectly computed (leap year) * bugfix: some race when shutting down input module threads * bugfix tcpflood: did not handle connection drops correct in TLS case * bugfix: abort if global parameter value was wrong * bugfix omkafka: fix potential NULL pointer addressing * bugfix impstats: @cee cookie was prefixed to wrong fromat (json vs. cee) * bugfix imfile: fix race during startup that could lead to some duplication * bugfix: potential loss of single message at queue shutdown * bugfix: potential deadlock with heavy variable access * bugfix ommysql: on some platforms, serverport parameter had no effect * bugfix omelasticsearch: invalid pointer dereference * bugfix omhiredis: serverport config parameter did not reliably work * bugfix rsgtutil: -h command line option did not work * bugfix lexer: hex numbers were not properly represented * bugfix TLS syslog: intermittent errors while sending data * bugfix imfile: abort on startup if no slash was present in file name param * bugfix rsgtutil: fixed abort when using short command line options * bugfix rsgtutil: invalid computation of log record extraction file * bugfix build system: KSI components could only be build if in default path- rsyslog 8.16.0: * rsgtutil: Added extraction support including loglines and hash chains. * new system properties for $NOW properties based on UTC * various bug fixes and improvements- fix build on sle11: use package name buildrequires instead of pkgconfig- build with libfastjson (mandatory from 8.16.0)- rsyslog 8.15.0: * KSI (incompatible changes): + KSI utilities: Added option to set publication url via - -publications-server. Required for signature verification. + UserID and UserKey can be set by parameter + Fixed wrong TLV container for KSI signatures from 0905 to 0906. + somewhat improved error messages + Update for and use libksi 3.4.0.x * New contributed modules: + pmpanngfw: for translating Palo Alto Networks logs * pmciscoios: support for asterisk before timestamp added * solr external output plugin much enhanced * omrabbitmq: improvements * add support for libfastjson (as a replacement for json-c) * pmciscoios: support for some format variations * improvments for 0mq modules: + omczmq - suspend / Retry handling + omczmq - improved efficiency + omczmq - added ability to set a timeout for sends + omczmq - set topics can be in separate frame (default) or part of message frame (configurable) + imczmq - ZMQ_ROUTER support * Note the upstream supported modules not enabled in SUSE package: + grok (mmgrok) + omkafka * add support for building with libfastjson * bugfix: invalid mutex handling in omfile async write mode could lead to segfault, even though highly unlikely (caught by testbench on a single platform) (bsc#1000488)- rsyslog 8.14.0: * add property "rawmsg-after-pri" * bugfix: potential misadresseing in imfile * bugfix: re_extract RainerScript function did not work- rsyslog 8.13.0: * ZeroMQ enhancements * Redis enhancements * mmnormalize: liblognorm error messages are now emitted via regular rsyslog error reporting mechanism (aka "are now logged") * networking improvements - drop rsyslog-8.12.0-parallel-build.patch, is upstream - drop rsyslog-8.12.0-gnutls.patch, same- rsyslog 8.12.0: * Harmonize resetConfigVariables values and defaults * GT/KSI: fix some issues in signature file format and add conversion tool * bugfix: ommysql did not work when gnutls was enabled * bugfix omfile: potential memory leak on file close * bugfix omfile: potential race in dynafile detection/creation * bugfix omfile: Fix race-condition detection in path-creation code * bugfix parser subsystem: potential misadressing in SanitizeMsg() * imfile: files moved outside of directory are now (properly) handled * bugfix: imfile: segfault when using startmsg.regex * bugfix imfile: file table was corrupted when on file deletion * bugfix ompgsql: transaction were improperly handled * bugfix mmjsonparse: memory leak if non-cee-json message is processed * testbench: remove raciness from UDP based tests * testbench: added bash into all scripts makign it mandatory * bugfix testbench: Fixed problem building syslog_caller util when liblogging-stdlog is not available. - add upstream patches: * rsyslog-8.12.0-gnutls.patch to fix build with gnutls * rsyslog-8.12.0-parallel-build.patch to fix parallel build- rsyslog 8.11.0 - new features: * signature provider for Keyless Signature Infrastructure (KSI) - bug fixes: * imfile: regex multiline mode ignored escapeLF option * omkafka: fixed several concurrency issues, most of them related to dynamic topics. * execonlywhenpreviousissuspended did not work correctly * core engine: ensured global variable atomicity * imfile: segfault when using startmsg.regex because of empty log line- rsyslog 8.10.0: * imfile: add capability to process multi-line messages based on regex * pmrfc3164: add new parameter "detect.yearAfterTimestamp" * pmrfc3164: add new parameter "permit.squareBracesInHostname" * supplementary groups are now set when dropping privileges * imfile: added brace glob expansion to wildcard * zmq: add the ability for zeromq input and outputs to advertise their presence on UDP via the zbeacon API. * added omhttpfs: contributed module for writing to HDFS via HTTP * bug fixes - packaging changes: * build with GnuTLS support again as 3.4.0 is now supported- Documentation does not depend on the presence of anything- Adjusted apparmor profile based on the suggestions by Christian Boltz * Removed empty files: module-pgsql, module-relp, module-gssapi, module-gtls * Moved profiles to /usr/share/apparmor/extra-profiles/ * Blocked capability block_suspend plus some other small fixes- Adjusted apparmor profile to prevent aa-genprof failures (bnc#925512)- disable GnuTLS support, does not build with GnuTLS 3.4.0- rsyslog 8.9.0: - omprog: add option "hup.forward" to forwards HUP to external plugins - imuxsock: added capability to use regular parser chain - new sysSock.useSpecialParser module parameter - new sysSock.parseHostname module parameter - new useSpecialParser input parameter - new parseHostname input parameter - 0mq: improvements in input and output modules - imtcp: add support for ip based bind for imtcp -> param "address" - bugfix: MsgDeserialize out of sync with MsgSerialize for StrucData - bugfix imfile: partial data loss, especially in readMode != 0 - bugfix: potential large memory consumption with failed actions - bugfix: omudpspoof: invalid default send template in RainerScript format - bugfix: size-based legacy config statements did not work properly on some platforms, they were incorrectly handled, resulting in all sorts of "interesting" effects (up to segfault on startup) - build system: added option --without-valgrind-testbench ... which provides the capability to either enforce or turn off valgrind use inside the testbench. Thanks to whissi for the patch. - rsyslogd: fix misleading typos in error messa - remove upstreamed rsyslog-8.8.0-nonvoid-function-return.patch- rsyslog 8.8.0: - omkafka: add support for dynamic topics and auto partitioning - imtcp/imptcp: support for broken Cisco ASA TCP syslog framing - omfwd: more detailled error messages in case of UDP send error - TLS syslog: enable capability to turn on GnuTLS debug logging - bugfix: $AbortOnUncleanConfig did not work - improve rsyslogd -v output and error message with meta information - bugfix imtcp: octet-counted framing cannot be turned off - bugfix: build problems on Illuminos - bugfix: invalid data size for iMaxLine global property - bugfix: negative values for maxMessageSize global parameter were permitted - add upstream patch rsyslog-8.8.0-nonvoid-function-return.patch to fix compiler warnings/errors- rsyslog 8.7.0: - add message metadata "system" to msg object this permits to store metadata alongside the message - imfile: add support for "filename" metadata this is useful in cases where wildcards are used - imptcp: make stats counter names consistent with what imudp, imtcp uses - added new module "omkafka" to support writing to Apache Kafka - omfwd: add new "udp.senddelay" parameter - mmnormalize enhancements - RainerScript "foreach" iterator and array reading support Thanks to Janmejay Singh for the patch. - now requires liblognorm >= 1.0.2 - add support for systemd >= 209 library names - BSD "ntp" facility (value 12) is now also supported in filter Note: this patch was released under ASL 2.0 (see email-conversation). - bugfix: global(localHostName="xxx") was not respected in all modules - bugfix: emit correct error message on config-file-not-found - bugfix: impstats emitted invalid JSON format (if JSON was selected) - bugfix: (small) memory leak in omfile's outchannel code - bugfix: imuxsock did not deactivate some code not supported by platform - includes changes from 8.6.0: - configuration-setting rsyslogd command line options deprecated - new and enhanced plugins for 0mq. These are currently experimantal. - empty rulesets have been permitted. They no longer raise a syntax error. - add parameter -N3 to enable config check of partial config file Use for config include files. Disables checking if any action exists at all. - rsyslogd -e option has finally been removed It is deprectated since many years. - testbench improvements - testbench is now by default disabled - add new RainerScript functions warp() and replace() - mmnormalize can now also work on a variable - new property date options for day ordinal and week number - remove --enable-zlib configure option, we always require it - slight source-tree restructuring: contributed modules are now in their own ./contrib directory. The idea is to make it clearer to the end user which plugins are supported by the rsyslog project (those in ./plugins). - bugfix: imudp makes rsyslog hang on shutdown when more than 1 thread used - bugfix: not all files closed on auto-backgrounding startup - bugfix: typo in queue configuration parameter - bugfix: unitialized buffer off-by-one error in hostname generation - bugfix imuxsock: possible segfault when SysSock.Use="off" - bugfix: RainerScript: invalid ruleset names were accepted - bugfix: some module entry points were not called for all modules - bugfix omlibdbi: connection was taken down in wrong thread - imttcp was removed because it was an incompleted experimental module - pmrfc3164sd because it was a custom module nobody used - omoracle was removed because it was orphaned and did not build/work for quite some years and nobody was interested in fixing it - includes changes from 8.5.0: - imfile greatly refactored and support for wildcards added - PRI-handling code refactored for more clarity and robustness - ommail: add support for RainerScript config system [action() object] - refactored the auto-backgrounding method - make gntls tcp syslog driver emit more error messages - bugfix: imfile did not complain if configured file did not exist - bugfix: build failure on systems which don't have json_tokener_errors - imgssapi: log remote peer address in some error messages - includes changes from 8.4.3: - ommail: minor bugfixes & improvements - bugfix imkmsg: infinite loop on OpenVZ VMs - bugfix: typo in queue configuration parameter made parameter unusable - bugfix: unitialized buffer off-by-one error in hostname generation - bugfix imfile: segfault on startup in "inotify" mode - bugfix imfile: could make rsyslog exit in inotify mode - bugfix: rsgtutil sometimes crashed in verify mode if file did not exist - bugfix imklog: pri was miscalculated - bugfix: imjournal did not build properly - bugfix: mmcount did no longer build - bugfix imuxsock: possible segfault when SysSock.Use="off" - rsyslog Version 8.5.0 fixed bsc#992146- set file permissions only on first install [boo#899316]- Changed BuildRequires dependencies for SLES11SP3 - BuildRequires: libjson-c-devel - BuildRequires: libestr-devel - BuildRequires: liblogging-devel - BuildRequires: librelp-devel - BuildRequires: libee-devel - BuildRequires: liblognorm-devel - BuildRequires: libuuid-devel- fix shebang of rsyslog-service-prepare scriptibs-power9-17 1751279180  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.2406.0-150600.12.8.18.2406.0-150600.12.8.1      !!!!!!!""""""######################################""""""""$$$$$$%%%%%%%%%%%%%%%%%%%%%&&&&&&'''''''''''''''''((((((()))))))))*+++++++++++++***********,,-------------****........***////////////////////////////////////////////////////////////////////////////////////////********000***11122222222334455555666667899999999998:;;;:<<<:=:8>>??>@@@888AAAAAAA777BBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBBBBDDDDDDEEEEEEEEEEEEEEEEEEEEEFFFFFFrsysloghtml_downloads7e57a40acf92e68e8c6a36de79acc04drsyslog-example.confbf08dfea890059c75c37b3bf8a833be8cert-script.tar.gz_imagesdataflow.pngdirect_queue0.pngdirect_queue1.pngdirect_queue2.pngdirect_queue3.pngdirect_queue_directq.pngdirect_queue_rsyslog.pngdirect_queue_rsyslog2.pnggssapi.pngmodule_workflow.pngqueueWorkerLogic.jpgqueue_analogy_tv.pngrfc5424layers.pngrsyslog_confgraph_complex.pngrsyslog_confgraph_std.pngtls_cert.jpgtls_cert_100.jpgtls_cert_ca.jpg_sourcescommunity.rst.txtcompatibilityindex.rst.txtv3compatibility.rst.txtv4compatibility.rst.txtv5compatibility.rst.txtv6compatibility.rst.txtv7compatibility.rst.txtv8compatibility.rst.txtconceptsindex.rst.txtjanitor.rst.txtmessageparser.rst.txtmulti_ruleset.rst.txtnetstrm_drvr.rst.txtns_gtls.rst.txtns_ossl.rst.txtns_ptcp.rst.txtqueues.rst.txtconfigurationactionindex.rst.txtrsconf1_actionexeconlywhenpreviousissuspended.rst.txtrsconf1_actionresumeinterval.rst.txtrsconf1_dirgroup.rst.txtrsconf1_dirowner.rst.txtrsconf1_dynafilecachesize.rst.txtrsconf1_filecreatemode.rst.txtrsconf1_filegroup.rst.txtrsconf1_fileowner.rst.txtrsconf1_gssforwardservicename.rst.txtrsconf1_gssmode.rst.txtrsconf1_omfileforcechown.rst.txtrsconf1_repeatedmsgreduction.rst.txtactions.rst.txtbasic_structure.rst.txtconf_formats.rst.txtconfig_param_types.rst.txtconverting_to_new_format.rst.txtcryprov_gcry.rst.txtdroppriv.rst.txtdyn_stats.rst.txtexamples.rst.txtfilters.rst.txtglobalindex.rst.txtoptionsrsconf1_abortonuncleanconfig.rst.txtrsconf1_debugprintcfsyslinehandlerlist.rst.txtrsconf1_debugprintmodulelist.rst.txtrsconf1_debugprinttemplatelist.rst.txtrsconf1_failonchownfailure.rst.txtrsconf1_generateconfiggraph.rst.txtrsconf1_includeconfig.rst.txtrsconf1_mainmsgqueuesize.rst.txtrsconf1_maxopenfiles.rst.txtrsconf1_moddir.rst.txtrsconf1_modload.rst.txtrsconf1_resetconfigvariables.rst.txtrsconf1_umask.rst.txtindex.rst.txtindex_directives.rst.txtinput.rst.txtinput_directivesindex.rst.txtrsconf1_allowedsender.rst.txtrsconf1_controlcharacterescapeprefix.rst.txtrsconf1_dropmsgswithmaliciousdnsptrrecords.rst.txtrsconf1_droptrailinglfonreception.rst.txtrsconf1_escape8bitcharsonreceive.rst.txtrsconf1_escapecontrolcharactersonreceive.rst.txtrsconf1_markmessageperiod.rst.txtipv6.rst.txtlookup_tables.rst.txtmodulesgssapi.rst.txtidx_input.rst.txtidx_library.rst.txtidx_messagemod.rst.txtidx_output.rst.txtidx_parser.rst.txtidx_stringgen.rst.txtim3195.rst.txtimbatchreport.rst.txtimdocker.rst.txtimdtls.rst.txtimfile.rst.txtimgssapi.rst.txtimhiredis.rst.txtimhttp.rst.txtimjournal.rst.txtimkafka.rst.txtimklog.rst.txtimkmsg.rst.txtimmark.rst.txtimpcap.rst.txtimprog.rst.txtimpstats.rst.txtimptcp.rst.txtimrelp.rst.txtimsolaris.rst.txtimtcp.rst.txtimtuxedoulog.rst.txtimudp.rst.txtimuxsock.rst.txtindex.rst.txtmmanon.rst.txtmmcount.rst.txtmmdarwin.rst.txtmmdblookup.rst.txtmmexternal.rst.txtmmfields.rst.txtmmjsonparse.rst.txtmmkubernetes.rst.txtmmnormalize.rst.txtmmpstrucdata.rst.txtmmrfc5424addhmac.rst.txtmmrm1stspace.rst.txtmmsequence.rst.txtmmsnmptrapd.rst.txtmmtaghostname.rst.txtmmutf8fix.rst.txtomamqp1.rst.txtomazureeventhubs.rst.txtomclickhouse.rst.txtomdtls.rst.txtomelasticsearch.rst.txtomfile.rst.txtomfwd.rst.txtomhdfs.rst.txtomhiredis.rst.txtomhttp.rst.txtomhttpfs.rst.txtomjournal.rst.txtomkafka.rst.txtomlibdbi.rst.txtommail.rst.txtommongodb.rst.txtommysql.rst.txtomoracle.rst.txtompgsql.rst.txtompipe.rst.txtomprog.rst.txtomrabbitmq.rst.txtomrelp.rst.txtomruleset.rst.txtomsnmp.rst.txtomstdout.rst.txtomudpspoof.rst.txtomusrmsg.rst.txtomuxsock.rst.txtpmciscoios.rst.txtpmdb2diag.rst.txtpmlastmsg.rst.txtpmnormalize.rst.txtpmnull.rst.txtpmrfc3164.rst.txtpmrfc3164sd.rst.txtpmrfc5424.rst.txtsigprov_gt.rst.txtsigprov_ksi.rst.txtsigprov_ksi12.rst.txtworkflow.rst.txtnomatch.rst.txtoutput_channels.rst.txtparser.rst.txtpercentile_stats.rst.txtproperties.rst.txtproperty_replacer.rst.txtrsyslog_statistic_counter.rst.txtrulesetindex.rst.txtrsconf1_rulesetcreatemainqueue.rst.txtrsconf1_rulesetparser.rst.txtsysklogd_format.rst.txttemplates.rst.txttimezone.rst.txtcontainerscontainer_features.rst.txtdocker_specifics.rst.txtindex.rst.txtdevelopmentconfig_data_model.rst.txtdebugging.rst.txtdev_codestyle.rst.txtdev_oplugins.rst.txtdev_queue.rst.txtdev_testbench.rst.txtgeneric_design.rst.txtindex.rst.txtexampleshigh_performance.rst.txtindex.rst.txtfaqdifference_queues.rst.txtindex.rst.txtfeatures.rst.txtfree_support.rst.txthistoricalindex.rst.txtmodule_devel.rst.txtmulti_ruleset_legacy_format_samples.rst.txtphp_syslog_ng.rst.txtstunnel.rst.txthistory.rst.txthow2help.rst.txtindex.rst.txtinstallationbuild_from_repo.rst.txtindex.rst.txtinstall_from_source.rst.txtpackages.rst.txtrsyslog_docker.rst.txtlicensing.rst.txtproposalsbig_restructuringbookextending.rst.txtfirst_setup.rst.txtindex.rst.txtinput.rst.txtinstalling.rst.txtlanguage.rst.txtoutput.rst.txtoverview.rst.txtqueues.rst.txtsecurity.rst.txtcontributingcodegit.rst.txtindex.rst.txtstandards.rst.txtcommunityindex.rst.txtother.rst.txtreleases.rst.txtdocumentationindex.rst.txtindex.rst.txtcookbookindex.rst.txtsetupcentralised_logging_logstash.rst.txtindex.rst.txttemplatesindex.rst.txtrfc3164.rst.txtrfc5424.rst.txtdocumentation_review.rst.txtindex.rst.txtreferenceaction.rst.txtglobal.rst.txtindex.rst.txtinput.rst.txtmodule.rst.txtparser.rst.txttimezone.rst.txtindex.rst.txtlookup_tables.rst.txtversion_naming.rst.txtrainerscriptconfiguration_objects.rst.txtconstant_strings.rst.txtcontrol_structures.rst.txtdata_types.rst.txtexpressions.rst.txtfunctionsidx_built-in_functions.rst.txtidx_module_functions.rst.txtindex.rst.txtmo-ffaup.rst.txtmo-hashXX.rst.txtmo-hashXXmod.rst.txtmo-http_request.rst.txtmo-unflatten.rst.txtrs-cnum.rst.txtrs-cstr.rst.txtrs-dyn_inc.rst.txtrs-exec_template.rst.txtrs-exists.rst.txtrs-field.rst.txtrs-format_time.rst.txtrs-get_property.rst.txtrs-getenv.rst.txtrs-int2hex.rst.txtrs-ipv4convert.rst.txtrs-is_time.rst.txtrs-lookup.rst.txtrs-parse_json.rst.txtrs-parse_time.rst.txtrs-percentile_observe.rst.txtrs-previous_action_suspended.rst.txtrs-prifilt.rst.txtrs-random.rst.txtrs-re_extract.rst.txtrs-re_extract_i.rst.txtrs-re_match.rst.txtrs-re_match_i.rst.txtrs-replace.rst.txtrs-script_error.rst.txtrs-strlen.rst.txtrs-substring.rst.txtrs-tolower.rst.txtrs-trim.rst.txtrs-wrap.rst.txtglobal.rst.txtinclude.rst.txtindex.rst.txtlookup_tables.rst.txtqueue_parameters.rst.txtrainerscript_call.rst.txtrainerscript_call_indirect.rst.txtvariable_property_types.rst.txttroubleshootingdebug.rst.txtfile_not_written.rst.txthowtodebug.rst.txtindex.rst.txtselinux.rst.txttroubleshoot.rst.txttutorialsdatabase.rst.txtfailover_syslog_server.rst.txtgelf_forwarding.rst.txthash_sampling.rst.txthigh_database_rate.rst.txtindex.rst.txtlog_rotation_fix_size.rst.txtlog_sampling.rst.txtrandom_sampling.rst.txtrecording_pri.rst.txtreliable_forwarding.rst.txttls.rst.txttls_cert_ca.rst.txttls_cert_client.rst.txttls_cert_errmsgs.rst.txttls_cert_machine.rst.txttls_cert_scenario.rst.txttls_cert_script.rst.txttls_cert_server.rst.txttls_cert_summary.rst.txttls_cert_udp_relay.rst.txtwhitepapersindex.rst.txtpreserve_in_nat.rst.txtqueues_analogy.rst.txtreliable_logging.rst.txtsyslog_parsing.rst.txtsyslog_protocol.rst.txt_staticbasic.cssclassic.cssdefault.cssdoctools.jsdocumentation_options.jsfile.pngjquery-3.5.1.jsjquery.jslanguage_data.jsminus.pngplus.pngpygments.cssrsyslog.csssearchtools.jssidebar.jsunderscore-1.13.1.jsunderscore.jscommunity.htmlcompatibilityindex.htmlv3compatibility.htmlv4compatibility.htmlv5compatibility.htmlv6compatibility.htmlv7compatibility.htmlv8compatibility.htmlconceptsindex.htmljanitor.htmlmessageparser.htmlmulti_ruleset.htmlnetstrm_drvr.htmlns_gtls.htmlns_ossl.htmlns_ptcp.htmlqueues.htmlconfigurationactionindex.htmlrsconf1_actionexeconlywhenpreviousissuspended.htmlrsconf1_actionresumeinterval.htmlrsconf1_dirgroup.htmlrsconf1_dirowner.htmlrsconf1_dynafilecachesize.htmlrsconf1_filecreatemode.htmlrsconf1_filegroup.htmlrsconf1_fileowner.htmlrsconf1_gssforwardservicename.htmlrsconf1_gssmode.htmlrsconf1_omfileforcechown.htmlrsconf1_repeatedmsgreduction.htmlactions.htmlbasic_structure.htmlconf_formats.htmlconfig_param_types.htmlconverting_to_new_format.htmlcryprov_gcry.htmldroppriv.htmldyn_stats.htmlexamples.htmlfilters.htmlglobalindex.htmloptionsrsconf1_abortonuncleanconfig.htmlrsconf1_debugprintcfsyslinehandlerlist.htmlrsconf1_debugprintmodulelist.htmlrsconf1_debugprinttemplatelist.htmlrsconf1_failonchownfailure.htmlrsconf1_generateconfiggraph.htmlrsconf1_includeconfig.htmlrsconf1_mainmsgqueuesize.htmlrsconf1_maxopenfiles.htmlrsconf1_moddir.htmlrsconf1_modload.htmlrsconf1_resetconfigvariables.htmlrsconf1_umask.htmlindex.htmlindex_directives.htmlinput.htmlinput_directivesindex.htmlrsconf1_allowedsender.htmlrsconf1_controlcharacterescapeprefix.htmlrsconf1_dropmsgswithmaliciousdnsptrrecords.htmlrsconf1_droptrailinglfonreception.htmlrsconf1_escape8bitcharsonreceive.htmlrsconf1_escapecontrolcharactersonreceive.htmlrsconf1_markmessageperiod.htmlipv6.htmllookup_tables.htmlmodulesgssapi.htmlidx_input.htmlidx_library.htmlidx_messagemod.htmlidx_output.htmlidx_parser.htmlidx_stringgen.htmlim3195.htmlimbatchreport.htmlimdocker.htmlimdtls.htmlimfile.htmlimgssapi.htmlimhiredis.htmlimhttp.htmlimjournal.htmlimkafka.htmlimklog.htmlimkmsg.htmlimmark.htmlimpcap.htmlimprog.htmlimpstats.htmlimptcp.htmlimrelp.htmlimsolaris.htmlimtcp.htmlimtuxedoulog.htmlimudp.htmlimuxsock.htmlindex.htmlmmanon.htmlmmcount.htmlmmdarwin.htmlmmdblookup.htmlmmexternal.htmlmmfields.htmlmmjsonparse.htmlmmkubernetes.htmlmmnormalize.htmlmmpstrucdata.htmlmmrfc5424addhmac.htmlmmrm1stspace.htmlmmsequence.htmlmmsnmptrapd.htmlmmtaghostname.htmlmmutf8fix.htmlomamqp1.htmlomazureeventhubs.htmlomclickhouse.htmlomdtls.htmlomelasticsearch.htmlomfile.htmlomfwd.htmlomhdfs.htmlomhiredis.htmlomhttp.htmlomhttpfs.htmlomjournal.htmlomkafka.htmlomlibdbi.htmlommail.htmlommongodb.htmlommysql.htmlomoracle.htmlompgsql.htmlompipe.htmlomprog.htmlomrabbitmq.htmlomrelp.htmlomruleset.htmlomsnmp.htmlomstdout.htmlomudpspoof.htmlomusrmsg.htmlomuxsock.htmlpmciscoios.htmlpmdb2diag.htmlpmlastmsg.htmlpmnormalize.htmlpmnull.htmlpmrfc3164.htmlpmrfc3164sd.htmlpmrfc5424.htmlsigprov_gt.htmlsigprov_ksi.htmlsigprov_ksi12.htmlworkflow.htmlnomatch.htmloutput_channels.htmlparser.htmlpercentile_stats.htmlproperties.htmlproperty_replacer.htmlrsyslog_statistic_counter.htmlrulesetindex.htmlrsconf1_rulesetcreatemainqueue.htmlrsconf1_rulesetparser.htmlsysklogd_format.htmltemplates.htmltimezone.htmlcontainerscontainer_features.htmldocker_specifics.htmlindex.htmldevelopmentconfig_data_model.htmldebugging.htmldev_codestyle.htmldev_oplugins.htmldev_queue.htmldev_testbench.htmlgeneric_design.htmlindex.htmlexampleshigh_performance.htmlindex.htmlfaqdifference_queues.htmlindex.htmlfeatures.htmlfree_support.htmlgenindex.htmlhistoricalindex.htmlmodule_devel.htmlmulti_ruleset_legacy_format_samples.htmlphp_syslog_ng.htmlstunnel.htmlhistory.htmlhow2help.htmlindex.htmlinstallationbuild_from_repo.htmlindex.htmlinstall_from_source.htmlpackages.htmlrsyslog_docker.htmllicensing.htmlobjects.invproposalsbig_restructuringbookextending.htmlfirst_setup.htmlindex.htmlinput.htmlinstalling.htmllanguage.htmloutput.htmloverview.htmlqueues.htmlsecurity.htmlcontributingcodegit.htmlindex.htmlstandards.htmlcommunityindex.htmlother.htmlreleases.htmldocumentationindex.htmlindex.htmlcookbookindex.htmlsetupcentralised_logging_logstash.htmlindex.htmltemplatesindex.htmlrfc3164.htmlrfc5424.htmldocumentation_review.htmlindex.htmlreferenceaction.htmlglobal.htmlindex.htmlinput.htmlmodule.htmlparser.htmltimezone.htmlindex.htmllookup_tables.htmlversion_naming.htmlrainerscriptconfiguration_objects.htmlconstant_strings.htmlcontrol_structures.htmldata_types.htmlexpressions.htmlfunctionsidx_built-in_functions.htmlidx_module_functions.htmlindex.htmlmo-ffaup.htmlmo-hashXX.htmlmo-hashXXmod.htmlmo-http_request.htmlmo-unflatten.htmlrs-cnum.htmlrs-cstr.htmlrs-dyn_inc.htmlrs-exec_template.htmlrs-exists.htmlrs-field.htmlrs-format_time.htmlrs-get_property.htmlrs-getenv.htmlrs-int2hex.htmlrs-ipv4convert.htmlrs-is_time.htmlrs-lookup.htmlrs-parse_json.htmlrs-parse_time.htmlrs-percentile_observe.htmlrs-previous_action_suspended.htmlrs-prifilt.htmlrs-random.htmlrs-re_extract.htmlrs-re_extract_i.htmlrs-re_match.htmlrs-re_match_i.htmlrs-replace.htmlrs-script_error.htmlrs-strlen.htmlrs-substring.htmlrs-tolower.htmlrs-trim.htmlrs-wrap.htmlglobal.htmlinclude.htmlindex.htmllookup_tables.htmlqueue_parameters.htmlrainerscript_call.htmlrainerscript_call_indirect.htmlvariable_property_types.htmlsearch.htmlsearchindex.jstroubleshootingdebug.htmlfile_not_written.htmlhowtodebug.htmlindex.htmlselinux.htmltroubleshoot.htmltutorialsdatabase.htmlfailover_syslog_server.htmlgelf_forwarding.htmlhash_sampling.htmlhigh_database_rate.htmlindex.htmllog_rotation_fix_size.htmllog_sampling.htmlrandom_sampling.htmlrecording_pri.htmlreliable_forwarding.htmltls.htmltls_cert_ca.htmltls_cert_client.htmltls_cert_errmsgs.htmltls_cert_machine.htmltls_cert_scenario.htmltls_cert_script.htmltls_cert_server.htmltls_cert_summary.htmltls_cert_udp_relay.htmlwhitepapersindex.htmlpreserve_in_nat.htmlqueues_analogy.htmlreliable_logging.htmlsyslog_parsing.htmlsyslog_protocol.html/usr/share/doc/packages//usr/share/doc/packages/rsyslog//usr/share/doc/packages/rsyslog/html//usr/share/doc/packages/rsyslog/html/_downloads//usr/share/doc/packages/rsyslog/html/_downloads/7e57a40acf92e68e8c6a36de79acc04d//usr/share/doc/packages/rsyslog/html/_downloads/bf08dfea890059c75c37b3bf8a833be8//usr/share/doc/packages/rsyslog/html/_images//usr/share/doc/packages/rsyslog/html/_sources//usr/share/doc/packages/rsyslog/html/_sources/compatibility//usr/share/doc/packages/rsyslog/html/_sources/concepts//usr/share/doc/packages/rsyslog/html/_sources/configuration//usr/share/doc/packages/rsyslog/html/_sources/configuration/action//usr/share/doc/packages/rsyslog/html/_sources/configuration/global//usr/share/doc/packages/rsyslog/html/_sources/configuration/global/options//usr/share/doc/packages/rsyslog/html/_sources/configuration/input_directives//usr/share/doc/packages/rsyslog/html/_sources/configuration/modules//usr/share/doc/packages/rsyslog/html/_sources/configuration/ruleset//usr/share/doc/packages/rsyslog/html/_sources/containers//usr/share/doc/packages/rsyslog/html/_sources/development//usr/share/doc/packages/rsyslog/html/_sources/examples//usr/share/doc/packages/rsyslog/html/_sources/faq//usr/share/doc/packages/rsyslog/html/_sources/historical//usr/share/doc/packages/rsyslog/html/_sources/installation//usr/share/doc/packages/rsyslog/html/_sources/proposals//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/book//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/contributing//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/contributing/code//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/contributing/community//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/contributing/documentation//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/cookbook//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/cookbook/setup//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/cookbook/templates//usr/share/doc/packages/rsyslog/html/_sources/proposals/big_restructuring/reference//usr/share/doc/packages/rsyslog/html/_sources/rainerscript//usr/share/doc/packages/rsyslog/html/_sources/rainerscript/functions//usr/share/doc/packages/rsyslog/html/_sources/troubleshooting//usr/share/doc/packages/rsyslog/html/_sources/tutorials//usr/share/doc/packages/rsyslog/html/_sources/whitepapers//usr/share/doc/packages/rsyslog/html/_static//usr/share/doc/packages/rsyslog/html/compatibility//usr/share/doc/packages/rsyslog/html/concepts//usr/share/doc/packages/rsyslog/html/configuration//usr/share/doc/packages/rsyslog/html/configuration/action//usr/share/doc/packages/rsyslog/html/configuration/global//usr/share/doc/packages/rsyslog/html/configuration/global/options//usr/share/doc/packages/rsyslog/html/configuration/input_directives//usr/share/doc/packages/rsyslog/html/configuration/modules//usr/share/doc/packages/rsyslog/html/configuration/ruleset//usr/share/doc/packages/rsyslog/html/containers//usr/share/doc/packages/rsyslog/html/development//usr/share/doc/packages/rsyslog/html/examples//usr/share/doc/packages/rsyslog/html/faq//usr/share/doc/packages/rsyslog/html/historical//usr/share/doc/packages/rsyslog/html/installation//usr/share/doc/packages/rsyslog/html/proposals//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/book//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/contributing//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/contributing/code//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/contributing/community//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/contributing/documentation//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/cookbook//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/cookbook/setup//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/cookbook/templates//usr/share/doc/packages/rsyslog/html/proposals/big_restructuring/reference//usr/share/doc/packages/rsyslog/html/rainerscript//usr/share/doc/packages/rsyslog/html/rainerscript/functions//usr/share/doc/packages/rsyslog/html/troubleshooting//usr/share/doc/packages/rsyslog/html/tutorials//usr/share/doc/packages/rsyslog/html/whitepapers/-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:39483/SUSE_SLE-15-SP6_Update/9467cc0396d096161333f73f0643714d-rsyslog.SUSE_SLE-15-SP6_Updatedrpmxz5ppc64le-suse-linux directoryASCII textPOSIX tar archive (gzip compressed data, last modified: Thu Sep 12 14:35:31 2019, from Unix)PNG image data, 520 x 305, 8-bit/color RGB, non-interlacedPNG image data, 400 x 140, 8-bit/color RGB, non-interlacedPNG image data, 399 x 140, 8-bit/color RGB, non-interlacedPNG image data, 342 x 210, 8-bit/color RGB, non-interlacedPNG image data, 520 x 172, 8-bit/color RGB, non-interlacedPNG image data, 617 x 603, 8-bit/color RGB, non-interlacedPNG image data, 350 x 409, 8-bit/color RGB, non-interlacedJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 663x931, frames 3PNG image data, 491 x 312, 8-bit/color RGB, non-interlacedPNG image data, 419 x 214, 8-bit/color RGB, non-interlacedPNG image data, 256 x 848, 16-bit/color RGBA, non-interlacedPNG image data, 216 x 1101, 16-bit/color RGBA, non-interlacedJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 815x570, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 523x433, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 451x132, frames 3UTF-8 Unicode textHTML document, ASCII textASCII text, with very long linesUTF-8 Unicode text, with very long linesPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 11 x 11, 8-bit grayscale, non-interlacedHTML document, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesASCII text, with very long lines, with no line terminators 3G*b*utf-8e1d0cc4dfd26820f97177689d3e844433b55d6aaad29a3710fb8bacda96149bd?P7zXZ !t/>`]"k%hx- ,pF5NV5e )ֿp@_73Οy'$Iv#IPjIoml'/=K9f&2AUoj{ 1H7.;P-nFzMS]>Vz)MLDg)c&-s TPݷ8Hnڴbי~2a$LN⯳ 6‹a ӫS}M n~vq2RJ'v_6e=> sc/V[.e srSzG8nqX,U2yNsx"q;-VFU+DVtA[g_-E:ۭLV?Ss/Ɋ{,tA͘>+Ɖv}TP,Tx5NNHax}'{4+~d_APP#&,v/D!G$})}knr'"7'C<kZ*LJq(-S;`*`"k4_q dKD߆!QfcCaGq窳]~؟f}<\UWdhV;[7ayo+91aldEFѨBr^(wj4.V4h4i*Na}h6GbU! gb$>Uс~~1 •[I;EtyN/Syå)QQS tjXw3JN!6tã- r]PA RBN9>T0 ;E_TMUD$[-e#&Bn Sv6W&w@m YT%5Nfn=aޮ"B}nM&\|I^`l V̂\qc`3)'\z'q}x8&PM MRDQMoX"y<\M[ıLa-cu$rIgNo%.ABضqɳ4meg, PZ4+s8z gҭ\@^,i\s胚Bzww=SЂաIjdFKB?/XgFibjaȧ lN?9?! KWOGǩ4."5hOMIgG>.>|e : ⽏ZQ@Gkَc:Zi0DWkQ ueGL4hlUs\ (s@OWƵp4%#yt$ *~=nIH;0>G:}g`agX/Xϼ2ĠtHլ| K'^Dd,ф݆nSLU#j6MYf`.o {yks^Hҡ%tw+,8IkCVbbA>܉LD"g亄-=<ա5»u{,94eIXwb[6žG0Q\#q]3˷dr:8RKQCw_xJr62&VTL<*34#"u*95'Dt`g^h3nJV[ykHnwfe8EVRRk6Ai[MCGQSa xzI 9*t>P2k.R ŝ°VFZ}[ܖlNɯD:bNjP#zgo  \Q7nqi{YM^P.#xAѴH^aq:[K:մ{z_'&@Ԣ<q/ZL9 F+Tk`J@NC O݄?&Qmu;9QW׳lGUS(pu/oeIY^ޥ=H|uvV)8 ?UV|wX9N4E&K*]q8%[֟\fuaE͟)zHC;c+D>ƒa=Bn{@DﱑK2N5]yT)ykL)׿? `PΌ0CNY1V7#":qz+Y@ v_U2f}\%_u?vcHb&id扳a:@ӈ킛/Le,2qJjj1%--GUǢ-!!>RęRSw{(9,HԬfY UkM k qPrK‰r5+H:#=m2\ bP|>pSy[k7 UxNx3,oMKћߌAwx9F~5{o %d ޹\CF/I^h$߯O:` S&J(aB:4G]z3$U<1,zh/׻](7;mJxa5SBl[ у\a7I2_\bCZ+%`HǪ 1sιaWp䎕fg]TXhXwY\LpLRR^j(%Q;`0OXfOEDQo<$yd#Ro:z#-Iy'mxts8)B G.dlԢfoY%'(rYy~ F!kMr #0 4 Ir y _]kVL)}176MFg71DM\J߷%D+5zt^52Jt:[O%fBW_n a ŒGMP] kY#mR{20r"h (ݩ <8u4Tڸ(&Z{ޓԑPoTz@԰B>r Ɵ7i(vSCVo.G_ɔԹM\9"0Əl»3i(G1v%.#2V'ԞM?X%gYIr0A1yr dycĐE:me%scф%y]j@n͜B,5l9JIC}ۥqכn-ŋ8RBHފ#"6"I`;O{n XykB,o;D%sȸ-ˉy㷔)5J"1;ū3wOc_bB됒>0ҩE|jwL~LyVZݣڮhfrڬ;7ڟ"%%PNT+[kȏʣ,O<#npSf[x:UN@y1fNT`jBP{b{x|_ڢ6L75(Ğ=jZeC擝/oaFU|JU'=I݇DAXsqjUz JW!<~; '$5yxT [R' ΍i uX)msSv8&vp#$國}jAr}M7Ȍ]"ѯэNےwcYRkL$ԩj<䃇NKߗ>OnA|a+TLp1B+9^oءZi|0$f_=XIu-f#2J##_(=o\f+4q^馥-~!J]h~m*-Fd0B66Vj}.bs"ucb 2"J]qD;fʘ߉72R!  r޾.: =$R1Wu#D"g5uK^ #FϑM 1OڡQYWNc @]-tPьyEy,׈;\BF"c11b[+|_=:'@WYF5MVhч%ts85ƽok, lmh ~18xoVO@>RYlfvY.ZFm" -kR)ΠiW3o5RE#}-z-!#Hl"4uX9WKi_D u҈@k.WǬ=(@BT QMiWCBzⅷ/.ٍaKN}n0͊l./W0d[s Q|q༏$DOTEE=#)#Bs|^:̑2Q`Rm+fqd߁8)d1`k}O|hNbodJׅ3] я~Ug!8pWJJc KւPsᒵ;n-5@`л,gBqhXE/Gzn0jk籍d/^lf,jg'dغ:'x4#{ٍM@]ɝg ]4\3j ,^E3UU_x8M5Lte{ėH _`ۧB>˲iqW9̮REcn\zwibX?;.Oe{iecjtu4;k8 G׎1/DtFJ`d] (qkظ%+*CH%#1g*ν( "!iv?NF+Z#hǙR$(+B,XH-S=yKİZCHKwUf-f?tf tWͮPxC1F?iÚbg3Fz6XaOud,vdF٩BIp6!\i M2<~SJҌJޘj#lq!*n{l0}!_8)l쒀dxv}X 0@+k&v 0{&IB^,qݯ_[X5^8J5+yXVWbG)[8e Ecб^ 2>I6DtkqJ$`KT usw'f 4†ėٶԀH36rBuaaNYRfR 9:eݙH]8r vd^<1 g,JE+Dt.v.5XIGI@=Ӂ '.(Bl cj]ss:7iE@ 0|U4UZ} etK`vn&S+ 2 Ψ5OPh̊SR?Ƭ_*wj?ÙFUNyT7b*qCCB86giS({'Q!*WO+eF.N"D)QChYϊF5/^7|Oz$xǏ5x̐2m {E?ඦ!'ng 11rGU&|(3Z z4-~fzԐ/֮Tv$Ǘ ih(Nvx8&9Sμ tM/ ]/+Yg/pI%_jinݡB:N.!TG(|gvQdtTn sI8]cl]_MN^){:§?@orf7[b(Jt`+ 41qĆEfe~*4PZ:uXlFgv{|p*tvYyl@Bް0lheS\ عW8?{R)jQQ]XJ&>RApt:ݭDXJ+Yo2jȓŇh>sAcCwìu ;"籼V 0L&ߕ}ܾ3 /z功%8Z) G]o|28O FscZokI"ğ{jy[QÀ(xvS\҅a#X9᫃@[{v% p U^U'&{| 'ʬy^}S?gE]Ϧ>p&`J1#K&17/np/L~Q+o3 L54.N(r~wHp+s_L@Zb-+Z&AmM{|b8-p|#enoYOP4OSnLѣkOvPzU1kCbLvTխE]7GLVzCzOsWoP.;4DCg9Xֿnndf7Ʋ;Cb |پj1CbBڅ jvK0쮵J"T(1E \߲i:uhD橝GYh[ ,3L(MH\-TAmž;_##!ٓGSQ\/b]*;#{tcT |b2^s7e x(xpLremH4^r!ﰹhls*XzvkJpPS9h !iC?'1sIJnAPJSu"GM@Myo{:KHJn0Uõ ɓuY=f[{HGHO˔)՞~W$PE'UnA9 W(9d+L8w,-Dڍ2USEg:/v//j]r7xOpbYeɓ4uh6)ñ EH"ccQBh"Ta@SC1H+gG x):!)^o z/\yI[0 UNj /ܹT+qɣ'xMҀo}oBdZ'V/i\(U)pe W%HHŃdg! 2`lozؤ/g\z,$@rLG̺+;BQ4)\Aa]$T(8o p=V+m :%@ Ѵ~FH_L3V0 z0*Xfr.xeTፋY3_dK:UL qm*9" D\MU1f2hD~4A;Q} }T}DC4ȧI ;$o@1_jjgRE"6YJh2T )EXAR꾋7׿>6_a[$o;ɇ&$Іȍ[SheQ rSAfK2hj5CU%(jKK,g`?Q=y3 apuWɀm'@n=t?y; 5ٺx4^x6R/ul.fxMi7VWb]38cŞ*ݙKN13 'ZW/=0lh5Z3~?:̽!κViEc ڛ]:qBju-^zS$]cId:;lYtPN95hTmӸfO$͏5[>?89VbØ|+m@V2*}x/PO6:&[Ş(xԨ蓼Oˁ3aA4O4&fևiY 4_(̋^z=}lw\Ol( e;r`z?y$hMq1-=sљ^g~.&Tx%|K?BgfJ"}P,*YSn z03ɺ4ݨ \Ek&iiMFjh勡* -Ls꜍qXZdIN*A"U0\0u.lIAȈ'3mXp`{gzQa} (0ՒJw*bGd Aaq xi^z&ku21n |81rP@&I>L CSBg:X+ (6h)xštxz3,6AD57s\tƛ2f\ؔ5VE*#u5OOϺɁ +5,¸iRK٠?J+R)Qh}OR3D_(68Dz H| O@>}2gI9Mp,9iȁa+m2]_a05YkO<`~4 88a,]1j0֣+ӑ_PH]^zA٪| 7X3s1bRہ|,cSwq>VIL \H(<U+ I=4;I`w#h]ˊBxT%\]hdR:[bQmPLlLٛ5` fȐ 1@[ 8? dcҌj3HU}? W"+YR H0op:TŃovJ Ws׸Gzg󩒵]=u3쎹ȏ?Z~ opei};7" "PVܿ*Qt!'˳mhō}bR_u$DkddrrGvED7Y4C:Qة诜1ޑԨiX| '(bͰZh ͥ4o  @7pBP(m1˱()A".T7E-9sdL9$Zj7 ?ΊC}֮{Zf.R1v^!*NN]]P & Ke=`$־^k UdW37qtN $ /V ) DXCAf*Du{JPs@&Ay`RuzkDB}%&==G20hT0.%îP[͌y7g%5eP)i-8#Gf\E'Zv2q- Z-K_1+9KP(-(1EϏrM:_E7+l})GR%'5UCz"9UŬ)](jPH7=9JRV' kD%U $GfFXwK=T \H\2>I3 J R6jMw)fԬ9 U* "K=3_xا^r'E%;BɎ{T1!nRlǞ[:rC YS62,] 'z1;PA/#F=֣iXu$V+wE g/ǩKSBs-XwP9PzDq'.vʜJ> 5R&Mzx'|L!l$i鯉F҈ lq9tu{;o/U=zReժqoD;R;f3ǍW?#HU% C 8!2;P%!FIWͩ2:R̬J"etpWLjF.jM`:ɰ~ &k.1b, o)&Xx ggOANqgl:S(__Zڌ&>%H#O`G T\3.3~f4&H׏"!JVjNDdUntO&NS3%uyu@~+(f]~3mA߸m# _uс&/FX#Gls2f~ ^će*Nkދa! tm-lgMf_%AstJv^Ϸuf߿[:qWZ&WD(0ъ|54S$ܑ nb޿WK1qA^Cs[d#&Ëuג3r[*8K}OjDjw.ILl R|#wd΋H o+gp ɬCCE,nΕs?And{ozYyIqi\!RƇli:©_<9wbFZ\"O3.Fk'*`HQV2/j-5M">Op'XB0bW2+,=|Q.,QhalAHi蚖!{>)u6 j ox xsce;dThIA&k)(XXbņt~$ÜTM4Ej 23ڪ!pSE˭ =>YgUYԒYitH:j\Tb"ggU+|Oe}317Jac\gTcM"o:_f?TfFi7C .<^Q_4-LQé27^Բ(| PVnO9[sڣIKRGh HTz1vUv_*ѐh8X8hy >7 Hn +b~u{=dA\~1[RÛ1P-K=v[p- kc{IWcR4\lU?cCVcy?"EHşzUdrɴX;tVdHsiS /zN? t7 ڐRd29D4:[|%eMtGOBEv??t;ȣ>'9P TGŢj8Nni/jdJ[.5~L|M3RT3li[(1ߟ1NNw׍B fK}At?pR7_ocMc@;B[8&U.J~^N"TBUʫr5:N%d\_@h sMnvQ\읅 : KDk )|:3_)Dh{_I;K2(z%|h ב~{8w]?ev%:$WpfهZlbG6$E&?oMY2'8懊ΛN =2# `AG} p̨2L;聙[!Ҳ,~{ynv)Sz} v$_)B6` o_G3ᨄ@1;5}1`·Q1G%jTCZvZdMpx|-N= / a=0 8lH9*dF&C>dJ^1ZjC dOvؿ╲WHE/>L]`8wΣ3o+\B*8ՍѩeϿ :7HPD:FQG8x _H uUZ9'黍*qcv>;hS-Erk٫qp& sO=+tr ew&u".G KM+q_veB6O. ( n-f/*B k.wĎ i]n: W q=;BGc $,}$fS&WXJ_7l]ji:Q4)$jXObԫ~8n լՎ9B0-Vl_vvY9 N"h;ƃKaK ELz 8+׬/w[՚L 7:VYY;`g~b/$?%U"q㪯-eX^bnDu|$|&$"ZvQ?D]#oJҹYqKýd5smo)5v!*Il0^ >QLc.I;֔(45u5lTqpAD^s@2yGwcFF0c25*N*"TLEBZ}j-.o. UjCTƏzA_l|nTex܀ș!Pa=\^_, 0Wo5(M?"#KBaW'JAt^d|Kl1"g!xZ!DC'$v[* ˦{ C+r۹H  }|tl_qF#+\%آA-%獥W~0 Ko`=A~|[Pǯ 7!H(Qn60E(=J7Q "[F ^JTMzM?@>Z z`b5h =ٵq;7R:*W[F@"xκrW>t A%=n+A*u/]g:;A=oW@-.J3ƥR>Qk|,n85$Eє5Ix௲$"ؤM4ͬX=XLlZw$ fb7rMWcYj&4*X&JM_pIyXq `}Uz]1Ydz$8(vOpݸ ޛu 3bEuQ_jqBjTFb40zngg=.tRWLƂ; a{O^[=yxn5>E|Hkk?:[ ' y`=`JrI oFbt{08 } gW.5A? l"W7WTӒ j>GY Cy9O#fCDh/y؂L-Qyۚ! 7aJc+ 80*S= F#~紎TƭP"yaOX\,$kVIZ–/h:[Q0 ҽ }9i>TM9(>{;eZ);~8+>G#ڸ%>%,bovP *9 VzmB곝Cό<*)O_꼰'n1bkFy|i#14 /b6*<0aEG@w*.FkHHPBH=u=Ff)`k6rOqw)`#Mm HN <`sL '[ L8+_&4f; LݥEw>::t>1LO)Ȗhڇ:Ȼ>?f-Pn\k4oIriroY./:,g!$ 5͸1@9פW =dа[`'i|_2EyA\/qSU [mbۙ'o(2N_oN,=-i@[4?xRFv&Ifȡ '] "L}ez[}0BMئF;}ْ lGY0_{ KLz:~Nit<7Ten:/ CӕaXKo{ D$nCIi> 5t 8 Y RWBY[(`Ƹ:ujq遹=(L|A{ǕldvC@[v}P1O@1*Wei*kf _'ڢKpXż}_ {SyưwyLO}@.@4_E )w[$>Nujg9g:i5VU3;L`PP9boڭ_ K64 Ll1 .Gݧ?2\/PE[[3$w%b ;BC4Aw՚J%p2OQ}ZSr/KD&| (t} &?s\ 8Yx_8]{K g7JE+Yɴ%tZENDToi"҄]x7;< 6R_u_P*< Umw*Q5s"Hd$[.qs8_XQݞ[}H KZ/K%yJw\\1LUA F٢Ȱu.iVB !7ZlWg[к2ey NL7KnqLP\uVѧs,SɰroE< nt('4ρ[& ;oBO ~z86 'lg'NkUJ15N[}6hE42C=!zOm'anEBC(#[Lk)ǣL 󆮓>e Pbګ a+?1(ֿ$knbaW7XA8,0pXO[ױojlz6Z*G`jLa6օ Όϴkռ!w̹!#VϰGҨ/.jzH6k(8 g!I 3mץ䤩bdb*PWF_7TY?ٰܼ9mz>Xzi.=KHь_Ep+KAʈ&QG&)W%fK:U' Żҁt#ǒA~;yAIyx.!qTRa5FfS lr/f)z^R}#rk8O&EbweD.f5b#Rzd39zi[kmBZ!ts+w<-N[J%^B~N eWe4 bX]SEmv,l9(›>k[>gR0eB~"Bg'4\0G:kwOc!=;r9ɘipkh EɐӼ=vo5e .$.;[>*. q,OPWE!ĐjPc>\9ݔW5}!;`i/,BZv5/3Rz[G_fM'L۩ Om(_94!m-xÓsoH+צdf!YtX{p}(|D|e|ߑ|>d[^Da?ǜ,h媄(Ps!n*`7kz)FAAg| LpUEW?r8/cڋB}$u:9R)Mկs}MqVz t3i.wX*J#*i(RM3>!;;3*:'Jz >*ghAn^eZօydr  ŴpoCuo;RבvT@Jr*qQ1d(Qnj>\Dmc8@&;J;!`&5D_\3#>z5?Q&QRtVg΄TXΎD_c mJh0<,NU3iϝЗ XP` NcZeEfxp:"oCudkQ,/K*8NLy:kO=Vgֶ\Z&d.9Yςw,yRQt(l\~y} ]T<ͱqœVi!V 7 5Z Jਰ_.Fb-p q/ ':! ( oxPy>`bfݣ8I.Lꄐp: ~tQ83߀0tȑ@_I'ag^-ʂN{RB xe6T^&FL8OVno]IۄC C\X^}}3mz5(ZRo^?1@8wտA \6leOgWQ ݃o?}(r^Mi`pUT-PeN[e|Ȕ8qܒ^EpGE^Lꇰ8sSXc1+okL ΅mȪxjX8N&X{)H&y8/5Q=Ed#?/dv0(׸vzNv0l=C|pAߺD"EfN֑ɓ/0ԷP:"$3zWJ6_/\i ״7ʤ'խ$xYOV@,04i搆.Npl;R=ya7 Ê-h]${yvd3JAMTJ%1*NSr̯E6\vFTu#%D4 hAm<]g{DIX +NPN\Ql 3&wv=}Zks&YAΎl(k{U-yu2g{fVL(Ȯ U}el/CA"[_L ~`ٕ6 ({mPl8P/ɣEGދ;;h)t]m za%F#?M䉕$2"^E!Fqix/׽7gX8 PeXby[LYDA ? InLoQ8=VdYwk <-gBh]~:Ws`@D-W۽@+>LiPJpW?[~M:0l_V4xH^[@X D(Ⴞxgr% { 'f1x;cb]ZHcjA:&'ٺ@'Hee6Ҋ1^vagPYc:& BO=?[-E[x;Ǽ0Xm2{Ćo>e;'ٸ (-M Tv4{E 5ٚ&M0vB,SxC4 %jLm6(PE{)Hݞ ugh{TΕL{J~a|d`~H%;Tqe˥1* wO vSyI8~e[Mei,aEo u]Фև(YBp˹jiY@mJ2lFFje9v%~;9L2(3ex-֑k6'Zڳ‰rJ7mEH." v6(Kq,C C}ʺ}qgP |Jr13# EVdTJt/ .&]/P");3' $|`?'JMu;*S%MQqmٌzyĀocb/X)VS㪵r>ф _>l~$93O|\ ~U%Wf ˭x5Ibu [a>)L%Ug/4nvSJ$%BO:M+hI`6*loW!v]M Zc{aB 0['"=FozJ=Z`ψWz HrI'Ԭr+wYN_o=T1rnxX~*=cMy_[&D-<:=9E5iؒCP~1?|`t+m`0JyG".%ٴs)! X/sƏ<_c!t-/#[ƼGPYzCm쬒Xu \b(C$})Bĝv hgn|S!VcfxW!>P->'b slN9<2Kƥc>zWqwkisC N3ƢϞ?i+Fy)vy;%!>h'U ^QwtP,k v/XGg1{ U곉+H ,#t6ΣMmӟj"#6:ȹԽaVI#/oR`k[?Et"ЭD6u|LfսiE6@/&i{%YFBݹ ¬\y |݂p0O"PXgh9 c9OBzS-:⓬pWs1~ 7̘mn1}CIT4SI'9 en*}Ėk?b)HHj|jzz>:xZXcQ5#m$o%xA琀0kZa2 3LKHy[S)]E7y /YV^>*3UR~Ɛ@qW 4S·OΨӨ-$4%XR\yFo4SAW\ԪyZ #QpGNc\*Ѧw ?N{^K{-p H' oEti1$kL{ϐ*%nc=eĊ. $%t٭5陼QlOkRy ؇pd_nARoV\'twRP^IM>02rR5o0CuWD1j*Q98"urcƻ!J?[\Ǣ_?KE&wIO.Sn!g'&V Elq-Jj^]nu|fYUc@ k`|4—]\E4ۯK#c2kNHa '@Y>.1BZ2<=K.ve'-XVk7yJۊʈ:dp6;Rp3; PBC (`qz{I{P.AɑU8-nA#Wi7ꓘgqW"uFζYQjQ Kcֶ7e˛NDg:+mц47 SO9ʸYсWz 5x)H@fepiϲlEJRNԥt\1BT|`oţm1 ~\0*u kbZly n,rEgdlXU:Cuxcӆ=^?iUҎ&Oj_I2%lw30M][QWT'dJ#2J?\|:ucR^Pkӕa\}ĂP'cK+ㄑ vivW}l6:m+2/Z#HX 8'\<A\`AޫأMhMG( [26eq*{_^cJr7':<>NsE}eV8s_w氟&"3WKD,}cNjZc %ӹ_C{aNf'd$ReSY{gO: h++;ŮUSv_e֤!9jɹSh <.jkx,7C#?6k[%W))%G'I$ #~Ҹ]YQ㌒%aCE4u[-p?`bw˫hn{abMMVLn`!M+#J-SY!ĮIAO2TbtF,޽D>ه" |A,#϶YR0.*Gn2565 i>.a\r-rp͹^a++g D|A˂16bI0{o$Z}=8LkgPƞ\:A279lQ|zs ot%VUYʠ@iOų˟~ KYDB<7~>#St$z4}(B?]t0Bڜŏ*KIMu챽 V('{IYՃ<`_ HBP1Fn^Ɯ̢Dnq`(ۺLW{{"O'JaNܺC]٭;B;"(/%NLڝy<2_Ӯ|XG,Of#}u#-R%/eC(""N 6#b5EoWਆvQ4a9HN@N#/vN׺QP/ErqdS=AXGm!W7ז&Q# A&&,~UZ|f5y[- * ),kߐia_s 0>qQ(J+f'7HJ&)uJ:-H`ᰙ L7h5D\05.~=jY9ʟFg?V]*2+|!A #kpwqTL{cKzLA%J70׼s2oe0a%F Wf7lodN{a&J t8I5 1Wτy"X((l\8Z%]B}A=<W V~%txlHl'mm:eĢfNgڰާWAC$UqԍPba F5`M[w2휓X!ܰʁ-e24Kc|R)m9"ԠÓ8Y8,_TYL; ?n<$R՜ o~<#ߓ(yВ(}|WF1P~v̦DD: 34' ] G_&cV]VBh4W 8 ڣwEhءӎ q,cek#n9"6?DG^]c|i2?,K,nZ-5^3{<%3wAh`!3 ah0 U1P [Td?44ɐ5mJx>'o)Wb? 2w Bߔ5Þ6 {BwOl0~ !FL==pgC 7Hf[\(DX~m͌t)?㠊oI)Rl34A F\Na2]qE-)־k6͆h,rQO Pmo2`*E :#ħH3lV]/iZ|nǠnp2`Q?:^j߆Nn  !TS8NT7t]UW,;!Dl|^n!Å|U MS`CL0wv~Kt ?Kt$wC w#IZlYŜ+ݠI"wW8W4B*62b:rl4{ @P?UOu nت1ݦ+8w`N3ԠmԊs=i.2fsZ c;@ 96'd[%N?M1^qT)8Wm>&tm&E4 :=]^-O8iN{q8K51G8z<>\+aGfTI'oUUi?lUZ<}>ȕy\F@*v{<3XR}:ƕ,&sE Fy}|XhrO5RK,ܾ/rTdBʈsV Ji-Asb&X;o `&G>]>9BQix}XϨʕ_X~^\B6ɛػ3*"Ivy1sxd 굱%,Mm~$]TU&:mʊ;vlV\zZL*b$T8R1j:ocW[W!C*TW,/?갰Q=@F=|0LKh(GWrUnl<`6L[ vA_GuRm6 6h[o.>Z(֓,/-% _i ׼{9]gKRjJ0ϒv JB9f/ r=5n#5)hW$x W$@W0e*BN/F:[ n~iA{?^Y)uaC_"XT"nŦ2=ƲCHV2DK4-fu1Ǘ`!|2"~PIEm:tMnPML;XWj2J'̌X^@I܃:VT/s:n2؝j"?Q<џ9uglx@`^c qh1y iJ_!ѓS>F6YY5pdj˶7A1B0@k+bX# yyx$0M)_1ze 4I\T)3)yŶ:z.Mgś^VjI7Dv;qyR2n&Ly𗥳1؉l՜b)E:]6riG:W6[ 3+> !uo hǰ4Āh&G@3/ٴN mՙt4*l±E='*o@ɏ8a:Ed0QXLuFbV Vm3btޏ8KY')Kٕ ekUZ&~ B k_^rabm9XRfAk/!%F% t[D!GM/SV!j5nT-bfȇ!E{r} 9 {<_l^K=K=/?˗)fe |>[cu i-&_4%4I됾okl]% z + rqWXB hgہhCs*(=гȯ yN5ᜒXdOb9ec1 m< ߈!E3Z_ m^dZ7]j2Zx mL>Ed;1@QCp_~O8'AGfN:-CszRcp`q~_;g {usFQ޿2cT}^۠ &s}T*T%VUp/H+4t'!OlqLޞD` 39cSH 1+03L?YuB\yZIC{}"U|Pz𴷃 sy@Es-T%-T ZT9wة2fBڦKcp,ydp'b>@y)s5&()0Z:e$ŗLΓ/)%Hee_z$XGO&0\czcsTOx/ BEUm;'$= B+7۳KS+!?^P$݉T&ThNmM2c`ʑn'l- ĨF(U4(NtڣoҁCZ"P5r/$۸݄PZl]VZ]vV犲dZ1K~z%ba3;NhDmU#T2 SM{0V#fl >*6\LTo#{&3!XUc!Rueܵm#Ne ˒ T5gu^`n ^I?hHYbNBR ~m77 '7 y頝AHVM[b/f޹*]reӼ%"Spz31ܒ_ }YSG&AgNSY"2![D=:ӡdf aC75ޝȭom[+3MG#K(-ܝ¾ 9Ϋ9<_BPOzV L]wj֤B }p`!}I 0OE0W5佐r/"k xd^sjEx f 6R]Z}5 )-I6r2cħkqM-;JQ|& o+>7d@( 'R}M ~&/{zԆɒyMѵی;TӱG_ņ "W#iƕUCsLu:5ւXG [6}Yg@K+(R&*VL=|lPb.9| 2Շ+XP3/)Զ69)$eΦJPgRI, Qa R1B *{%l؍鍳Hh+ h|hN;_';er+i+w~$u #{HvוJ RO3^).YUc`(p'FEA!]ns%'TVZU'$QRD%i?s z9j$CHo8D=x/+O.P1wk?dDۄ oA*By0 w86ETSn#p i@²$O&Ƞam6ZGPYC}8$!tA(:4挂KS`seCMOV C=yv[s&u}i| dbnd48YE"!bIOvqqҲdn] ;X(;A8~'6oƺ+zv)VWLh޵w6]H#"4YGIP쐄>Xl U"$㓒ҙ(S6cG:H )́SDÔMUIZM#AFéڨNhT]6nxuY\ESsup{:ZDA*=w䠈CCurC;(Vj M3&Q?hw1p[H]bIZ C Hc [I1E1gs]2<76P]ƍm8B)` B dN{:vj>nD kA%ϼe6,|z"2q%Gc6 V cA jIָsPXD+)n.2m\YkS3:e @4|,[D7p4WM+VYV Q۩8cW@t ۑ߬W#/oU{T ΀K]#AZcMfᆬ^ug'=u~Weyq9$bnN_7QNy",Ƕ "4ӧW-/$Ǭ{!o!CZB.oѕZ \"٠ teԣUj^T ?hD+/5ir:MO!`"/ VtD <QRH"F_1ʁ)I'xoNAr.Lyfqa+J$9:SK:?1q(a ɵn4RT7byjcSӑq 2hj>Hﰙ$u[QA.E,1B3+<?k*7@uS1+1LRJN2=mEd$`isXq:!OW M9#*jaFzV;OCU>bzuyTZxQv-~ͱO]&+c ͛>ĺzJ@$QӝQx}Ny@('v6ҧBCԔdʖUTh̦Q,~Z9.Ll͋W 7H ?cU4De- 8 $/ Cm~ٿ <|7}T5ScX:s:J{vEmNf)% Jd;@`}ԄU(k~?l|; ؁VFr!Y)BnP$4Z=-Z{]A? @w^:%_A`~*sk[d8㑅FηJdN_ Ul]23(-Ԇ2vOW5חU 어#>@:C}]Y? rHޞ!R{\2+ `ِF>3m|GA#J[+v *eJ< h(e 6i9' WO3bè,*-GGlʇ%h0;!GUfߎ6=_DaEgڷ[gBM\ZqN @~ K*4V B2Q@ehUrAM}+`&\Hc 0[E Cu V{ 0{HC~|*Ԩq]XGkNiP 1\-4E2PWE Ю d )Rb}\` T8(HwWrH+9/C' |^2B 7Ah ezҌ@N a&capH aOY}N=+mCG]Uf_;9;rp(& IƘ&{ bqJVƒZ<ޯ ~J7%ϰрqdhb$E(^8s* \"NH\ Qr1Yr*4 йg0wʴ"FoCҀn#k\dw*sd4].:Hn92]oL&>ަFPM.sIDie2gL8p3Tf~"_eܮiP~=cU5Z8)R#~U̜rj8NaD}Yb?ţ|Gu)ah"QUxzs{CXȇn_fG$wkhj=ĜbRiQJhj ~}en.?F1^| 2|鯵 !.yd"q5EMWLjNXExMa.(g·l$ \8Ub2>f4 jm.8d'Ø}y^W-w`U쁓!Cx͈.T#xW*XAak\yv0ݿ%Ӂ-../'(qW+⋱DY~Ek ޖ֍t=(nˍctAa:@7erbĸփ N?> 1 q*ngŮљJ*C=)|g|sfGbQIxc DGEDK:jMoNCD5rڱucᮓr[6NLKS4lw1D_OE #Y I֨E}+BqMV/'b8ZGZ\PSxBͣ_x9!a&t}4r|oyYƆs@rAaf!Od N^J-kO-[㑩9ݻ`M66 59aP0]Ht S8) GJ}֊9ﴀ%8JN\o%? 1~20*4r;'l3p׻P/{F؀#Ttzɹbm`]zU$y\SE0IuVTVɱmx./Nrh8۱תO_Q&|BPXCaR">MQBK~ 8 k~%$=윛S[5jv,lav5QB-MCC׃ඎ~kfoþj<jmpBWLGZCUj 'C: ĺa7oV~j7"Y>36LEO2gU%sPx.a&[FEd"<'ho}XBЦ\Yil9`\Kt_ }KW&IuN€dDaw[Ҹ%7D`ƏŃ(Jɗ̢pݙ!尥_a='JehzP7b̗ w3T 95 @((*`Q-䪃\Lu]eh(]vV vuE\z-u\Uy{H{[ԷCi:>tkβk^CH}ulu4&䚁S=\ܤE / BezW?@ å:Qi|$2 PP$WtFݎ)v3d"y) }foRqrVoR"0sq I7 cф, mb\"DF*E~ T1:䆺1]n: *yȌޓrY2.Oā`"q>6 _Zc  +3F6v^7ILE -Pn tSH{ ~.~*ā@ze+AY$YɟD2+)p#-q,ܴkHi!ɃN VS~_&.Ye Ч|$sIE`_dS7S+Ә^=9Q\ߨ^Gڐ]ܭ8ϑoz@BbcJ47?X}GJ: _&1.2Öl[&C: H:TAF sgHgd>}h &"4w*iv y[yspS}&f=s1D(ozt̜I6 hC'wՔSLPa !WZ*/3%r\O.R>8GNx,aN~ƅ.jtE(Hx3@U]*χacPD-Y䰟Z(#GdqE:G6GQɈP'l½v9L%F;ӆT$rZߎͰJJAӵb(t?DC“j+z,Ӈj|?+i`D)lQxu*&Y~-8bMXHOC|ѣuH͘ކơ2.Wq5) ,|MgGaG/TeI P hƽu^kCd}Eu}=ڬrAJ-ºYQbۓu÷xK-m1!{rnTꜷN|-/2eQuFEu-rQ+E_c*LI8#&ŖWh]OehΧ/qgw%Ea:A!mȔb0;NcxBcܰ!~t{CQӗبű8\t`ʘk|-Dxg ޕ9)A!8xsŴȴLLQv,I}?菽BUM̓aZ1 3AvQ<_@_(2n{4^*ׯ"a3F  I#z4#%QS͸@>4~NjC0TuQoRi-CS=He}wg _DcxJ1SRHXl Fw[&fFP.v ׭[ -$ {j-ؾ;JZq@qZQw(/ w#JN>əˬpGD8p<Sw:D`5-]>/+~B_eMJ!F"eBcmaY<;@ikExtSbcԜ98)DGꈈ KN ?[-jLTYY?#/mIע9JCV}_k;w.xxS8G}ӌ2?x)VQ{ Sf3HNTrT$ Ai">GBLx)N߽,[/ .càH|BYӋrF ßR'ׅcPp]a-: !ϻ3دX ~<-rȪna_HrI"BFb]WԳpN5Jd>۲7J1rv{qAwЙF\ 9a9\F/Fo7KOmxMuYԳ'W jvS{:笀 Ȩ +GE[s8r.]K%\` t71@H_w.t#Z:{=6Ѡm,`ky/v+1,ZB}9D0$'$1|r|[qkf&0WxֱXUPjsyA4V"=5֫9caЂLAʨbL-K %ﵜ+e!cbr3Zz @'Ddz(/ぐmP]Om<Ҥyُ{TOT5(ڨ.]L "^E@YNo o}+ڝ.k CR'.ڍ'ˋ+ R]v:9$q+4} p0⥆$tHWa,=%X_4/c.@g( 1zZ0GYٷ&R.Y+ȥ~Q RJ֊N8 y4TƊ0:ܶ~e kn^B᧼wB }5m"7J`.O7\b &S0Wo=U {D * <6 dսea֏Pڴé +Oʢ ^ljC1=@i[⓫̌fjݥ(aoMU y+r6Y~Y.yHPkF j,{UƏuFAňtL2նIalC7S1v1 K*}UjI},럨a޺CKHS{5kQĩ7A.Ϳ{/Q2/`?{9ҠMJy=\Zx70^q.7^ BJƦWp *{`07w l#YYr˙3hW*-_DBDo9rY >ptyݐ0BZmʼn˚81}B{ O:k٩M߸X6bݩGF8=F^ťrB-diS6iI|y ҩu4ˀS,}!, ̪/EU1ZAgAK)zJ[Opv5W $jf^zDm~6Җ)$_/y'ERǔ0ƺ GEWҫ̦Coc.ƤhW ?)#~#n枀^I^g^VCXFc`>H&-#m%mk=LY+Vm/~lU$V~_jUG* 5$ BFA9Btu \nslb-s}Q8hPP\?M= *< 3oG t'(<~NElxfqIzg&jWA`5AWN B2'4u6&xB>4A!xf|vf/BZɩ׀P rbDԃF bWdZQ #R|]SU.B(Sq]痰L4^6~!ӥfỦq#0|Df:+`D?r3X. [m`ǧb<&H'dXU>}&0]#;&>%2:ߴx>.ՂM(51lpU>w_تc'TȁtcSEk.{IwJX1)}w18}#28S3~@F=d͒!y>W8WAVj-޼ۮ}{DyLEd>L}>MLQz@x"ead`c'\N K& bk,qG}Ƅ!'ziU?Q*W]rw[V| ѡKhk9Y(0]„ ^$qǤ= [="_Tkx (:PaҤ-aRt4ۡ*rZOo=':Kڅ.lLEբ.E:2W䴾߽~X,Ж3v89ۧ< >(\/^1غDmd͇^h&r%,uZ9'c+4MaZ|!W8e]?}8᧱l~saTꚕ*Y3 H5NwW0|M>W6Һ={{Z I0O,x 0ba˓Q=9k "YpR%`XzE\2rE0f;uv`eI5cB \Z^qBY^Wj=uQEa6ǶA9~m a0i'/G=-}RmdcDs<$^ i G-[RT.t7t ͛5F@|kGS< :1~<Dɴ.[Χ6G{Wi+6cDzźNe+TBԉz%^vѬW (v00l`*UhS! *= In@bRr&2HԳu6ؐj.oR5qn'lњك6)N(298y#+gɹ'̗/;OUU#fhͭLTzyZeh6MwfHRs.^IU 50W!׉ѼR7|88="~Yr9buݶ^hQ ZuՐ-<ȭ^4y^]-.rjFEwIݰ^pھ ܜKkh* FIgb!G -ܘ(Ɯ`H) FA0öHr=KԈЂKp"r}i޿dWgoTؠfp_ȂS)ŒI#0Hh*}FU$#'Kec2HlxwM<^)N{MH豷K5@Dv;mN&@ފmA5Ňh Ko{wos_< FijvAȩ$,0L[Vށpgn.yZmy#obUmWQz}Xp)ukQb *i)4 zZ-2C*/\CoM:"vn7ߴ>U9y d? &m&n5sѽjIruAm0mEbat]z:eB8̟j^5Cfrįη͕r\ ۨ/LDp@qQ9G%̡~D䵒5IR e=l NM#}O6T5WRi uD}= u8$\JJlEIqm>53qzLeu;|Wtr?jh%효چJ?_1nvħb&1cS!6% k y.[i1 wu9y1Z+KB漹0R5x+w>WRRR[r)|ՙjjp0cٹV8%sAz%X<뵙klgg#NDŏl5m&JbW cR)cNɀ1E'&~0NJ1F  fhУn_>=D(P cYow7"`.5ul9xKqH7@H_k7#Tf*^ў ͵aM5 l p9%ΗHbQ7J[G3sL qǑ:_ڭE Ryoxq'FTɒB4(sWٴ z/eL]㓪M95EyT}1eLE]sydol$)+9AKڢ_lF*flUOpx`:D(q_BTR@)7%bIN H;ʶfb*GaBE SE 'sCj+':y{t{l @bPԐX{΂TV UZ^"):0w蜇$[TO2'qu%v0 ȦvZ|[XE 7 Wy)RSNRYCf]=OeglU~CL <ȫʆ\eљ+6ZB^yjG0ܩnV!yp]\ع?\廨r P}Ź/U!h Q,Zx_(ݵ,T[܃!gȊxMV*cLЩ+Sy0JJ3^ڲhұ6ku%WNlpmVrhdleZOwDz6S1i!D/01t9\p|vB f24YS礟ɘŎgrK2wxہ';O$ηnj5wJxIOCǰ9Z-7L~-`e<Cn!^6%̆0$$DUh_}6 ֊-T!izrJѐə8d21*ҡH kp 3lT<4q^}(I qTBv@ Gg[4T_jA˓ue)SZ1v'Uj6 ƶun3r$9Tj&un}D Ȗ`>J͹3'KGpow f O.O*Yzk{}ܣ) ©Mn~!ːw*DE®I= &@)&Qa1ອ *0㮁Wo~rZ z %{^b_A2gCe#bOoe'[g0F4}K yc rh2Ƹ͂ߒի[($. ~Wk6.?%mrg'#M "W'ctkS8M5wS+BtNe$7Z| %AС"pyӺzmI _- 㹬 $*.wV O<n,ȗCJpg_f}F}l<ť 3{fLQTȄS3D[ ūj=JA(5˔Ha|i1m`3K('+t}Y^ZWAKdkiyl]14_O.(Gi{;6/xDB|^mƫ lj;z{cV*a~ jhhlsr<̵veϓ Tx}f0\+8X0@&Y-"G?CeK[] [߅6@eg4Ϭ! S'UiGwH^ ;w}<\?-jdÚ~`0 EĖHQ7EooP wcv"ͥBS}Z¾6wU܊WQ#݁d Y~~"} [>+&N.w+LAډ#G:ƚwOb9OY$vH!9k[+LJQýf/ y?Cw!U~%Cy1(&txsJ^$.AQ3v3,h 90t҂beaG 0mF~}9NTiQXp1f4t?;#xegx}%`{䀦@D(%LQi: 4,E˔QƳ8EJǹjڵ!#I'46[}h\(ߛxW0iQt ع34Uح5Qw*n;Ƈĕ'l9ΕJeGZbIL̯͜ Xźcc`x^kDC롌BaҿYFԃ"/Ja%=J[V#e 5 ЂcTlV.6ʅWR b4wQ 荟7%cLȔCtxL(ěc8Zc1uo[J$޽/χnO(ref,(qy,?lDB'(|ˡ71r WU)fIVJ> c Bpp;Tv^&3'FGw|m+j-"GLz0 s@`OZڰC/J@t yȿFS]1dFPg缾P~JlMlI$jdZ{5H N&q{%,V Q S=F$ҍ ϳObgb1`=:r缂'2:j1+ uu {`G7ǭD2>`sdӛ@iH:ap~\8₏RW.7MЃ|CUXb9$NV$ri,hB<7c/Cdl 2uJ\δzfQC7>]ȭ(pMs,י{om%:w6B\G}Z㍬U1_(A`h;r9PAm _nk,rר)|j.(7šFn 5cP͗hp0 v̭Ѓ=y7˂hJwR@,]p}CBiC ݚjfh8Z.EU?yK_E;HQK;8gsk`K.(>mk KC$ c7 W ո;% :4uv"k23r{B 3GY>=ͱ|Ep{kf@[|KR!JM}g<7/"7&44|,n $jE2䦂Bx!C#PtYHڬ_yo.B5Fŧ+}bI[5.Lj\:\$0 0K`(: N M!B)!+co)0puLTJYRz,fyHdPIAˡ"n2n#]GvN#P(1.!ڦ'3 Ki Filx[gU!8Ҏ[aî7䦇zdpR=I?`q&w:ĘjD?Ev~%(k2%$["UR6c4z fG襦6fUNPXʴC||k7"SnsSR3-),^TOԇR<ؿ6?jXI~]yo?5e?܄FߟrH |Kc[3a)OhyNTG9xbV)޶Ҁ ,(c7w˧̹=x ۡ;~57z (͈\FPxO]䄌}{g=0@TJߒOr =ĈxrzooRZ>LZ+ѓ`D/_P IO2''OѠ@FS1j(a(P}@Ą\؍ړɔpRSV?դ?`#sm+BƔRPc3\0ߧήwI-mmHq߾績2f._J;fon,m쀥x˫Ƨvlvy[z>p[&A:,+CfqP 8!+ $?,4k5ث >f^EcKcIH]>dh0Ŀ+ű^1@ `SZ"ƪtt]>=+kwGgqL= %xڢ`^ ;ӚbR -0 4FR:N8h2Uс5'Sro>q|T_6Uߍ@u+U@H^Kƴvy+uwl/'Yaۊ] G=3 ʸ| R oiC;>Z#ր%Eh k9 fpGd27nb#-gJ[`]s@@p#0׮tGYLM K[Eʎ7?numͦ^9˓,J'SKAoo&گ%bI:o+1t^ 99VO@ű(8%(nOc փ&ug6\¥*Z@n̘Nf\Zdi#%7)HЦ39[Xa5HGc}Ҁ.ӲՈ~w _î0ZOmA9o*'lOG\wQ¾# Bv-՛O1sE4_;'wC&imke͎9sHE\;*ȰZry{+CݠeQ(pjR ikdQZff*#+?G?P lqSz$ܔUxJ U7OBݫgp.z)EVM3u'"^cTEy 2yh0wE@6s;LEwI^$ffw;?FqQ*%M t6ֹ! G Ni%}$`vY-nb%%'ZG4nE相:-Wys揝b)sQ|!SSΆ2E6U8ۓBV'¸D{>R ˔ssb%PL(ef/\N\ݹD`i)nG9ȡ!H[%y|YGpda}܁(St\Y!q!wD=z S.޼ur7徘a:@( WWmxXI"!HM]̽Dj NMde;%>_wx_N0[湳.rA\b!\ KE҃k1+m;[m3~K$g~?UHalP"4A.k1C&HB!6,(^>o鑺ؗ6JG)<G̤2P1 b=ܡ kZO3Q "$]}Bz?IQe9Hs[bq)gveg\˟}|距⠳;7SeUY5-HBeiߢպ>}W$vhB#s/8j^ Ӧﻕ6UhC ; $c)A[\YkxM _YvH)g!3IJ(E>+PR +?4-/f=)I'얞BԨOYn{bgͤ8c,,>(3b\R&&^hcaKksw;#!G,.O\uVM(hX fl#~("dF{YeتxX]@oy׈T=+j6&pKYkQ TL4dcoD1!SBSmBp5 Ʉ妪lS@ѝ`sÏE ,~⫃h_ Q1l=hӀ h|ik sњ ׊7mVJR6AȨKU!`ztvўu<kU:RA:/r=ek)hOI)9bRXz^Ҟ?J޽g=ktpdJӗZؠ7nPB忒2}=֮O spf8wv~c,i/4oД xF6?HENEL< d!i'L>p;L q4.gIm s]Kzo-WR?@ⰩxȚ.n@8Soъ [7fiwåa [7.a`]78Θy6XqxnUmOl/x{}*mh[-nf7C n:HamF:E )LOjyLCVI#fl?D^C|͏~` US"$A]oDkLG;jb:%;!ID[x/ L X% yQ+cP bExRMYw+&3']O-:+( {9T,S$sWGx1s${k|h~|q!ޠi.0 gSC& O.  "BD1w8*-aN1~'"}64aX\ZªŪdO l \4όoD?9v2ԧnSZ`5'Yδ͋3kaqT7VW wiL͂p9|^!jf & nXZZ͛5N*S%{)Mtq}&KǕ4ip;&|iq Dά:ou:09rj6Բmy'xq(]\G?^4~]u%3+D"GT`CPؼ KQnƾf0:zUjW3pxRAq]Dr}0{ABzAB>*-Em"N 0kJUl$*BeoY)> nD8dԜ@?a9&OAL}hO(u;7=w,/~¡>ϵb:(7PoOt=LVN0ʽ.R}*'MN{)mhX켅3~eBX,-שlIuzj(-.mέ7 LyUݵܓwV_eůYbfpޮ**xTVշIA}fjy6\O51 ЇDn֥۬nzj%d-><d"vZ4XW6#x 6@P15 *M(s+R DQ&ޅ'ҳlh"p'Jt2EAt #̶Ŏ 0) ._2F-t9p[9TL/[IH6L]rE4ωrʤڎ 5X 7  +ü ʵ46&D>Y"o /l QPeM=ǹj S[6~x,kA03K~x1xw)x!so8Fabq&ʠuQ$Pjtߢ>&[) ̴H.RR XW8dTcj#q޳kR6WDWv|U:EſH$OXa旌â{/R3BOs\"$ ͞4Y4yן{CY9oªBHhjkT@| &T ~fKS!ɪ !IIðG@T!weV% dG'wy0 fx 5ignr>\s`J]ה8Hk:S{t֍\!~(ͥ\s4'v#n+Gmk pj'm l䎺*>W+bDDbҷ%a;'!at?y3Xy/k|ӁVZ Yy8[wm9A;PrVSL4 $pn=Hײ-%_8Q\.m!ʙ"-´KǀHuQ)LG"Ƙ[1LDA}I0KwuGV|5}j1z|Q*W)}"m՛jM\1k_{L nkaj~pLj""nןpL9}p D(Y<(sq< !xs]A*<,;@q `)d0O@}f 35dnG ǧH:"i% f: Caz 47԰g;c}9\ B%f6vrToPP+%`MN8':5eXY2ҢX*8R081FX3A玭ىH[A̎#ʁ/n+[aQK'/(=[6{rw: B$VÅ'N R~t R58>Byঌ8N]&5:Aʦ2&oI d/̄8L8']Ⱦ=hhUUҦy sǷĜ8Oٳⲫ19ec~c.rui^'MQT g&H/7ĺ^'ٱ'?qTx Aؐ+ j,\&Sg{y^kbT|4ۖ-x=ß0fS`7'izL-!b -%qB?A,p{`IX O zд3/7|U0Hӏ+ة+RۇMP_$K24z]١ +)rp},QHZ:6etm!E(]=XٴYi+iY`֪iR*WOE4âjM}~Ў\K,@(Wķ ܒhG:5sbҹS $R@Ȩ`8 Ve̶2Xl%ozxbc``gs}c, h,Ņ IMLU{_p!VF ٨%Ð*A"quOjޣvSQҟ/ùGiUr8IS[`"Ur3S)#Ԫ{0mp;vAtkllsץݚzԛWIorӦ򰨔ԅ~k~b 5jw9 DA:ZjIDŽ[f^af_\RҨߕhZ͎&h$ݜ\c'ЍN1Y;oni o+(vvc /08`&GYlʇvL;kCW%/wG r~0 ż!k`U5.:=x~ɍpD'YN'4['=Tu;m0~ywqlnBHfm]m qny};k.Z݆/=S6lNM:߲?JLFodA#9m K69oWnDgӖ l[Y̵BݽĝVAP+ 7OX&J8cZB,EP{D\=O" MB?4ݷoZމģ1E61Zդ<.'drdq;pgxQ.MzhaA0ùXu›g'uchumfg^^XQ,e&fsf6rx+ƒ#x0QUҟ/,1b9٣H\N00JE(f|1Q-)yfY#eI5S!M-صLoy**u,_^sঽN! W XYL",T-.KBsH:u֗rX2"@NgqXMQtI/#B?A[-"C%L|T2uYmk@b##W$]t, u-gLO~>Ͱq8TK# 䘰9U0YdEDRp7 j#}N0Yt,iઊTc⺣sfxfMt [geNjnf̉DC:"9e4rqGX=+#Cw} :Y gH͉&M^@H`覤&ɸ7Eq)<<4RsiTQwf_cPM=Su# ZP о-ĺJ#m*)]`9LANރbalV7W0[a ڤ, ĽJE;R8t3ART6Ƭ R!,X>/Pݜ <Dfg9(%͑CTރilY+vWD4oɓ$lmXMWΉy};r˭6e2WFVd+X^7Sy Zsj@px[{Rxnr'@ &O^-k9^4Hp3dҡ ~RMTyFy<u^ggmTDsF492LD׀6|~g+3h7vqe@t]xfB1|l+|p7[K^:ř=kЫT.KRͦ x/NRPV(i)м hӂc> I"yO[.P2 c{Ta^aѢ,ӈ67})y:g1oh5-GeGل +k'/~Tj3GdX2 "ž|-!gQ$_]67~/UD7`UO,3R>4)R'd`ƘyP\zd.(h(.JXkq?Gx1OM% Td~爛Ġ@2Ǣ1wPP mNPp*6Һ3o&v3D|"P(ZBz⇵b?xr1d`#=:4>!l20'f5ޛBv25 y䩓F5L9O$,^QQTfq}4ܭ0(Y H tNO %O64cauVVoq3{UؿH[MӧR3Psv$F%l `F0}Cj5v[w_}kLc@9?}X ֹ"zO$>es-` WfҖ(7!13>ݻ9;Mn@nN<잉ЅGnٚC6gkF@0-_Ju/KǓ# iwQ0:X 1yTθRT=8|1,/fKmt( VµC5mYLuG/YkufrĨa_λ@Q6TwdTl*(@~u@U(QPϺx6l$V:Od u]t1SQU@3t!φCRfy1eEmwZߡ} m3/џK1p*Ɛh?*mn5kK_P\8 7VMPA$ԙפFsRb"Z"Cy/C, sn\JL cFT3GݧF0mF;n#o\ֺt|ڲ9raw{]kMcqm% {nCvgs,, +0}͕w BҲ7h CKEBmU=8t9/$! z`_ kß'ſ;mBT4o:7[Hs($PHR%4_6a[j4CRD$yyrw<لv{iEW/t`OZ"Sq{p`!i(Z 7m Say:QT0(b*XxmTټdpt/$~6R- Plu3H${NX :E2܎gD/gdsC[,לjHDT Q%.F.\>BxE\p_GO5s+OG0`[`$q:QOv="O;"449ߪLuL؊W!l͐DSݺ9bT"\7|m=J6 SpeemY}1ŋWJG~{cFդKNA.Eʪ5]o0a\"׼Ʈ5$"?|k+^㾨GMs: Jϖװn/jb@ ndqfc5m\;}K6=DYwkrS'bS^ߏg F- ;GFI;[gƇasТSHU6֦L6: k2sM(mZC6fn!҄Ƃu ?"5?!QI0%S)X]בKNW 3 ׆ O#YTP o?au-yX༱V7w–.&V\ p -JFEF;A]TX1p@!"1xPR\ʓ!u*} hAx0V=_`GaB:qZ[" L)QH$*TFjmm".QTNȼ,-!q"owgZOP T5mm֜X+(T@dL *OcWj9,RϺ( Zkf@P]D*?3~[\LԭήbJ y5NytIJx)`q}Gef@[/3r ĢtsLfR4+@f d[:^f7Cފ8UBZqճ!I__L3iQg݁Gԃ䢭~ieY@yqK|S:l!!5 f{uHnfA@Hg[$BձBݑH|ڪ#.ޅ4"Vs>V_@x$\M4l̯v[lL} 8`"`tT|oڴ5FE?!eF)Z Bq!so‡Q ,3k) %qG={ikúeP5.+>2/pڷw"ίkQi8 i(ra<~uBX joᜅ 1%< VnxKTI'p ~D)Z!Z]Hg04GgU'K#N{9ʗ|ko i0;ES^M'e&:Axq2 <">ɒX/lUsD_ypMhX0/.%fAt"fsZ773n6JHE,Yt)QCiǰi-dS[qhr'r1+ߓ8?)ڤ6kUv QSLD'k9:脏VL)B&/ cف-*co eoŹY/me@曻tֶ?2~kwZP+-.A1}kQ+,D7ĄD+ I^ȷ <.̒ /Oռ c}Z- dF@JJ+ڭ&zqHUv;7_n'^MwQwBBV:$-1͗ײ j>I'?3ot.6K\F;)$,zq1qMGneZ4Fh\']: BKLeoq bA8";_q}a^Y%ZiV fOHS~hW7LT_^LraPDDkq5Y{kr+v<މkv+#ÛNHd֩컜 U ݃q*Rڦ?yG"+:fgV=Uְ ,lߣHO 2j1r\MH'/e*prE6o˼8wzfpWn]0?jY2\_@m.&X z I uqB!<3Eϛ#cI\Jy hj Dt] :0!i!BпY' /#p"G[͵7R04ypY@yW=Թ_DP_m-  s\w1]n!9@"2hu$J- Aĩ ?kq0jQkN*&z">tu",}U9U.WK! \>;{^g<,q_T);2tAUH5 Ls#6x.zb}w&3ĥ;BX<]/T9CAB8Y"b=CD㴞!y8ʗ[|PmyI25-AX)C}!^&Py\//M"/*c{զÅ|m̒xwf+Pr3RֽIRř5m~*gà엥O-d ==!ɆsvQv9HVj繙|ZKk4db*I(_#^#X:F2av+^UK0>é޺3'Tb{#e5Tlm9駵u<-5w}qBۡ{뗣q%" ICX-z,h;cEDF.K$NqcAc{|Ntg%_V$v`}i_5dP)u 7.\AP,TqrV}a&uڶ.?N!Cj_#"XV@ɚQf9)3:^:eS 둂njc%G ʦxz>ZMw"x:@e|]U?|Z4B6d8- *R+XP{YZ1ak]g/᷿G/;7*tϞaQĐ:xY|>E%:G=j+otpЪ,:x$jS%PI} Zrķóy  mBěG9F\ϐ XB'[q7Q zq[o@ӶY0Yi+d4"ndc}'|LuSr^(e潾› $`gc߷6xBĭ*:n oOatڧ(EP ~ M$&|8Ϩ$Pشܾ#8$^,ed_ZZO7n)U8(fKAGRP`D= g PZ*w]41g\л#iRkT~sϧж;9Wh6lݪ8 9#7Q~(xK RQEBSt9gj_yɀIr@eMuf5+-d꠆t'jp+I`u;[DaD@vɡ!nLEG$JfgU@ ԆﰼLJJ!O7葆@ g>1ZΞdL/'zz5!~MV)!RDېeix֊-9q+sr`ۨѓX:Akr7B;̝j&O_᜚9y0˂MTɠC@LPo faJz\["B!KkC"Cyʔ [sޖ>`Q8%zk6Q.?9gG/$Xw?:b0};v|&s8=;ßg}7QbhC1 Kqqk(yg#Xg4V)<J7^pҊɠ̙OYMEb<Ê9G/&T ^9J[ >5)5RAՒKA& _{:Yj5 fkio'- 4 10b' .}l><\A/Pge`ײqXj}oS>85f<=+3o pQ̗d$cE)GfAiZ: +˃'{S^'om]$H/*[. ڐW賏Y "+: a+[ \\`}P?`t{ۇJ,)^D9df8[Au,yϧoDuI9!u1F…~Xo4ֿ_ v M$ԺQ(9 Z4}M{ MJv+YUu0~`xL8XVǡd%fOagT,\ baeH95/m臌$] ^;q$@M.F Y>hY8e q:lH"ԝA{OMi)X(b/5iQ#jqoڛ$&3\N諡 -_-@B7=|9- nRB@\z&3;*<ݏn,\};\drUkxLXeIe`l Eւ $~+ .MSd={_!I, +=b0-Jk`b:]{_JTc,G#rhխغ2p}y^%췌ţۀ(WTym?" tV(}Wu ދ.C(lEUdCUX5i0Y 9Qx>.3W@5($+apgW1BQnv>5j|趈996LշJ@t[p@N 6q=/GaKp9=NRWQ\u ,|b3-k&|F0  {Haz= n/'`[Tl[誐mG}\y3O.Q*E*|'2>O`{O-A92 ^ z4lɔ{_f?{P6J߂[ eo <^逺Dav:x~2pŬ$~t#(ձaD<$Э7rOtA =+b#b"Άj_[1O]: |UGbYw@FcTT5l;`*?0nB6xE%Yu]\ 7lNXs ƴowZNKP9(pWN)w͸uu((O*-.ݡW?gXޛ St蹢Qs|?l/ڽ,؆v46Pn Us6Ix ȥ5k !Ș'S65H9:7>*d.߽1% -eخD՘klc}HBmJ1qYIFz-YiI7)80.4QO0tUgK!0)B*ԙ<s~r~ƑǗo$`lvd$6_[Y"Y2BW`Dte4 `uB%= -`k"8$jtlilՏTԿ1}ܗ3qA1 M0?Y<Ͱڨ`BkRත1h}.GVo^y:B{r+j푳М"47{n LcodOV,x=F[ th!S);h{GS0cm]rBE5H*UuzhyٸYFܐg\+VƬߕ(JOT[<]]M  $YG}p'ԐBA?b6.?/0LAqVQ,chV48&_a[sx,o?b kmOm $U eu:aw[)D_oJnNI(̓]NszY+iY9 v9Je4uX]XEp~cX5s) PfØA״l.c˰I:gդL.(Z^GHΨR\%'M+keL1]Eڤ=A$8sZ{Qb>4Ow Ihz"J"ůz&ŀtzW@7c(@i"ԞmD۠EX_+(|t:ZDd3(GpOXa0XTq@qWd-$"̶͊3AE2"\<6]!G q-5pjٹcۋ]ciLCc4D‡ڭivoRj!$֍K ę`L!_PB3N1T/F[ 7K+=J?wh;-&6njGk. Bțn2W^r6vKЍ~\oKZDyNN_.,R\s5) a7&ΪtacdyJ́*1=Щɻ)W _Or0^n8д2ZTDXN| _&3PnFXa=ٙpE}x"%)GK ˳VB1`#& x`5a$R99=; "L٥r`B<[RR8խdWfO,/FY?Ba{pRg}ީ` lgEJ9%"G6//<4262{@P$vx[]vLk(bܶܺqѫRzZn_ibD;~غEU86RӋ[$l21%s|npiA<׾ԝLdHiXcDFpۨ0߸Bk%hZ7xr7uo`ln yanµȕ?'\URCU5BT$cϳ"*l>IJwkxS'|Zbl?F'%n[#^^ Gw5J1ݪ1@~hU+V7kp`:1|Xݒ%;9T"ڒyAt䇕qῡlK5z=8D5qy|f#OBb,dcIۘT"p&vzU X7P}WV}Y`)m*l E,026q8ܝ<k~P#l74,7 Ɛ*K._+}p&40g!ۊqa)F`u 2 Rn-N+ݡD\9WeÀ!~7hlsU}tJ6N)h`mO?(!Ĭ4$-[cIY]9%G%}wΛf;mu[6$UՆ\'kPC}E`)~#+]#VYcs m6K CL?㍣w0ֱCw.t7ЃvDWVqQgt%W%_Ӹ]n[#}Fi(3*1@^5P tToƦB`ZׄmN&)60ֈϛP M:/М]zqTub>A̮d-*8j ɴLN2?Wn 4_33hr=:N3[bM'<3fzѡj$Wj*SSm]?3.]rހY-w) 4'C)K\ + 0.]*gKKi;6Ji-C6'YĚkm@|֭Rxɯc?s1rv>~f8=2cZp7 4Ζ{G0'L 拠* P7@ϓ _g~ OHiLfЖ.~?y]HϢrJOE-qoo-y0pm4$O]p{")Fb/4ِHY `j2*9D99^Y5"?`Vy\Q%>C+H'NdۄҤ-VDP6<4r3яQMՁtQuB6yT"^Ck@43]Ae%jWH"ζ""KÚ*wҔ]^@|ώHXO4flDz{Ԅ#d1|ܲ+rfQFrh+j}&rXR4è@9m_C;ԏf*UGa13GI{~)w.akZu@+j)^bz)Τ"n*0j4Y(WN#_+*:?#n>i7h8p0;wOUɐ0(piTr:dLFVjiJ ԵiBtјCpo?h2d "ո4‚F2OJ%,ڱυOt!1svpDXֶ\0J lF$VR|Ҵ8Nn#+]^k؅EKX( QmT$#@뛛 PX"">VU;ªibH8qS-P+5d͈&wꜤvmj5twNvݟI413`Q/nea> й=f 3T&SNc+K>AQfLJwte݈W,ğ5Yrי"a!Ewyc.ՇEMzt uMi*?`J`6GnQnckj㶴%֦ԚR.>y J~N^99aHhQeJ6V^?l"gx`K~vDXM]ucLy@/$yCa&+A6u]eT5BѰ{PK'hrJG\&1l}Q-M?I>}Bk YyJYO^,}x#++fBJ`'d)(G5]/=Ji2zh\OT$=#;0X^g^&?G|LA7t-\9h#Kgy¼%& MZdB+4  =@H."b Kjȣ"?C&QD˛f;؍I*>wqS6@Wq?kQ#F7 E}__l6R$Nʶ_qw0#dz m^4 |B <ʪ|q 'gLcqnEf+BOxq&1A*m %7c޾50ϓŋz1CݕbFNK3(7R6p(aC*~M6wȾGڔ&HaYAB=dX'}gomkAE-H1)YlLInh5pWY奀zfNoȭjPf{ e+5a pؑ[(# CCq,&)eycoB9C \VWt%): ܀V-QR'(q/+xq3Jj\7 lG};fSwL+Hf|D%0=i}Yy&WW+/Lʍq^0to3 3 "]/ jq OF{o.^Ebn2WYIgR,;"7I_wI)_)Cc#0AW0dd~5I|d`uD7Tr&VPg|a4-v:ij\5&6\j[2ve )y`|ώsDV27&URus,^އs(2֒ô,֘L EB*ӿ)oz]YF*{pM̜ՌJm1dQ3OnO`DQM&]T[UEm{Ʈ x>[DMx2DkxA B)i.qg7(I|h jҗqף>|2\g4p*"qlIZ",ҘvA4YN֗,#NRyPvm ax7L6sim(Ԟ=|λ _#;@ =!X7a|] d&k~/e9{?8đj_9N(4KPDLwXB"71@ Ã*5uqB5+Ț~0 Z{H+qtgp"RUgǓ~Ec҄?kSn4ѥPb& APD°>똋y+2xH#} <;^zk!$f^1_J*RK }Mk~e$ Jcl"j={q 0 NV?xh6 Kzbf]HcR` m*A?DK+c|Ї==ԚoXs(iu; oDR3q! >[|D^-QIe80lIm%#2m(!kL%#,;OiяnV6L\緻"kR`zU=ZaBM\0 X콿Ӏ?((,BmLb1F*P6L^'W{?j۹39ީ{.` /XpDk[Ev PojqU,7 4)`NVC%mE#($ \N@ɽ[wf4~QRN{Ce|ڛ;h  rԡ6nKJ50;ʄ_怢,;qk8LY,D-&+._tXi'*tN ?]{1jTq#BƮ|7&T6Y<|NЁ&0 Z:8_QɍwӾKg2e }?#uL1P;ƞR'Ow9eTH_LK[8# 9%SMXD ۥpXvFuAb,0fjYUV])Wf>}RP(;ʊorUU_/ujCh}3^VUU,Ȅ"G =F`jh?F;cQ1-ٍmx>ify#KV_I+.XlO0i 魮YX@(3)ٔ&|"Q'.XoIO E|HD"ΎgYwXSXr9hxf̋`h~+9nm19z 1TRQ=)'9+ ;G9|SP[膕g:Z Ć9t3i,4:Xƿy Brd;@u`^}r]&.=S(D[7{tiku9Ҡp(>Y[OTP4V@KY-21>G?ސ}VENT &g@d0E'FmtJa4XmfiؿCVܯ܄c%ܣ_1cLFdXܦAyԇ6oR= `K #P38d[VϘ 39cr'7%t?'TW_@m\o?~K֮j-_JH wHόYlP$Q~]J 2GW/)\y BeHgqjׇӼւ.ȅ H4 m6UR OvSh MlUTDtLDbF<xpe!(Gy F%>+^4weғyj@|xiO?Ƣy{ 8Y'-8{zެxmu~*,al -TaL朗R~jhN`yfSBB-3Gy[ˌ@; Ne!e'pfSYߤ1;s>:.b8A5rxmud pW.B@\E )c~7Ol"]# g|!kKn_hFp` 2J=.q3' Z[,)5.J$%:%i'T &ṳز"$`Ig߰jN}0yi\"T/E<\g(Q;Z7f3 :]"afn }F{25ȷ81}[JkzHG|M7$ϹGj03[4שO/!;c_v|GgY8骿7;Ŝ v$cyʡ9}gļJT|}S`Z"2,=K8(~"h=YLAd/%}ESbel~k\9YWGZ ^x6k>ccKAгBEod͹ڴfdrj3D(/W /0dԣAtX`%C!Ny.<̈́ED?_-0S1T}9i,{Ы5\ EO8(T=&TʜQM/w)o+Lcq9Kek/Rh4`QTɇ١pRrEk+GW¸WV/?;i +v}PMiHyŁ<)|2ie^( ?^xZR<[rzJ$NsbUy@IؒK ӽ,gnca_qAXGZ#tBvj 1?I f ~{M~*~&K57<Ɋu f{k 455}g3-Iec,џ)~6zT̄Z=*!ZBF^.˯[{\걂tF刽.s!cooD[ Rᇈq*˧‚e={{i(K0:~(TԷ*bNu&R^ܱܻ,0'i[#4Ѽ[d3$/K뾼%Ջ"G`"L:l NhS;`(PkNևW륖"h b-pE1_u?䬅4Ss./j6g1XT@8dDXc=fcFfMM RSpYvo<1'09Tl~ _n<۴j!@H7+L +Ymh撕Ii =[ b$= 9nz.2EI~`J]΋y\c ڡxxi[#AYΌINl%n+Mg)sFƗ̐<: /s-vDs1сOW0SLD]4x]3z止C'{?*Q|"9߲̓['y؈T$Lz Nc^Wz6lVQdI}vpI9{9 ɝgP}8 SD k?ι8!B+:2:/*mԻE?POr3* bY'N>9h7.|/~Xz! N:#i^GmT!| 3O47ω sWDϡ%R"*'0!֜P{#a 0Yـvٲe`~c| c!?;\Hl C?079(Aq<hQ|ac鄓D$N&ZlQ%c'f (A \Q [0xBxBSRԏޛhUʏf0I7ǖӷ̈t@1$H4C, ݜ/ 8M`5fQP? <*Lr5=~\0&rߧ!ũ, Xi81粱8JojN 2."7> *wPcWEneEAbLdCu6ڂGcPBG}7k6@d,wWj "tߡ5ۙRf 1n_|NK1S9 qƥ'*d?/Ka_]jf5̀< lx2odՄ+'[G@ DX@0cl4j.z{%d[TdOjS9JSHWO ̣(Dr'}2( cqD4s)}n48m,Cjܓ h <|y#^Bnbq-BV; ɒzzK]Em;C2n k*?P(h'vڛEux!Ue)d`Ke"Ŵ. T =9]OCLE ƛZ2inRmlQi#(^?: ^&0Ww!F'JuyZ1|;A@eĆi"؎VzdCT4{{&{lj54h'Zx!مAik*%JtV+`H\1C)H2]FߙI6&TwR:[c|N f﮶cG.7̌G"A۠H iU| TtSF>{U io fk2ݟp)</y6>Qk1=\!DأXe,(>vquw6}OК{w켫CQk7ה|Q& ۝C;F7]_,|'BǘY `gN5gb ZjkPBݜ'Cly& ׄgށY[ "cDs{ x4_Dq`LYE:sZJo޷mJ1oRDjb'dP ~얺Lz(i#JI6C.E;±w$"Vl$\^B[)Nt01M zZ,bs514:<{' 3:L/#D @-=kyQp^̈\z?+av3$C1k E>Cػ ޘ#ͷvgk?4!!ΒNǫ5$5:.bs9’PlPP>-B YSto# X7@=&/MҩMֿUQ:9%Hc{ҵ߳DQbHlgsڐPhkez6r 4(q뮝s=jHuӫ-_&31eBǙDqo1jdf4$gZa(yjOu_&qZӺudkPMDq Fgɐ&CSh;SD#a[${'z©jzX^ݥ[M! 'мb%?׼ќ3Cl^[oƝ_+,=ַK:<yoݮ zӰ84xnUx֧$ܒ66y(~*^> YZ;0)jP(ze#]DmK+h-ZB f3#e=cs{^;0b)on.6ٳʟ;Q{sI4g1Kq$5 1)sg\6QCJUҵHq:>zC8`F+ִfY[FxVY0֏ ܮ<m+Y%_v(/jN[geǫR^ENO'q(sfz=9CBZ6u%4wZ;t0"/;479Q7! m7f8CJA' c4Lk.B0YɽQգ\`NeǽEJQoLj[URC݌X*5\bZmprLo4 ĜpFbTǜV_ђO.> 5 ]4*;n? T6ost\0L ՏI Z,֚Feθ7JmTkkg[kClS _PԞE$"i䧾1Jُ6jl&*gk\i(b_\1g ,Zf\#qqT&Tl*3(y8P(; WR4 %4Yuz9:eu ku{p%c0FL̸q(Έa16lÉ_1Gr鈋Hވ0Bo/e?^9K[j+HPklK}:Oי~K70@:?> 5`bZT#kS'&%k&in?r iGyޛӫt{afD@EvDPE J} ]fBv h*U=NjoLŭ6Ci|7_fe<Po {k珀1&$L|Z̋ƴN dW.<&XE 8P=@i\&#ìΓZEQ, Q5d vhB-!{dL1-o*TV3$e1Jަ~>jj&ֱ[cK?9"O'dZN\S;5tpBl1`2J]ڟ톑ȉs5+ J厭%<EbϪ`_ 1X64o -gjGdKXmq,-Tg1+㲀ēb$5zp*iA^%zH齝#ٱG8V1[@~ x3~{k( 7{>Ĝtf,8,bRrn⇟Mq^:Xʅ QD?j-}.QA۱DfI0ɪRA?p[o5R5 8tgpQ,MoPd[F NöڂPo8`"l ,>*5?PvL?Q*Jޯx7Q^9N~5[RYM^xu[+/7'\^Ӆ_g\})*lSݗlg)2tY# *礍 TGJD!LGrT%UnC^:9iin XHk 0v4O Z1 qtW1``$őa=P%S&O.N,#sVZ> e ]Qsny|n~E ZЯ$vӼoq n+'/ΫB@F!Y<]DfKg1/G@ ˆng3+.t*5ӐB.ċl'cAcuF̀;:؉D΄_+Zip4נu]KtljbHI=\0fd%le\,2H1He lp:7,ˊJ}fB@!MρQHϭ+9tR՘ '؊~3}U%lG Ǔ`rF_&mp6bzbE3RhcqxC ?ےy7Ŕ6@0K;}ݤ^Uׯ2AYq<-L\53@е5.c wvӨDdcc˺7z`,36>$wqЮ ُNN1fg 'g5<&cBbd_FӰQrXjegw]۲ uRӏ.w)q=O6 .$qgSc^` ,{d|>~oI}E3Dmoii>cJy\GEB:rȚõs,B*;/)U5yѿ8Y@3<A5^}ݣ4ա%np\@md59:d^NiجTaOU2X*Zscn?P)ɦ\,w0AT3 wǕ$n!boʾHGsZo:M|0IiKsмIyNr~@`D KεTdqZ#J-絭I =~]qvsxŦ"?kW:P)mq (5Hh;F@WпHL2[j؏V!Cᴰ"fs/͔Z#0c{̓1xSP'YC&(77wOO0N†4 ႊ喬g< qS5?8"fuzyhVH>4 9{?F$H֦QzKۖ2Gׂ@]ZssXuP[beUL撘o Y$c3Y]eàGY"V_wԕ۶N7=a %eP.!ǵ_d&/t_u8n%jb}!yI)z4VV6A4ǵ , "(g8QaW6 :8ۤ8"U#qތݥ8,RkRjU} @P̡un=SrL.W*7}Kk'ϣrI@Z#23`^PAu+g,X@oFYt*'qInTOP߸)߼>qyVuč\/yOqe]9ļ W^+r`]oLpjl`L& NjnC^!{ aŗ vwps|2L!Wf/3}gyi"ńDAl9hK4T~ӔGwCL"Wl)~bqaP R֬Od|+梩6r`m~m\+;ɞtӴJȮ%(!F_R9/Xd\'΁0Bћ!jL«+܆ʽyQr ,M",'m9ӢMhFi&~;U);j44 Yg.y] a5g`H$0 8_Ё,@]g*TS6puP Otq )Am]!4٦)D@R 6FnAMRTM`ܦ8`=M*oJղRCbo" nn)Jq.iqSJ4ĵ~Y_b2ht8[sX smfΗ(}2\l*֐9 `bVG1t?1i|`K'_2ϟ֡hjs2"$o eL;sy#@IhtxW:_q%*rF|}a]7{]C mdCBɩ$Rܖ++q }+5o!Q_Aza5f"- H2nFj :^Ƿnd5/l~((m x=ɔLt}Gw) (-Ko[TI {8A|.+G `[,޻z@9$u0׃rc:[eC YCP}IX}MzJ26zW]+Iwl):S1Rީu;ʏiWDXjI+4๾c!5OdcqޏWFF\rw&M((yAUS1,A (2)zy0Fg5įgD,l{Nx{lRU@(F3F2?DM-rJm/92ulϒF XCrbƯӡ$}PZZAzM2SR,k!j8΋z cF]WhT8ԲYXIZh$E[mw|(dJ[/Ї{Vt[)ɠKE%H|A <]۪3cָ]Zf%^PTAWjpo<ҵ.D)?%Ÿ +{ܤ|2 P@ U1;.nW9]!7ͥӭbY2/ʤ=" 8L=ϦnLR9QK9LrJHtQ &E.(OH1D} jF,"A- `&B-?虣\Ã3gZ~[b5UuP^^S1bDE03 :֢ald !XqHtuj8k.A>&3Xbq͚e3ss8܂$|C+_"=d.9k=5,GIn\R fe?^E#٣GC4zV]oEծX.Q"%eVM-/ Qǝd uGa΋ k8WSd0yaLȪd{qV; D`R7?} { E}u#_#1!hjO5̣MkJnuv"5ʌly/TިjC4p1+#LrJ?[* L~i&-FAǥِ) }sN(G|o`:ȏRt^K&Q5D Ӌ_Cӵ4m^ؾcFRvVF]gm1}rG0|Y蹡D:A0xq>g @$$la'՝0jH{FX~=퀧h2:Υ ):n\^$k~>S;4)֎Jx9CTW~Oeg߰ke+#wĨ5!ktX%Si3eH7MfзX/|C{_A:QOZkJz燱ڝBƾ1! )JR#u L4/MM[~% ռn v8tAWeȃʡDILt Rr[fQ0K%b(웺/x=z>3}Y[/"L,)ٶ%F*BZT0Iu JTG94QUKef+ -܋P˫ɃR^V*†vu0,!sD_ncGbv3,:zOGDEJe6Q[sc_ RpKiQPs.3 !7ha!/䅩o<| ͪGE8\&LXNؖE JP5z/ozVxOw:znhD<ڄЇx#ctNƩ5pӿ)b'O|Irk ^w9=suˏ&&hjM;ԦmK/ L.*CC=$ISDpQ1CEz׉ǔȳ5*w{# -t"yX/629N>5|)@CIA xG]4!^.eu Ӻ ZZWw0RqIe߻z3wY3Op5w%,l4ng 3i )l"*683x{Vm(ȱd^@9kU{AMp./\D~:ȬϱuTI',z G#Pٗе o("mǀq$"tզP'c3\>BY[[h\6z';U/*t0cHI38Xh9,A:eST#YCOBŸd.@R`cr hU}w`LwrGS}BCRb,آ~ہ c"`_yG(I\HO&7jHL52[+GnPS5\rDA. !b2EN3. }"Fv|8keUihj݃]L%UTFgftztGE\VwŨ,ha󉍙3d񈑌FQ_[:c^}A&m[_!Cݖƻ5T4 XMJawUi0~z1c8^\2$R@VT~+z8Z4>1"} mlƓxZ qw(38GPAT˘-{;gKoc)#` ,ݦ+(G덻paێ;uJ>)6P l7^bO,YS|Uxg)n_¹˱Q!.9ff.:A-{M4a`9R 0$0Qh h+\ef0j8ڿGs&3X4PYjiFZl_He/v(0ɲ`rd8}gޜ?:|\0v%oM#eb q;wb`m [lL-MoX〛G*s9QK% <_{IB{A 0͙ξЁnikf |1L+&4zfV=V+G$-C~d3e$1Kkfu迭Q#‚﹵~/2c@2 AA茆e#@σRPQG۝ ,C)wF%=jVR7/N%KD%R|y4/Fկ76*eG3Wj~][ Xʀ|&E t#;3}%ǔo.l&z|z0tw`T8d/AKxą0}1"LDA|^LFǰc륖-C,Mfϒ.580xHy$;=~7ҳv0>Xܫg2vVPQZs`1JJ`巼l]=,MF5jm!C/4p*Dʍ;By.7"NVȖoy,wAa8v{ :EhjS5L#C O[Gqır>77z1>q ?w 硡yݺ'/s&-{9\ kڮ-!KXI'r^~~cZM¢Rxb^>~K{8!JGSfT4Xw&T}Px9I3'کz dn2e^J>13aYG=D#>~vך0_2+ Ɛb{_"ri.Y.I  T %b7; ۑu(n;u`9aj$E)8ƨXv oV3Mhio" n>hphwҾdYA+z7|ԔaV(:J/Q#ŦHw9TWrGAXP^q%K j 8!thoΛ|/wW5EnaPB3_ۂ*dMCm@%v$F9f6zS&X'ls޿D~B9kO]W)_bl'nIF.V w? }\&Z|R2IJHyF( Ml O̮ٯ*類v"v)@i.*f-C_cd__p_bQ2Or\FpU2jtP3ff xb 50xĽ|R8{ć簔)H?% sR)C.>1OZ~`PmC;9#eY7.~] j@ZJ5XlJ*L@J#!F1?BAE/{]js mOF5qN. ~9M=q)cg|V4Lj.9Tlǽ)Ɋ׼R:D]vF|6;>A)y3c~F([ 8쏭9Jqd$N߳V|)?ChW=kCC C1^2\d>'T+ >Sr::BI^<XUkus;nI#nE xelH Fh{W d;qB1!W +Q ޔOy+?D >+)1nߵѡ5OA'45ҋ%2Iop>w@1 xHE‘h%6/mE1uFQ-vfSx‡i rOݖ:Bk<#/d7wɽwH/dklG84Y"/rm*q& 'r'G/Cۿ%ۮba?f+!=rd:58fudOt]63@ct7c:K0!;@۠zuRS7M?89VL). E  {{3[dR@wōZzEkTQ,u3`p:CpI:eQ>PmlHRԯO,k=5PKw86?^(FZMy[fI"Y>^XЃ%46H%1"&qr3e47CeIXHFA q1#s+o̹h[ࣈP<,Zkx΍UݲdWhɲ3$BBWeALRINL[FGV[ aJ$,ҳw3f6IC_EA;}ڒHu5x;Ǯ^_) 4FZ0:#)T͓n +WIqc_ D¥ 3"hYM u BRnkNc%DҴ {4/^ڭ{ Mn~{e:]ڢ8x4r(p?O ꡂU `DCƟ M ._1Ɵ9 R~j_O6QBYCKl1A jg!|2c;_9o}TU guӺsm:yu5LT{8}^:kϽ 9fIssgc9#VwEQκlyG],B~ I㠮1;{(amUZAn"#udHϘύy @jMOGwJ"Zwv{B ,T}^lC4_s|TkOӼip3巔;Zt]`!b6UgNgR;gIɛ1s6~ E!?&}]ˮDٍ=Sy4bAvؚ eYL_k㱞4"G\J_GulTѩjm5i"q+ޭT3\ &șq>3,4m?ϾڙJ=J/  A^ KUՋky~sl /^)7x˭9ְ55B!ol7[ n~$Xg&vwy  NG I'Ӫ_˴q- q(8RWq{98$O Nz cZV*ι~d)Xڑ?ξM5Lul7MvYBa wELaS˕I6?U2b셣6icGDPgf\H/m,v'k9)Dt \}LYX^tww ʱTM)Zf,xhv:#J@ՠG{_2Z4SKن?QgYM?yB\pʩ.)㿧y eupr[؏URdu_WDs:U2G5zZ9PSEa\n]8ػ|"mGO89fxlLə7bK8C2 :,,qζ+}Ko0bo 9 "sk a<OyV/k @֩"LCeñpcWU__^Wp:Ʃao-j5/:E^$t6oS dmK+'쌯 2@j x uQ#=4ڒG3ʒo4ɮM.W=7Z8'#:f2148[, Z.x?9 B$ΚR 1Fʞp.^z뒛mO IDdxLJn5.Q1EJ8}H P5-1!KtBx`O"i$cW! j'G)0?7gyb46o&o!V󦣣[%7̋oG$Q ;.o^4z! 7,,=c(gC\\A)*:ŷ? . NO'gTMdFԨ7vm2JOU@?/FJO^z=y{l֢h源/l9+G*6g (C^"gztjNI|JeL']6 {#=[-- HUKbA$9|W͇".Zy'&:1UxY`E56i݃fL`Rul?3*ߔl&`(y^N.n8[!ͺB݊#FDIZNEVJlMS>4]2RL9Y֌ XrpYrZo{A@"Z/ ]i(c]p vD5D 2_fM{?'BW i&~XO;‹p.uoD[7.4%E MLQS(亏8lzZRnELZ 퉇1W_COQ=fUs ƻPH0dS *2LGЮX`o'BK2h@dZ6lwZk|L=M7=#]#x-XņKi!ĭn=-fc;~?umS\KU8lf.*m=trF|. zRl ZEصs8Byr5Ɠ<9٧Ea$vxQ;Q.kxhM81&+3d- K(Lu5þ)C#R?@"%,P)f)itl̊* QtLV T7G*IvZ 6 Af=Gz2b,(6H?'j|Gf \'g fv;m&lX>EINzz'7099OeSGT!D?D9piʦ܃/Pb\kb|y=B`c|N$K@Z,s<^>.#g!ڃ}ʎ VtKSL_ئUX;+ͲA2*,^}Rpc!\vztƄ:K2ָ]H -s;Qu+Qx=:6Yp6zPbPؿc(h Ԥ5\:^LhT7>Ujxfp/]X4ir-EIԬyl")HJXv\+я |to%J[ǾM)O-488hԎ \0^ dg;эgݖ7#-_Mfo^bo A zem{ a l ޞt\PBŻHQ:0iI,o|$PdSCnXc$_xR`OTi^<ǒJ5Nb:_RB 8KGF+>>ypF(Pi 4N2XB k B~9,5n=*6vo\kl3sIӓɶx =fMe~MeJ^𩥍mc23,՝}Ot8d3{s̪V|X݌ծon#MD IͫHb;1<.;wPO /O%R<Ha$=N)ie]9FtÊukq,L7)\ǞQzY`]aɂqHr A;-T\l`˳h;ZGpM$dP&I6 %Z-* xM âF|GE9*7M۶y(,RҔ; =%\~,%^ϭtYWG~;0>qVBD5KljyXLdyKUF>~"~'!IiK6MQԏE2x ? M 4_y907ZIq^eTaʼ"Q+Mφ]'9K{fxu e(hg6f/gf{QFG 3aF!6Py=z@ bյ^Oefkrp}(IJc:t.en/fV'²@k;-+ߍutAKzԸPٺ/:G}G/B꣟GHΐ[&{t (Zv Qj,WKIp('vZU7b,3}t7bV< ^ )Q iWem ɨql a/(/ՠwTd#%҉_^a!5HZb*NDk](L8a,piDeREbdN AC.SUDjˊZM*++h/LTUݯ@Ill#b>T@hzx@2 #O[ՠ0DULcɌ6%b lrJXRId疡'-,Y ?Vi?5 V jfuq$a3ɊvH`O%8GMBNziZ6R( ~l2') rW-xE~+I$3H_FY~s y$_޶I"׽gsLVΖ˩} Zh%jl ʧ po2VJk D[)oE,9a0 ]eqˆk6}@/A+}t !({ݞth_ ǹ~3+.TXz Bſއ‰jȄElaz{pMW2(v%٬Lma&m:YpEXoö0(Uz ƭ/ާ~HyЦSUj06@)))/)-pov6ef,wݿ54[vdPUַOEq;(5it@פC-ܛv?jԎAX'jl j?"^@8՘t0%&o憊C°SMdQ+QN?$sڧxv/x6+VcW3%KLQFQus|s?FcH,,˯Cgy+ַh8J:3(_0XG thɵV]_LRħ~qq5pt7a-lدBr25/[+33ԵySDd< )Ash+ncwq?y8Yd[ULSh`@^X v@sIχ^VL̈xJ@g;tc+Cͨ#^¯ʂcKǙsoZ֪Ko>{[%9|Ji QiaU=h+”ֹRĻ`(,pD.ߦMLVV=w%_)GC_ _g?e]0Cۆcˮ֕Ì%3n/˝;} $F>9Ux#/ںD1H}Uzzj T0MمK}2QBV{fIaYn2>{ˉ)^ 肁#/L< ǧC&~yײKc9 2kK%k:HνZC JC@yƈ'FTMi<AՎK}h ٷI?dxaCMD&_&!v ,%H@0U~# yڽe}ٍbMMi,ǽ^rjt$ 恃1Oэ&s,D:#p}ߡkXɓFm{Hha 31m-9|>y_yΕ:.1AxT\ɣ8ns2 -B6b> '>/C®-xKrT跷9DMq I dDR.P|%mdzϿ{uvz6"ne8,s'%VKHz3mvS LȸLo>9R 25BQtEE5ӵcBڶ' wҧT)\{N疼dXLJ4®Iv'f ~>4$D V&nQD j$۔>*Nx C%-p>6NcsSgwXO,'WV[x} s V~u7-oz_,@[uOﱩgqqp+H(ƿCH4R:> dT}[DmNQf&)uRA~_?v2:CS'\qGYDf6buFz:f'S>]F 8| wfA۵u"[v~ NV)~ uyefTOP"3.zsw| [UjF/ *S^ɒ}D @{9;Q6S]` &+ZI/mn]%]Qim0Ȱ:I /v~r}N7U2"\L2! ڐ Ѻ'BFT0eGHyV3/Lf'vaYS=?^L>p՟<>= e=ΨdF*AO1zu5퉏-ʇ=m+LӐ!ѼL!/v-"*$C]l B'. i2"F0qKJS<-"iU6[SsvRg59R鉬8fwfMCuGּUnQ#)$ĖwjEFg*E_QlxmGZCs>r&RaّIY˙l(qlCm撃AXWoD9t\8x 0gqMe<% /Fߟ*vѭт{ed#!'!:0/ Of>[M>&MW}h@0 j6{GAj 7(2M4˿tHF{MaT"5qI}4-Jaq:G 㶚c8MgR&Rn+(DBu[{sڏ0*d ̖,!lU%=qTKN} lcS RFwK:` }T+9.˚|qn] }/|OmH|ŔP) @NRO&[D &좓Qnb6 oa&oSHYDlN|9M>Ly,g)Qn|g&ЁD2ޔkcܾ 6=º ހ]/Z^ lo#|Zq%)?"𢴤$nMPzYziZv{;) UfyvX.|jD$Ƨ\g.~6q{zҖqF鄝vHN/>(ﱖ\I5CT!өICˌO0e:$dK`l u 5Q쁰9&',~$VY@8Cҹb'^ :vc T V+4EJXi[#V&; aLGNLp)XN:QKz>1PhןMZ#0@a⧰l[H%8冈7 _ڍ6FyUNj͓ :ΦIDI4wK?n̕O#4^2HJCJI/`8 14kjqfC pvMDyGVɑuflh%Ps -#nn 8=b! (O:vUЭrG;fkGg$)8rC:zO^`wIդbh6%rv;8* Ng2y3HXp|h 8]&O9"ha/;»[rE5 N7yBoE>wYI wfp=rQOh<& 23ͥ3Y1Bё/Gc@ȩg"0u(LݒMGփ%'x{;fR<aY<= :ё[7vWNt)YQMg"Zy5])g33LxRٖ{B{YAFH8^z:QW KZrXLM$lMϠ۱xYWPzi BЭ#z6 yoMBϮnf:FےN}eo^_1l@" +gM|z\6g&)EҔGm/n7ڬ;qG˭S62\5FY'pQ=A$EDW~g̤=lGL*ݻ~[Α1Lȭ1ߺPYijbh ß/-oK, +Ǵ<6.>=xX$HԙOy2gLk_u_8_.1m 3dk1JS(l NbiZf(΅V@ ):6TƾLC5E,dń۴I%SBHC]e֎!)"@gc*KG˗`}g١3-;fE׮w4ծ9RhU  Q#I CoO$JjK錄JDQMa\ w?mߋB#7bGnI$l ik۹F]ɾ8OM8f/pqx#64噵/9&6C0Tځ !>uX dA5;STiƝJ eBO &/ITTLrg4%9H)b_ytVa{Go̸@|g"xu5LUNJɶ|'A5S3ur)tnNֲ%yF3ţjX=*qt= 9Pxy_)ۯ ܄u`켁iN΢p79uh1Xwm(h w ly?G+:p%fpG{N{-6!OշJ^"P~ɵ`GYl<3WH{[B1EZAshLHbF[s]Ү\]E~[36#S}þ(<ڠ?WbD?v7Y>HlLy6%SO$mͺkr0bǏꌑ?<1mjm;d7{f]HiC*~-+TF_'ӛu_GSۦ4yW3̱WUu9/+8iR+oe3ojmah쌸~C)t8o~nh\?8mCD^M@(,^VFMK JVa91M:>,Pr PH!uk{NlbC7 C o1 ]xͫ6H bA :H-?"'ʎ/N=٣6*CLSAD✎T2{9v=6~%ޔ&Spcp0go)iBuڨ7]Wq93h7fz2Y"uXq& %f8CXJRyK6/*+A+ A (27 5~a ❺f왮"̳]]I@A \G>q7vV2 lKј|bPΓzYM %4_+M 4v%7ˋ,( `TY>Dx4`)=:s 7/y.l[TG0}_*\@-}ǬwR$X9b&{kFuHPG_L'ŧ|*M V&V4CuBf| 7ҨV@1ql;χ &s+E Jx r`FA?|^o ȕb<'R+! :v=ÏOVg pEvn^~z0'W>{.c煝[h Nuh%v^n>G 8BmЇRv[R6P:{=ť4/o=*pI@lѱ $ hpz%Fg;[R]ߩx#.7 c-y5R=3-W}It(jR܁Q~UK36 A^!3_qz)`y!{t!fјLx'L(X?@>%I:Ō]hn76$Zp 9'(82.ܛ#- 'JUW?Z!'s4lQ+1pk!QQ]dT ~6DEm.LDʺl>(iC38Am]@sdgeO9U7$Oq)߭tR龆e$ Q}ԧr9TQш*_} RDƧ46/"{=D:7Yk  /}cgkWX*v]尃4][ٝA=)[AJg$[^.H"[2%=qvWle@uY[?F#IsB藑Y-1ITʈT uqhQDѾOd$gH?yA /I9 ֌v@5d:YY%$)chDmgnnػ1(T%00h|{4+4=La˴}2&Mcqcpɿ{gHo ͐J2Yo~Uِ H[(@#s2guL,T3AIb2uMOHtʄO=$'d!Q*#\U3#HwL3 A?;Zq;v!}"o֧1KUlO]$cnF\8/˭S s)i*& e EMVK`iQҗڛHT/-"vuN,uo)̕u\go +o$K _՚@Ƒl[a0>RW'Эl)Fu9/ yuHVΜy;ݴj$_[.yMOnf_ÒÄui N;vsߓ=1Z j!8Zr~kH̅lj2; j55O;5emύܬ %d]d>g>#ڟ$BMiʿ"CxwapE hT][/M:_Ã.*Rc,7:a.=bN\n c|1m-T-t C})_>f| % CCa=i*ch .Ġy޺ '!4k{3;!Jg[fh#RU 1`gZgQU(;n]OtN' 1Qs~ ,C`tGfY.!{Y;{m0Mϗ sq^9esoZe \GPo?vy,V@A(@j:/wv- HyU'z*sV!u*Ȣ0 ^#Y"n ybʨ2?m":!hZw\``F߽_d|L \y㮦EM'9Wq39%߇LIKsWEs@!"EG7vpQof{VwϿ&V*dqkKc$o -=ԣ @ @Y?X,5Fq9vfvid5vz6aUVȇ^Nyv"9%nd>~Ovw:>J,;vϫ$-0]7U,\d`Е (b[$#Uł{FbiwK&䫍jpHVim|I;;CE :0+arwxAUo[wf ~b= r֐*M?ш!B2kJqæ #7b KJQ!ayNWYbG:CQ+MHB:}Zl̟Qul.`ESmuI'%l$Wi)XWl<_QV;-#7x#Uuv2$Hu}hʗȒRk1"C/W 3^iF SL˟Cݜmb?nVvth1ua OTjo] /~[3eo HOp/%dM88ʮv SM{cijuGB(XWpc6tp"KE29É"qI9:^ĆmQZ1-V@FߺYO":Va;f\ ӺO} !{N )ۊ:%"P.YKxcCY Ybّ`o>.i|y 5S0>$] =aҟӗlfdI S᳿8|靈0 5ʍImҙ&q'-d[Ȓ'FcؾΚ V1fP-F@m2.ܿTu`SQ} ꝨS@>@׮YRԙ 7}dp&TUrk{œ}7 7-_P^RS׏ [FڝVQnQSѿpH:*ujyZb(;NYZWbRYzxE`#(tg`T řr\'g"v4kyռBWMY*))@<I%mm]'OJG$.\?<eDЧ'J5! ~73M51GQxUtm pmUh<`Ֆk!*nŘOl1Ua9Z1iJ:JJI+YѫPIBJKN;&`;UPYkR[Ar%*/ʠc*vo}72XBT RQآZ;{lC>C:>u0Dub?V,jwBЁCgⲅoAjDNˇ|f'K0 jئ[cRUL>>|A>Q 5o! P:oqFJpϻn_$}CV}Lnt3 D Dn 4V# 02aEL@/i4:ր ww:IoD?Ic5 T(}]w+Y?c ~jvxZko :4k`roxBj&NHmF] ɥr8eX> }ld஫"Ub\"婃qѹ B/.|iLmQAv CkP_,"k<6k>mm,>i֢?ξ0Lnr2ò0}}m[pV8C:bAO.y>ؠ~nx"~|1bɷ  TJ$pkjLRk6P^&Mr[L\Sj| UD-n_NFb?{n^='QA-'Ϧ&%9!K/"GaymD޸Z ԌjF>0_yېʼQٲiFtL@. WG;n7~]@xOt(9&2ـ_;w DC~?ݑM0JGL&z~q*я/O%CWKrZ$A PީgKIb!BVK̔pֈ)Z $"S^+R(~ YwQR7/܏i>s:$ta{uo:/38Esc2kHJ&N!LY~{1TX e"2.9MBɝr2݅`U E[+ |ȧ8چF!yHּ:^J)fn#^=y o!|BIfϹh=`$Xg|te|# ԧj)=E{Zp,KF0Ybe~WcJҿbbE `v K<;}T,V"QQDE[|uͥ%'8fz<% A'Vn 2\>rS]abFb=ŬRWsl_,mT Āt vɎ݊])7ᬂWFຕX0߆=7ű!KeB2eһJϗ/8J*Z_ck(Å{-^’=68D7Nt!X\ٯj{KC5qov-/?Όd\0\ZXwEJ) 7`xɽ7m-풧uxy*@S.>4PK _c9aeIuMn2~ΟtA>.$#!K\Vn&7}=Ҁ8Z4b獼˰:hjg}aiQYL3=7xc-T9`%J,ktMύi<ƃ;Pm?IyP-]ޙ$H=odƬx?:g102*ĊW;.ZƇAQ%CsX φUe/|៶Ȕr^AJhF Xv83B.i' l6W :ػ8 9 {-_㸳IJiL#U㴀 Y<w=rfs/iRcDK^ⷮ"T1R!mP"w pG%dzņ\,2kCjrBtu%XRZ c(Y2,ֳoh7*'pG xa $:~R! ֊a iCDI|o8?Ԑ+1o~+y1j8,C < "~I QrPŹ&%{?;$+=].% "9Fj4[rTG:E[45E]HySŽWH[$T'T#a;^q)~}h %)ġL251 p|oQפ|߬=gw&h`:3^Y}<#ژ&<͔C0^4J-c ~BGe9ˮUJG~ /iv⸄ZJZZ{G{wj!V&*pP.dAbprkZ"if(-"=K5hʞb2w {;4A.*Rh+M-/⥋F3%⬡kǼ6؋Y!4#捨gca A7y="}8J3du g?3w/j' Z?#ԕ4sQ`Bࢯ ¡C 0>AHh*ce/^[E5 0+ `+%_}G9qrpWp( ?8AY6?:^̵CZ~Dm'.Na:3sYxۭojћdp. T֗/gGUÏ, S*| 8w=P3 S DVrVoIb/-?>A1XzS/ӂƗaBQ\ϨuI+,_u> 0p\j{X.5K.ҕzM˛u ۟,q<ޖeh`K<:Ze!׉!_ . h &,A͡\]i-<]l.ë l{}'Fg;k"^e{z?*;{eHy;?Y.oN l7 7?r;krRTg:OiHnӝLX#lBE⤗DcG8WDw Mݩmnmݘ~Bap?s&J`pe >趻F$& E>l@MGzB.rk?Tzq,ӳNQBߑXHℹ3|acx9a| 䨉*s_b>zF '|{:&m!^ @,)hջ\_ͮIDՌqqy"!_)X&g9_O3I[. ˦To&KP}(7cZ;4h=x`V/kDO0J$6gM~V.8.bԮ#Ůp0YvOgNNMȓ6??sJmLXjB;TR1iL ;< (^8#{@IQrRDѦA% b5٬QAW6Pפ{bnp=2Hm쬂\(`Q'BeDz Ц< Gz by/g52G?b8-:v8Uqsم.zr)3+k?Ba=k<7yXgWKELOzM ! Ѹ8doQ}ԹTUBL| #ْ*e28UxQ~Ϊg^ 5R.FrgPеȖ@#M6ggpԌUmP}/]D)r# {3vÆC* t_B 5 M9&`SU/5?z í޷ؚ[Hl=J# ϐo|1g-.t#{ &Xd.MIlZb.C10ySνcr}f:r$exE;ISD_^)~_#2<żK"a:觳60Y&Jc(r_8<^ho%NcFՙ3jIy'?Em7jL=Յ^?Pos}UP gCnc]yT^'<&JU xg7G/u]vN9ɌWWo-&3 dO)LdKIP.-MN{؊Y;[*ox pGKZ~\-tfd#wTq;䒒t8h w6ƦV*#AD4f^zP&h/IH|wqTxY]/n Kjcc|\_Ip: *u? C]DG4X\̿fGekdO&;مc= ?,VPT8WmT2- [nKy 4 ,Vs?YvC8=/\Bp2Ț ͯU|ZoNNPfbˡ2{yf_ |-I*E| 9J+)s"+hd ==tc\&>TEv D,K-.' 0'4`PMWTc}ȝwTJq&H|Kt6hD.g$1x_wڼع6\nk4Î*;2#!ʔR\\]IX^ގ]=,(-fӔl2n1a3SQ_TGB>" -V;5\ /YAW[=jώ%hҟ0zL %ﰟXy%y%h?AEa{r.&nU~m_Tzsԩoo+MV#[J:Ac.rJYirlFΆyTq㌪)A J/e ri'/.Ӟkά:{X`9bhN_zM@l ia\F#3ʸ;o5 cbA |tA aI:%Z5[yk&󕅇ߥI+K eyWC4yx<kr{m-Bsr $۸.y77#-.8-,$f._(_[|KUQ;76K)Y1 0&ɀGʁBGtbY!2:eA1׬0e(=i6mtԄw<=)΂S◢8ȋ[#<L+ A'*x(!\ۭߔ/; 6sѸD# XHC"͛4ePjӛZ0QEI03\^,o_ףO zLŲfB$Ophr_`&#d5I Z%~:nu]'Q dkI<ؒyϾ}#D[8]~{U6Rҹi'Pɿ8`:GG2H9Ƅ=pEL 3+-bUf3s }(c[r=Dȇk`n@*6݄W/2%<&-,`3`MiuwQ&F&d7$GS?26QbsoNVW}%)QU@q Z9`$@PS_P2z%RK)"#P>k#Ǽ%8@; 53p4/ga$;fTqkKdMl!6\k;/r%J_h)9$lWXqes(5^!M74l$CT߳ımQlJ\x?X;` 3fȞYY,F,KHtV#3X]y{~^mSy"#}䴉 J;Qg{c/9u%/sF=X:ofwR-bvtNK νmc?]=Z6@]K̝tID>(a\%ɍAA/'a(}؇9 d טB}rYE_-PC9`Sɼ1{$/qd6,ns?&!c]z 2 R"RBSve`A:vwS" YBZd5ǐhU 4 kh^zJzsl]WH"#)=Z >peN6hԑz7\ )lԑ+-ѺX>x;YBH CyOs/Q*(=.ě*o}+f35hԸ;Y ;j͐~Ӿ #Xkt$8];{ef)[*e68tX>2)Q6z|p:F\dg$ũ+IK'o V~^O7q)^JX.8 jc؊򆈘pgķg¿_?`8hhcLJ0AV0ȎRÂTs@0c$,|z+Un4|C2_ c?@zmajA EWj$`J;fyi/*Erb"h/1{aK+P3ZkO;uPU x0N9c̔nqy_RoDCإoO";N;L csi޲%6ubByKe2tHk`+AcKZEuI2s#|dի8yt*ތ:w{<-ZVм"K&*mD뱷iu[?.f鮻ChVJG#+]?KZ@4EW {$j[ !{B5&1;-OcX=`mgx>TN8$%'MFd7sաQmn=ƒYF=R|4hOx! R;1M`\I{Rbob<#6\ K'$6cgx]<ܲU6dMy1|~Ƭ2ҷ4vS:bzq8 9r/ .r"2H^p'MH@t؁g$QO''9gS]ݶcC RbЮػLhڛ;Xcʜp;^~DJytN%,'U\;B(%m&Ѧ\yiZM5H4Ab/štbYl[# &kq7pUiF;>)x*|4sl9pCF, ώ@נ_y@:9j_V \dP tʳ#J fMg;Ly+mZ%y||qfPHl9.>sЭ:6mH)n!^9#*aj)+B[gF?wG} @ [=ݛty]Ȏy9́'v,K)6)[\fH2.&1_BwR<. _(SdR5lO./KFBsR̎s:k:<w_s/ۢ!_͔,Fa#Ҳ | E4-9|:̸W &ˏHC(e Xw5,;7ͣK0g@_tWeEHc޽A(\)ܔD}_ COWJ.sA#rk26U6B;u8-U`l,١-oz=ToU0'2:@)tNPDHq/}6L+v$ZX?ȄDCaQ**0  4"m5Ʊzqas$w-Z˃ǸM%9k61}YjKXkJ]0# UՑH2p1؀!l%6!baCG.Y(%[b$8͹ML%{7w~4}"ذ@ʫw}xxeՌ*cYhc1y3"Q7_8p\ Py6 藘Z2wp4L?1/Y9t"tZНƣs ]@5ȏ$9X@UE x'2lm n)L *7!]#-B9\.LN֚,A;[?{ڸi૴"ZytL4\if㬅CA40A<0Iu'? a%iY2.9&l}%/B^JYfYB^A- % |""*HzZ$H8b-^ǒ/4ŧ xRQesn! .g?3 ()}$NDQ 0X_5VTVz6q Frղ5GEƞ]U /eUrVKe02r}[${š۬,פ)V0LAlzݕT BUN+3. 7`ɰ(H+úAh{|HQC IAXWCD^k~Y!@D?zRFL| @v(OO: Q%ت~%jOCt :*)N{X@2m/;L<  A9pJ `/ao9hvg! d|e. ̷V vy"<̍)ԞڒX26 '}A9d"|rGPM,N;O1:a ucԷE ЯE?A~/dv\",?cBҤ)K}pm*9 `!A368^Μ@Suq0#>Xc˂:X'!Cw+eh}O\XHJ6̵`f|c]@Cӄ:ʐhN nGŒDD\]\f 7 @,DY^wXjpa5wX\rHn(?A ATE!Ǫ)̎Akv o (`1>X,}{>SmNp[IǑb?Xٙsg<l?΢fVC-f[ .|6Ah'4KJMU5;-2m_Y8S)‘HoS)Sҭ]vH%:t8Ww9$a9e4˃+p%#JNƨEsK"^3YQ/2&`ޝRR&X-)g@%Tc.z_#ds+>O:)вBom}a[-1eqY+@9( `V3JJ&R@eH+K@Jo=p>ޑ/-uq7E%Cڗ|pS#.yٞ}{!_Qii[aG,ȿ(JV> rmח֦,8@J i8_?4w=ńp>=%/:<qdC*=4޿YEx-߮si{I˨q^8o|EA`igm8.;P5nD ըi`<]c@ xy㛵ofFE)|7me DFjY?\?eڐW-gfpNϭ6%BY)Apz%^ k ,oI^%ws4Lq`{VÅ] MXl#Ғ#OS8>6* M5);䎥q5-go,Z&25{R(9+oF!UjEOLmJ` 7\WxUK0o!qrir&23'B۝a&{\mȧ׻'mk:^jZ:|V x31#<G*z g5szv=(Iݙߌ={`|0e, rp&d4mZMb3V[8v<:i~^l-%hEI0)fy]H~,WU~ *~`h=@_*؁ؘO2_+:$O}RIi:!S2 ~B"Nk8\s6Yq[by1ں+l<} 49s>YaEih5( B@KzM[pik!ف!Ld?)WSlVJJ;A~ZR)9avøF-'^b!h <4"׾ 'L~CIڧ}b;=pKKG@`] | ћhˇxN0 3nQ-4tCuW 9_^,DC°l\&S:0 w@aliUSFW}= ۛ앀Z☪ ʥZ VZY;; #])ީ ,i.71AaϼYƁd'WiY~!2<;.p 3[-|ჼ0 Z|)¶/HcmBHVtVa ^%2hZMSgɓw~8$w74| &Kg746wb -qگrOr?UE<gǽ܃. (ˑɵdwTHYC؇sQ;Rcpm6uz'_YI膋T'^`OFp nVIӿΤ5?x6Bh*R3r{R;œ č@UWSL|}R@H^CuL}M`QVq}=2a Sgvɝ%=Н@ APt I Ph;` ʚTMOyghr֬nKHw6E0IE.'MK|LfS|5C0nsZ'u"@:9:,g03| m&* Y6T}CcbJP KSVNY9Z~ 6̸!_zUU<]'oϥԔlFK𦢾Kȡ4$]0۩C(+tPx"s=k idlY,]O0 #f@X)J\GԊW'Syؒk{"v2PB# seff X'𡤕-IAL:цZG/-YTAa !`.4ϳ "=C[愪bPإcͱY?u\h@a,OY ﬔ-GR8^rρ:\$&$1 D(`C=|1E$_;Y(o\?(-oFrȝP'6NAQ@P6B=yw!CL^>'?qE:T_)a֕;G__0mէZشvf"SZw9%-c#IFѹIQ∼@uIr@sP/u!KK<8^7 i$E (|^:2ycXɲ`~<+D%l` M.7ؖCk"5.Cl骺?W[^*9nTڋft u=pD׳ ?9mi@1mܽ 2b[Bj\C¥,)EF!f3KЙ3?l3 4kxOG#}eAEwɪϕ!8 #s6O&s,ih+)(emߒ霖f1"46: lY@$ϱuт!#8v[37-XnQ ^֠YVY<]؇k+M~ #ukM+4:n[L:@z)&fzX+XZJ־M{FCJK@GAeh3~!*N#vLb)R1"h.-%.nj{=,[V&9 Nb[C8W]ˮޔ;=Fq4Θ[wrD8 Wm.LIw̓ -fۅlEͅz)q\@ab%k0Ob,poצdlf0^Mxv?i佲ik/q>z`ϮDԦ8qHQǐmWS>+HU$}v2b.TݣKl@a쁡#E&2Ǫ{L=>iFAh  ^U u(g`]7=(D++qx[ bOx5F1VS9`/~3?ޥS/ȧ~k{Edtc% |oyƏ|o9R=is@P+\DپA6 Dqi>cEg\Qn3|Lx!9p?@ Y55XCf5?`@EJ͌"ͯ I6Sӵhsク2HEI :D 5?HK$ ZRQBsޞkGfGח[D2P@.IiGǨ&i,0J%uCBez6]k!WVn,i28ZvFlк{9w-b#~ J@; Sбk()A.$OۏnᲓ -P-YCGdg207<"=6i:cO I$,kQXbXVjxʾ JiZdG~LVg7m1:a/T=-'JSHKd[,|{9Jj^e~wqRGE?BZ$20ӭ}F_$SXgŇX%3>u_pzChAAﴁ呝u?_NXza3m>!!{myirCNj|KNw0 $J[PqjgzPh(h]甘;&)9~R#떏كG${U@GX[ 2YFDȢ~_b7:Hл*_Dpb6tFN,(D?a€{TFb81 1$LpoVfjE;kp:R!{8IMЭ {*AARv❒8sMOQI:OpXTVcL8X|[id`x1, BIW{ŗם۳8/8_`.GO]g=MB5=4 hVRmb>̆~*JrΕQVe2x:HLdɃ'4tz9yS^25zZP7tN7Qx$Q@'(LϾ2nuG9N⡭\ yFcHaDM7"$7 \Q5&!I)d$fYУFE8T5Y@\*c.I!DvAƐL +DyYҙKJU'Y5:VMYCU?t%͍.cGC Ĝ,5 a@|/_ ~ :E=r.9j׵/Mm24s|KY{2Ō0x?LV kV \qmInoj2wԽx$Pn@4xBP}9y~'2I[D¼~ ֲ-a9ɗ7{X'NO(&LVNsn`&Wute}ukZm+/w##:CoA>!1Bq*&hiX,eVtg"t]h<Ȏvm86~wgנ!muKs~<&RH9S1~EBѝ,`ߞl|P);ieHU]XjT,Qk[MmmiI Sūtu#8 n\=v 6hGB#.ck%Hh dJ,Is[Rjf G. ]*5߈zŝ-}Fq<3-ԡaW-O3_`䗟hÌOof<X18Lf.[>V?b , 48\1܉![Xv `],o ^Wa.zX1 JÈ)jBJR=]bi:Q(k)-U6|eOݴ`rU| zh%?5(H Q0( ~zޯ:I{KW?˝ͤZd gs}4)]xxTn䆏f^@vʽI Qe;lbWT?D@W%j-6.*;fVTqsrX6˫XQgޯ\Qp~[ug>Vx(Y3)W)ЬG@(xOdL3x1XHr1S]÷NeAƗ~6%p4f&`5G# sj緭RgaN,aPjkeʄw>hP zh#wYcΞ4"mbJo+`jtd:Zx{6(e X4F0_8hnYZ)3oGU[n3+3DȒ0P5|m/%rB15c؍p,Xb!³$i&WOh(roVM|+RD!b Ns8JH.s;C+tV+~8ojkw21 >F2ơfr0w3(Lv ) QEm϶O+47k«\hg!rt1 4+ =Рs?>=iQ֑jI`>cP8)Gx+qNчsRɻ륌*BFXai.﹝*wtkLoE]jCC52ۦ|$,_Sn?eExO=omP] Pkt+~`6C%A|aBp#a sg /"#qܕ/+$w:{tdx9M/wqۍY8fh=U3KwFRwR|- (]w5 |2uԮ?ow+z<1lD*/e2} vlL1k_:l(BEg&#ZfAR0 h6ۚT15ʐ{GbuG8v@r%D%=YKs_%DEh\jH:ҍ Sl0Z VQ-;$%m*%JɸUh݆։ ^8`%էUXBˈOѴJshgd 7QPx9N%wQL^li C&njY([ޜrv0,(|> ,lzLF DSJ"+cq\Kv5\.Ý=^H$̷LYd2*ݗ.Xm(m-|ߒ3%%%+D<”FxϹPI,&{qSBv#kg,n}xԪ !͜nZkZFJ:LiFe$;C4x*` ;3Mtcڰ F :G(yBǸx1̮#2|m_(67=1tE|M+2Sf ނ>LGZ׽3H I8+ ]0|ig%FA}˨U|zm?zeʶN{]0B:UATpǚI7s|V|})/ՌpF_?k0@튮73Cm1gVa2:DczDENmɴEb$'߂iOFڮ̈́i>A՝ #ǩ < `x8mŻU'y9 eQ,?.+rڠW$r[ 8&9XYX\yc"mtj7y{ԈW㔒f86byEwyQ]`4J(mCҫʓ/ ыa a~>Z>,z97qZ9~6,񖩎=& "xRrK^} 2`n#fyWMCx(T%plY\:+ϼsVIIT/F47$&ƈFJ/ ol(AtCcCCiRV'Uےa]]ni&P⨛CF :ժ[hrzt=ZYfd.eJ.\_ 3EFCbK{̗y|~';:r7 zeg:7QWF͍[#8 DcIχ_$,2x s\ ^ȣ^4KOeC&OX~fv&ΨLrP߬K%]~ٹapmL (I}Uy*( cF2Cg]RJ]8eᏖgMSS~U84e5sB }u$³N"t+WXٻ(˃ek֖JD O|>p_X m:~24A7#0GC>Ӭ y,q s/+,έ]&uH^LzW4JS: h5IWok0xH2!9o) ? K 8XR5>} :-\Uʡ_' V #^Jۨ{q; UbVr~"DX"H߰/0wto$Mi]}5Qlh#WݪVRTtt}jtK\'E76 `")Ʌ\\M'KEԖz3y_6j7s`~`c moUsY8Ch$Yݛ\0bxtݻCd40.G:1[Hd7Am';zļnVA( _f?xx T,5^;{edْ!v| 5Y5 ƩeBtO)cVt$V9>)-K?K?C_{lm84Ш~5wGZS].X Nj|Ϳu?MX԰l7UȸGn'M*>TUo+6_`V,`ܢF\L-drZX|{e;ʳHPLP/:z_'ڪf4jdOGSijx}GRHD:^|2szC:G 5s%iwY{9{+&-F9 U0 hC =QXNJ Y5-BmRE` Uu_$!-Ҿ;;(jZu[X5ˤG9dQخBAUvjtIQsYgP=֔#p1\ Qiyq?(x4f35f Ae _!.F+5GfGap?U(:2H+LSQ$?lO,n};ELhz>YoSb+4tzܝQ ?D7%q e~yk:V9u!Rd$e貁P؄tJkS* `!1̩'^3{ե[|$س.@T3s2Fy4@%9(aktc2}h@9H`@XKӇG˰D%S?6a3Tg\ ]iX|Se6Jv: MYk7<M*ß@$,9qW`j׆ײ Crwp[w@5px֐D,\Ӫ@U^R@R}57 FҢn:,騘Oӫuu nC6SZmkEn]dɡj##BS"Ag.\(β6sOW0mЍ~jhaB+/\ȯS:M) lg.FcPݸ߽č7f$w 9Rc,4plv'OF &+\oF/%0wH9G[XYcy1Ynb*G;[[ނ>w354Z$_+`!C+f[2-Ep~k(NOYN{No~8cuM+Ju?*2xvhI[\~һmr]]1ny=Og]giuh k,69O`pvmB-_Jخw>~~Zem ^D۪%V9)q`" sHBRGxt||Vd.Ea'̇ krq3"kx QeA%+/vr*&?!A=MtWA%xGy`gR"7pC{ VB_|z1bgi)4R {K[kW{{'?ʱ&tU]Ke :E {N07 VhP;7u5ߨUGJxmpWy9M۸f6,mX%<315W˫rpT*6Q9P_jtIn3rE4,xЉX,…2(J}8ğ'%V[HFJ} r1˶'}P#GVGC9]`CDfJGp1o8 iw#h[G~Uĕn@(p*X:&F5Ye$$X.΃t毶ՌzH9WV˥,v-Z@kc$, g|Й–oDO==o f"2V&I mhiʿnkmH0WrOL IEI[m,Yx΃'`C̜+‷7ݤD k[U<^RsqDcZĦ0Ъ .o;)wЭoӤ'm{U'iv/fBfMk[sQ\Y$uL}>㼄eT'i7wu$YtDZɦq|vLZ6v5+GWp'A!>(.HJKx#e?хɤ@/4eXÀfs_x׻@̨lOK"L7W0ZxwQMiî@D>.%p\HcGpE^!bqkJDiko֯^?gT!7S6ɇ٤s6 rZfT-̙Eߘ<~fST15o-u.Zs{b)7Ej: )k!Sr#}QpXk\2Cez1Ը4 .q ͔}:_^ # uc$,#bLBd),/2sqOgT&Ж nk@ou/;m&yhΣw:NE:T ah6 ցpYNcp<,P;̧>%_"BOi'kuÑ@H+Sc5 QDuwW9Hd~2$)Rw1!ŮίZ3YY#%.IMIعےWP >8dJ7x'ʇ Bvh +paCQVмIwO$gTf(~s$%bK8cz<Ąc?[e &M`tLx&Ƶ+}P/Z/.3M[~TZ!u+IM=)U+q/ĺj>PtvHp}ZCIE%-TNv7ez3\HPtDf]8t(5dJaхs _&bbbow}^F8o1mC>E^)B@(a~Ar^O{F=Zn̨uUCթ7YgOqQŽ:UI\ѾފPMn5v1( μ".8R`_,GGE y.J8Q;&zWwHuԓCLB]]|kt`HsLΙ"$TWixyr)SSY 9Nl:.M.zOpT3\-44K5B5p:1) v e; .#j>\X/o1IoRD`RxCWꈽabXyMT! %?1ͲۖeT,{N֋-xG"(a\{ٌWINh"Ê*N 9)E (BkRSrвѭt(KZܫq+vUy).F3~_𾻭m$1gjF|$˛jL l ??<^Gr GQ ϣB(O1kv?2:ٗÆWwcf<ߨ|{NJLZXM3 p3$pkDˎPv,`e2_~MйD\ڎРB}# F6Aبlyg?=l)X\/B\U EqUgSOS{zEu'+}R(N2ck+'r#S]LiGm@^H?HF?@m/X&d=@ywcUAϗ1!s?Z#ևKM: 4(L$xY@-񓛭Gp42wvwv= y#Ҟ3t xcJlΫ(/hR\eǽ'.ܪטǁ'6Gcb>ׄ-h^txkH Eί8m&yuV:848 0+^l0$2478KFG[dnO W hwM>f04~& uρW 8ΞQZ[YSAuOnaee[It+NSEdиkKkUR 墶-[,([ra0Vo@ҦcB} idPΚ="ʮ%dыmﲢK@o vNla-`&L=Ì}MN,:l 6RBntE`肊 6`{}o߾vN=n-ؖj,Û&G^J|R$Ewi-YM?ӈhiTˮ!ܘqV+3ZI- Qsbzu5tjrH$3Ev;>,]2 ubȮ-9puf{vTÚn~%L7BH6qSFфB+AUVE}ŠLP9!'/UاWYmUE0+mD4CZT]D&_T&l'o:A÷鉇6C<ʾQ CЊZb/pQ'"c/]6JyD># {kEz0ݵ(al%ta#GJp1ĸĀXo$RVvKEJKpۀ:ma@Jyly'8O^qlsIn'lGwGȸ0>d+LJVC#[ Ηx Ұ./KaT[:ǔ|СJK.z=I* |Z @Jx@+wD,%FanؖiQ5VR4F済 gˤ&E^*xEDg'2:Zse\=$xտ2t qGp5R bnԤ\*?^v>E5>O(YgiPcIJHΣ]ؒ+ᨢnxЦťd˳̿d+Ň"@](^t~CMJA`PdE/C_ơȁV\)Lhm]cÖ=d!0Pyr}ym6Mab_RbO,7&%"u%lO,'" gҜOy+F`6F\${gnwh*޺N9< ;n/ w3!G?n媒ȽNZBS$ ,:1A1/*-  2JY}`m&_5'pӌ97YOQ݋ljӀHUoU2Ƶe.ZR~&qf9FxO;3+C?0'? {Q "^xKCLj)5?P%E?]͡xEd*WN5H{0.4#;E*zOMeN{:CzfnzJTb[hRGh2g;ew 0P-xy=΀4;B5Xu+ljNZziH#K~wmP#a^fov pzt]捛:=}X~7YL6}/x:jQZ\EUEغE950?gаBBסF5 5ȬZ3WoK;h zegOl6 Uq>KTPbkՌ:d JcMPZeL-Z}/XO wi߻;%rLT;GKyEH-P}/BzBiĎUǿ?bqr%`aH1>Ri%GAr.cz #0w (jC<ݵt;mHt;*ߧOS#.N]r͍YS .nak̜hr-.6$+6qyK}TXHp' n'CϭhJB`[f삽Ek[FHIoAfgjB,P@n6pf,]v.GV{rY[+/ufm}~ oVtHR\HnfKRN13rRщZzq"d՗RKEЊ Y[lD6BuIu:HizGL='(g^W+a0L`# ĕ;Z%㱩Vo&%o *)04֙fԠ:w;hAvY|F Ը]5,qJ ƫXn~qilHznXƉ]AF 6ןa.Kh4ҢũaXDEfyz#-_W't /T=cJ9%0 7d&-zPxfi(KfER+RD%aeaPn6*%n%IsymĂH#3A\Y3Ft@ZV'tBZM[[3BAKJW2ڰzo$<4vUQ䌒[i8fJ@9R8.23Vs8551=e+Bq&ηŝĸM2h7\֮õ!ֻAzүIK<4-!Bd1eeEͭ pJBP:M4{_hptR4MnA}C%@xvQeᰒ }U#o+'ҘIn¨M+goЅ(GkWDV[\o;"1ߩWV&'0s6OT@JP!hXZHp1!G4s7U,ʿ.ω~/xޔf|+,Nf*o1!:+vd[؞D^6L gX6{&. f{RtMO>/jP0| zOCǏNKs\E:+`qZFں}I5\|jj3߮fv~ƷNm@.[J'´Y&2u=Xt3-"/7F1$^0WܝܒOEFŐ< o/un_4/bm<"$sBR1;pâTM``mYaoFC}KGt0؎`dTq8 @tܘ5ee [Y \"ZL>iI(xN $a")z+ޢj)zW_g` 7089e5$?Zf*̤ ϷUyKս֫Bh2IMbReFm9c@ICâc<҇߰!j(=ARn\{z}&"Ǔoߏ=AT(P^ ǗrAzYܚ񱧴Wtbu6 rKܦs {ŀL9.VO Ġq,Iϴ `;`dwAP0D::n* _֬{ F CQ>Gxj@gNl@¬ZX'VJ5v4[-f)qf_6}Q$X>MטVQ(dƒVI(\%5A?i"Xe܎=hVp5GF6/3ٱ)Ol;T['' YJeCgHlt}ɟwoq81EDG3߫H-+KmJ`Ɯ#'[%/,'K "tZ YZ