pax_global_header00006660000000000000000000000064152011202700014500gustar00rootroot0000000000000052 comment=eb93e4f0a7c052b56ad5b96d09070338a47f9e4b libnginx-mod-http-modsecurity-1.0.4/000077500000000000000000000000001520112027000174135ustar00rootroot00000000000000libnginx-mod-http-modsecurity-1.0.4/.editorconfig000066400000000000000000000002341520112027000220670ustar00rootroot00000000000000# top-most EditorConfig file root = true # Unix-style newlines with a newline ending every file [*] end_of_line = lf indent_style = space indent_size = 4 libnginx-mod-http-modsecurity-1.0.4/.github/000077500000000000000000000000001520112027000207535ustar00rootroot00000000000000libnginx-mod-http-modsecurity-1.0.4/.github/nginx/000077500000000000000000000000001520112027000220765ustar00rootroot00000000000000libnginx-mod-http-modsecurity-1.0.4/.github/nginx/docs/000077500000000000000000000000001520112027000230265ustar00rootroot00000000000000libnginx-mod-http-modsecurity-1.0.4/.github/nginx/docs/403.html000066400000000000000000000001451520112027000242220ustar00rootroot00000000000000 403 Forbidden 403 - custom error page. libnginx-mod-http-modsecurity-1.0.4/.github/nginx/docs/data50k.json000066400000000000000000001444341520112027000251640ustar00rootroot00000000000000[ { "_id": "678968892159bc07c5dd68ec", "index": 0, "guid": "61855db2-c9ab-4059-954f-f358095eeb5a", "isActive": false, "balance": "$3,147.81", "picture": "http://placehold.it/32x32", "age": 26, "eyeColor": "blue", "name": "Heath Leon", "gender": "male", "company": "LOCAZONE", "email": "heathleon@locazone.com", "phone": "+1 (858) 460-3584", "address": "944 Bushwick Court, Hachita, Puerto Rico, 6039", "about": "Minim deserunt nostrud duis deserunt. Tempor consequat duis eiusmod do consectetur non dolore et ut amet elit. Ut dolor esse sunt commodo velit do cillum id amet amet aliquip aliqua minim adipisicing. Quis laborum pariatur nulla aute ex ex ad Lorem.\r\n", "registered": "2015-01-19T11:44:58 -01:00", "latitude": -89.942481, "longitude": 122.743374, "tags": [ "ipsum", "nulla", "et", "ea", "elit", "labore", "mollit" ], "friends": [ { "id": 0, "name": "Johnnie Ramos" }, { "id": 1, "name": "Kathryn Mccarty" }, { "id": 2, "name": "Riley Tyler" } ], "greeting": "Hello, Heath Leon! You have 10 unread messages.", "favoriteFruit": "banana" }, { "_id": "67896889fb6f145b92cf3b7d", "index": 1, "guid": "39e6df63-d578-4383-9bcd-6aabaf1628a0", "isActive": false, "balance": "$2,007.17", "picture": "http://placehold.it/32x32", "age": 38, "eyeColor": "brown", "name": "Ochoa Dejesus", "gender": "male", "company": "ATGEN", "email": "ochoadejesus@atgen.com", "phone": "+1 (918) 496-3012", "address": "334 Mill Street, Mayfair, Vermont, 1493", "about": "Ipsum velit laboris laboris dolor cupidatat. Magna proident nisi dolore sunt. Laboris sint ut in fugiat magna aliqua labore amet in. Ipsum ea elit dolore minim laboris anim. Sint ad dolor velit nulla excepteur excepteur ad qui ad. Sint proident pariatur ullamco qui et in consequat quis magna voluptate enim nisi.\r\n", "registered": "2019-09-12T12:11:44 -02:00", "latitude": 86.586305, "longitude": 103.229518, "tags": [ "voluptate", "aute", "non", "exercitation", "sit", "id", "ea" ], "friends": [ { "id": 0, "name": "Margo Rosales" }, { "id": 1, "name": "Sharlene Blanchard" }, { "id": 2, "name": "Marquez Mathis" } ], "greeting": "Hello, Ochoa Dejesus! You have 1 unread messages.", "favoriteFruit": "apple" }, { "_id": "67896889e4ba3605e140b3aa", "index": 2, "guid": "ea66446a-3fc0-4a99-8f3d-88a479e7ea7d", "isActive": false, "balance": "$1,715.11", "picture": "http://placehold.it/32x32", "age": 36, "eyeColor": "blue", "name": "Dixie Tanner", "gender": "female", "company": "FUTURIS", "email": "dixietanner@futuris.com", "phone": "+1 (994) 411-2058", "address": "413 Grand Avenue, Dodge, Marshall Islands, 3063", "about": "Occaecat aute dolore anim id amet irure nostrud veniam cillum aliqua. Magna id do consectetur fugiat id voluptate enim in dolore reprehenderit laboris adipisicing duis occaecat. Cillum Lorem irure mollit cillum cillum ullamco. Sit duis enim magna in non irure sint qui irure nisi quis id deserunt. Dolor velit aliquip excepteur dolor mollit aliquip tempor in exercitation veniam sit cupidatat. Sunt deserunt consequat labore ullamco ex ad reprehenderit cupidatat id et pariatur qui.\r\n", "registered": "2019-10-06T09:34:38 -02:00", "latitude": 21.785702, "longitude": -83.343646, "tags": [ "sint", "ipsum", "culpa", "qui", "laborum", "velit", "culpa" ], "friends": [ { "id": 0, "name": "Ester Acevedo" }, { "id": 1, "name": "Young Bradshaw" }, { "id": 2, "name": "Kelly Craig" } ], "greeting": "Hello, Dixie Tanner! You have 7 unread messages.", "favoriteFruit": "banana" }, { "_id": "678968894d4042199706a8bb", "index": 3, "guid": "6740d244-a434-4b5b-a4df-975c57a8ce60", "isActive": false, "balance": "$1,613.16", "picture": "http://placehold.it/32x32", "age": 33, "eyeColor": "brown", "name": "Merritt Holder", "gender": "male", "company": "INVENTURE", "email": "merrittholder@inventure.com", "phone": "+1 (955) 542-3653", "address": "283 Howard Avenue, Richford, Montana, 1277", "about": "Aliqua est Lorem voluptate enim est sit commodo reprehenderit aliqua non. Minim eu cillum nulla excepteur magna enim labore deserunt irure labore tempor. Fugiat ullamco Lorem eu nostrud aliqua officia fugiat labore cillum mollit culpa reprehenderit.\r\n", "registered": "2016-04-10T10:34:26 -02:00", "latitude": -11.71265, "longitude": 174.797694, "tags": [ "laboris", "velit", "labore", "reprehenderit", "quis", "aliquip", "eu" ], "friends": [ { "id": 0, "name": "Kidd Contreras" }, { "id": 1, "name": "Roseann Robinson" }, { "id": 2, "name": "Glover Gaines" } ], "greeting": "Hello, Merritt Holder! You have 8 unread messages.", "favoriteFruit": "apple" }, { "_id": "678968896700542b1c631bea", "index": 4, "guid": "1b44442f-7e83-41bc-b3ea-396b0a745700", "isActive": true, "balance": "$2,560.70", "picture": "http://placehold.it/32x32", "age": 38, "eyeColor": "blue", "name": "Mia Ware", "gender": "female", "company": "ECRATIC", "email": "miaware@ecratic.com", "phone": "+1 (907) 418-2817", "address": "811 Matthews Place, Jacksonburg, Massachusetts, 9759", "about": "Non nulla dolore consectetur consequat veniam duis nisi. Do consequat anim dolore Lorem ad ipsum quis ad adipisicing et elit do consequat. Enim eiusmod laborum laboris culpa ut Lorem occaecat est laboris. Ipsum eiusmod enim et velit sunt nostrud eu laboris.\r\n", "registered": "2018-07-03T05:47:54 -02:00", "latitude": -47.378943, "longitude": -64.173143, "tags": [ "est", "et", "enim", "consequat", "pariatur", "commodo", "eu" ], "friends": [ { "id": 0, "name": "Graham Weaver" }, { "id": 1, "name": "Ivy Brock" }, { "id": 2, "name": "Rena Clemons" } ], "greeting": "Hello, Mia Ware! You have 2 unread messages.", "favoriteFruit": "strawberry" }, { "_id": "6789688948e7b16a4e48cd54", "index": 5, "guid": "f6985584-ac14-4ac5-a97a-d4fe265320a0", "isActive": true, "balance": "$3,811.15", "picture": "http://placehold.it/32x32", "age": 24, "eyeColor": "brown", "name": "Kathy Hull", "gender": "female", "company": "SENSATE", "email": "kathyhull@sensate.com", "phone": "+1 (833) 401-2573", "address": "352 Cass Place, Beaverdale, Alabama, 3970", "about": "Culpa veniam nostrud cillum sunt laborum dolor dolor aute ad id dolor duis adipisicing sunt. Nisi aliqua ut id esse. Proident quis id tempor enim officia proident cillum qui aute et esse nulla incididunt.\r\n", "registered": "2023-01-11T03:51:38 -01:00", "latitude": 25.499516, "longitude": 127.561897, "tags": [ "quis", "enim", "reprehenderit", "exercitation", "magna", "qui", "nisi" ], "friends": [ { "id": 0, "name": "Irma Bruce" }, { "id": 1, "name": "Shepherd Francis" }, { "id": 2, "name": "Clarice Buchanan" } ], "greeting": "Hello, Kathy Hull! You have 10 unread messages.", "favoriteFruit": "strawberry" }, { "_id": "6789688999c531b9cafae9bd", "index": 6, "guid": "b2b64d33-1f57-4fb3-9853-f91d5fe7fd15", "isActive": false, "balance": "$3,572.38", "picture": "http://placehold.it/32x32", "age": 38, "eyeColor": "green", "name": "Jody Barrett", "gender": "female", "company": "SUREMAX", "email": "jodybarrett@suremax.com", "phone": "+1 (997) 584-2940", "address": "424 Coyle Street, Berlin, Missouri, 6564", "about": "Occaecat fugiat reprehenderit mollit nostrud consequat consectetur ullamco excepteur officia veniam reprehenderit duis. Commodo excepteur eiusmod dolore sint enim. Nisi mollit minim aliquip eu aliquip occaecat do sunt aliqua exercitation.\r\n", "registered": "2022-11-08T04:51:39 -01:00", "latitude": -66.7021, "longitude": 145.358944, "tags": [ "minim", "laborum", "id", "aliquip", "fugiat", "mollit", "reprehenderit" ], "friends": [ { "id": 0, "name": "Robinson Zamora" }, { "id": 1, "name": "Delgado Figueroa" }, { "id": 2, "name": "Edwards Franco" } ], "greeting": "Hello, Jody Barrett! You have 6 unread messages.", "favoriteFruit": "strawberry" }, { "_id": "67896889270b96b8954dded2", "index": 7, "guid": "b3ddfc99-7423-477c-aa77-08abf8c6774f", "isActive": true, "balance": "$3,830.67", "picture": "http://placehold.it/32x32", "age": 31, "eyeColor": "brown", "name": "Kramer Lamb", "gender": "male", "company": "DIGIRANG", "email": "kramerlamb@digirang.com", "phone": "+1 (882) 506-2655", "address": "467 Poplar Avenue, Fowlerville, District Of Columbia, 4834", "about": "Ipsum tempor sint ad Lorem. Esse voluptate elit sint dolore velit. Et reprehenderit consequat quis velit sunt pariatur aliqua.\r\n", "registered": "2016-03-13T07:32:45 -01:00", "latitude": 62.041682, "longitude": 168.188254, "tags": [ "aliquip", "occaecat", "reprehenderit", "et", "aliquip", "mollit", "nostrud" ], "friends": [ { "id": 0, "name": "Lenore Miller" }, { "id": 1, "name": "Curry Osborn" }, { "id": 2, "name": "Ellen Pace" } ], "greeting": "Hello, Kramer Lamb! You have 2 unread messages.", "favoriteFruit": "banana" }, { "_id": "678968894aa8af8284b88917", "index": 8, "guid": "9fab8670-58a0-4090-b07d-ce7788b44367", "isActive": false, "balance": "$3,712.23", "picture": "http://placehold.it/32x32", "age": 36, "eyeColor": "blue", "name": "Laverne Todd", "gender": "female", "company": "YOGASM", "email": "lavernetodd@yogasm.com", "phone": "+1 (858) 573-3047", "address": "120 McKinley Avenue, Watchtower, Louisiana, 4248", "about": "Nisi ut aute pariatur amet duis sunt est pariatur aliqua exercitation amet ex cillum laboris. Lorem ipsum nisi aute id est tempor consectetur. Sit laborum in proident non fugiat ullamco occaecat laborum irure nostrud Lorem sit quis ex. Quis Lorem esse cillum aute do aliqua eu Lorem incididunt. Dolore qui incididunt reprehenderit velit esse anim amet nisi irure tempor. Ullamco in ullamco in tempor. Elit officia est fugiat fugiat excepteur cillum commodo culpa eu in deserunt exercitation.\r\n", "registered": "2015-10-02T11:44:33 -02:00", "latitude": -11.895959, "longitude": -161.216083, "tags": [ "ex", "eu", "aliquip", "fugiat", "tempor", "ad", "Lorem" ], "friends": [ { "id": 0, "name": "Smith Kline" }, { "id": 1, "name": "Larson Jacobs" }, { "id": 2, "name": "Darlene Huber" } ], "greeting": "Hello, Laverne Todd! You have 4 unread messages.", "favoriteFruit": "apple" }, { "_id": "678968896533315d22b05c71", "index": 9, "guid": "2843722d-1455-43a6-a262-5097f7d36137", "isActive": false, "balance": "$2,332.43", "picture": "http://placehold.it/32x32", "age": 23, "eyeColor": "green", "name": "Tamara Nash", "gender": "female", "company": "KINETICUT", "email": "tamaranash@kineticut.com", "phone": "+1 (883) 432-3648", "address": "476 Fanchon Place, Bethpage, Palau, 2224", "about": "Proident sit occaecat eu ullamco tempor quis consequat anim. Reprehenderit commodo duis sunt ex laboris aute anim. Aliquip ea Lorem elit nisi. Lorem quis Lorem excepteur occaecat laborum occaecat sunt do in.\r\n", "registered": "2020-07-30T03:53:44 -02:00", "latitude": -18.718883, "longitude": 135.943883, "tags": [ "elit", "incididunt", "reprehenderit", "ipsum", "eiusmod", "duis", "tempor" ], "friends": [ { "id": 0, "name": "Blanchard Hale" }, { "id": 1, "name": "Murray Acosta" }, { "id": 2, "name": "Hobbs Nielsen" } ], "greeting": "Hello, Tamara Nash! You have 7 unread messages.", "favoriteFruit": "banana" }, { "_id": "67896889467f7f2a8c0cc996", "index": 10, "guid": "9bdd03c3-9e8e-411b-ad82-dcd4f408f03b", "isActive": false, "balance": "$2,320.58", "picture": "http://placehold.it/32x32", "age": 35, "eyeColor": "blue", "name": "Hamilton Reid", "gender": "male", "company": "GINKLE", "email": "hamiltonreid@ginkle.com", "phone": "+1 (951) 589-2325", "address": "188 Pulaski Street, Loyalhanna, Rhode Island, 4314", "about": "Amet consectetur aliqua proident anim ut magna ipsum proident laborum occaecat consequat. Voluptate velit ullamco anim est occaecat in voluptate amet ut tempor quis adipisicing fugiat. Culpa dolor in quis id aliqua consectetur commodo. Id est eu velit sunt occaecat.\r\n", "registered": "2014-01-02T09:29:04 -01:00", "latitude": 7.14541, "longitude": 136.872271, "tags": [ "amet", "ad", "labore", "duis", "culpa", "sint", "culpa" ], "friends": [ { "id": 0, "name": "Marci Sexton" }, { "id": 1, "name": "Katharine Jackson" }, { "id": 2, "name": "Patricia Keller" } ], "greeting": "Hello, Hamilton Reid! You have 1 unread messages.", "favoriteFruit": "apple" }, { "_id": "67896889a387e7c49297f20e", "index": 11, "guid": "c4463554-7d8a-4ab3-9974-4ce6ddbbdd95", "isActive": false, "balance": "$3,466.29", "picture": "http://placehold.it/32x32", "age": 25, "eyeColor": "green", "name": "Mcclure Cummings", "gender": "male", "company": "ACLIMA", "email": "mcclurecummings@aclima.com", "phone": "+1 (931) 562-3282", "address": "704 Beaver Street, Cliff, Virginia, 4103", "about": "Aliquip adipisicing qui ea anim qui ipsum exercitation anim Lorem. Amet amet ullamco cupidatat duis excepteur aliquip incididunt. Cupidatat Lorem id ad incididunt voluptate non reprehenderit sit. Consequat aliquip irure velit ex ut cillum. Exercitation anim incididunt ad sint consequat anim voluptate non aute. Aute ad reprehenderit ea id Lorem consequat officia.\r\n", "registered": "2014-02-02T09:17:54 -01:00", "latitude": 32.309221, "longitude": -60.608576, "tags": [ "veniam", "proident", "quis", "cupidatat", "ex", "est", "dolor" ], "friends": [ { "id": 0, "name": "Lawson Duffy" }, { "id": 1, "name": "Elise Summers" }, { "id": 2, "name": "Pearl Hopkins" } ], "greeting": "Hello, Mcclure Cummings! You have 1 unread messages.", "favoriteFruit": "apple" }, { "_id": "6789688913d4641a3e91f3c9", "index": 12, "guid": "91fbe7f1-b6e3-4f1f-aa28-fe4df528c78c", "isActive": true, "balance": "$3,059.90", "picture": "http://placehold.it/32x32", "age": 30, "eyeColor": "blue", "name": "Anastasia Benton", "gender": "female", "company": "COMVEY", "email": "anastasiabenton@comvey.com", "phone": "+1 (990) 572-2829", "address": "603 Albee Square, Bellamy, Kansas, 9843", "about": "Id incididunt aliquip nulla incididunt consequat veniam Lorem nisi reprehenderit consectetur nostrud. Ex incididunt veniam aliquip occaecat ex ipsum proident pariatur nostrud magna. Anim proident ad aliquip deserunt fugiat veniam in nostrud consequat aute nostrud nisi.\r\n", "registered": "2016-05-23T06:29:13 -02:00", "latitude": 11.09315, "longitude": -64.159707, "tags": [ "aliquip", "dolore", "excepteur", "reprehenderit", "irure", "pariatur", "sit" ], "friends": [ { "id": 0, "name": "Bridget Callahan" }, { "id": 1, "name": "Santos Matthews" }, { "id": 2, "name": "Dominique Wall" } ], "greeting": "Hello, Anastasia Benton! You have 4 unread messages.", "favoriteFruit": "banana" }, { "_id": "678968895ff945167cc8af8d", "index": 13, "guid": "fca06686-dce1-4327-83f6-c809416928c6", "isActive": false, "balance": "$1,917.13", "picture": "http://placehold.it/32x32", "age": 26, "eyeColor": "blue", "name": "Vera Mathews", "gender": "female", "company": "BYTREX", "email": "veramathews@bytrex.com", "phone": "+1 (967) 466-2713", "address": "673 Kensington Street, Hampstead, Maryland, 1550", "about": "Et laborum voluptate ullamco reprehenderit adipisicing culpa laboris irure adipisicing ex incididunt mollit magna aliquip. Aute incididunt exercitation est exercitation pariatur. Dolor sunt do tempor sit eiusmod ipsum dolore dolore elit exercitation officia. Reprehenderit id incididunt consequat ea voluptate ipsum sint. Eu incididunt duis ad est labore tempor commodo consequat veniam deserunt nulla esse sit. Enim mollit proident sunt adipisicing nostrud irure ullamco culpa aute nulla. Deserunt nisi aliqua nisi est esse non sit sit non culpa.\r\n", "registered": "2021-03-07T01:23:10 -01:00", "latitude": -7.035406, "longitude": 159.97817, "tags": [ "anim", "minim", "qui", "commodo", "Lorem", "nisi", "tempor" ], "friends": [ { "id": 0, "name": "Carter Harrington" }, { "id": 1, "name": "Pierce Clarke" }, { "id": 2, "name": "Jessica Kramer" } ], "greeting": "Hello, Vera Mathews! You have 9 unread messages.", "favoriteFruit": "apple" }, { "_id": "67896889cc3e4709361c2c43", "index": 14, "guid": "51923eaa-04f0-41b5-9c9e-1851bf9549ca", "isActive": true, "balance": "$2,464.83", "picture": "http://placehold.it/32x32", "age": 24, "eyeColor": "blue", "name": "Underwood Weiss", "gender": "male", "company": "EPLODE", "email": "underwoodweiss@eplode.com", "phone": "+1 (916) 584-2778", "address": "200 Dewey Place, Tyhee, New Jersey, 2884", "about": "Nostrud laborum dolor veniam eiusmod. Est ullamco do reprehenderit elit laboris consectetur ex consequat. Anim pariatur cillum labore Lorem esse quis nisi aliquip. Pariatur duis magna esse deserunt cillum ullamco. Voluptate irure incididunt nisi magna laborum laboris.\r\n", "registered": "2020-04-08T01:21:09 -02:00", "latitude": -73.802629, "longitude": -19.268173, "tags": [ "cupidatat", "qui", "sit", "dolor", "voluptate", "sit", "et" ], "friends": [ { "id": 0, "name": "Catalina Burton" }, { "id": 1, "name": "Lindsay Bradford" }, { "id": 2, "name": "Fay Adkins" } ], "greeting": "Hello, Underwood Weiss! You have 6 unread messages.", "favoriteFruit": "apple" }, { "_id": "67896889ad2ba3eada3cadfd", "index": 15, "guid": "d14d89b5-503d-43b0-83ba-50551dbc143d", "isActive": false, "balance": "$3,079.73", "picture": "http://placehold.it/32x32", "age": 27, "eyeColor": "blue", "name": "Claudia Workman", "gender": "female", "company": "PODUNK", "email": "claudiaworkman@podunk.com", "phone": "+1 (822) 543-3216", "address": "309 Union Street, Canterwood, Texas, 9227", "about": "Esse pariatur magna ipsum et ea consequat ex tempor ipsum laborum. Consectetur occaecat ullamco id commodo aliquip ea ut. Pariatur esse officia cillum dolore Lorem eu sunt non elit elit et occaecat. Ut nostrud proident dolor ullamco ea nulla labore aliqua elit ea officia eu sint. In proident ullamco proident et eiusmod.\r\n", "registered": "2019-06-10T12:45:55 -02:00", "latitude": 85.874345, "longitude": 115.321117, "tags": [ "elit", "ea", "eu", "Lorem", "reprehenderit", "cupidatat", "cupidatat" ], "friends": [ { "id": 0, "name": "Nicholson Sellers" }, { "id": 1, "name": "Randall Silva" }, { "id": 2, "name": "Stokes May" } ], "greeting": "Hello, Claudia Workman! You have 9 unread messages.", "favoriteFruit": "apple" }, { "_id": "67896889bfe65cf69f5147aa", "index": 16, "guid": "7cec3e9b-9631-4eee-b9c5-9dea69ec9389", "isActive": true, "balance": "$1,407.35", "picture": "http://placehold.it/32x32", "age": 26, "eyeColor": "blue", "name": "Sweet Velez", "gender": "male", "company": "METROZ", "email": "sweetvelez@metroz.com", "phone": "+1 (875) 581-2984", "address": "377 Kay Court, Chestnut, Nevada, 9351", "about": "Minim consectetur ad eiusmod cupidatat ut pariatur. Deserunt mollit ullamco velit tempor aliqua minim quis dolor dolor reprehenderit. Do et aliquip Lorem nulla laboris. Sint reprehenderit esse aute aliqua cillum excepteur laboris irure pariatur eu voluptate amet. Ipsum aliqua ullamco commodo proident culpa ut officia magna irure do.\r\n", "registered": "2016-08-23T05:40:50 -02:00", "latitude": -17.009269, "longitude": 63.193052, "tags": [ "minim", "irure", "ipsum", "culpa", "exercitation", "est", "ut" ], "friends": [ { "id": 0, "name": "Maggie Rosa" }, { "id": 1, "name": "Lakeisha Hardy" }, { "id": 2, "name": "Marsh Ramsey" } ], "greeting": "Hello, Sweet Velez! You have 2 unread messages.", "favoriteFruit": "banana" }, { "_id": "67896889f4efa876deeba384", "index": 17, "guid": "c7e208c9-4958-4c9e-a082-c495cdf71af8", "isActive": false, "balance": "$3,263.72", "picture": "http://placehold.it/32x32", "age": 28, "eyeColor": "green", "name": "Inez Daugherty", "gender": "female", "company": "NIQUENT", "email": "inezdaugherty@niquent.com", "phone": "+1 (861) 539-2701", "address": "976 Freeman Street, Allensworth, South Carolina, 6905", "about": "Commodo duis commodo irure ea cupidatat eu et consectetur est adipisicing duis minim exercitation veniam. Aliqua irure pariatur reprehenderit sunt sunt nulla duis eiusmod ea laborum ex cupidatat culpa commodo. Cupidatat quis fugiat minim ipsum mollit sit reprehenderit occaecat id. Exercitation dolore est aliquip eiusmod occaecat ea Lorem consequat et laborum ullamco nisi. Sint laboris ad veniam Lorem et ullamco enim sint anim duis veniam minim enim tempor.\r\n", "registered": "2021-12-15T06:49:38 -01:00", "latitude": 20.349796, "longitude": 144.382483, "tags": [ "voluptate", "et", "eiusmod", "consectetur", "tempor", "nostrud", "reprehenderit" ], "friends": [ { "id": 0, "name": "Sybil Medina" }, { "id": 1, "name": "Moody Stuart" }, { "id": 2, "name": "Marina Mendez" } ], "greeting": "Hello, Inez Daugherty! You have 4 unread messages.", "favoriteFruit": "banana" }, { "_id": "678968891e93efb835bc2cd6", "index": 18, "guid": "ea4e2e6b-74aa-45cd-865d-5176b72d0b57", "isActive": false, "balance": "$2,429.16", "picture": "http://placehold.it/32x32", "age": 32, "eyeColor": "brown", "name": "Everett James", "gender": "male", "company": "MULTRON", "email": "everettjames@multron.com", "phone": "+1 (806) 440-2002", "address": "140 Flatlands Avenue, Finderne, West Virginia, 1993", "about": "Ut velit consequat minim amet consequat anim cupidatat occaecat. Laboris laboris deserunt sit enim dolor. Ea quis eu enim id aliquip voluptate voluptate. Mollit aliqua voluptate minim tempor ipsum velit anim velit do non eu tempor. Eu reprehenderit ad magna proident officia ex amet commodo sit aute. Nisi ipsum incididunt culpa irure incididunt dolore ea fugiat aliquip tempor nisi deserunt occaecat.\r\n", "registered": "2015-06-09T09:37:35 -02:00", "latitude": 79.763632, "longitude": -32.813202, "tags": [ "pariatur", "esse", "nisi", "cupidatat", "eu", "labore", "minim" ], "friends": [ { "id": 0, "name": "Julia Odom" }, { "id": 1, "name": "Faulkner Bright" }, { "id": 2, "name": "Ingram Hines" } ], "greeting": "Hello, Everett James! You have 5 unread messages.", "favoriteFruit": "strawberry" }, { "_id": "67896889484e2f07ff4f59a5", "index": 19, "guid": "d29d6eeb-07eb-4bb6-9f61-ec1c39d8fb42", "isActive": true, "balance": "$1,968.56", "picture": "http://placehold.it/32x32", "age": 39, "eyeColor": "green", "name": "Robles Gonzalez", "gender": "male", "company": "OBLIQ", "email": "roblesgonzalez@obliq.com", "phone": "+1 (858) 476-2018", "address": "524 Essex Street, Deltaville, Maine, 2760", "about": "Elit occaecat mollit ad dolor anim aliqua aliquip. Occaecat non dolore voluptate deserunt esse deserunt et cupidatat in consequat ut elit fugiat. Lorem incididunt Lorem adipisicing sint cupidatat dolor exercitation aliquip et. Proident et duis exercitation nostrud elit magna nisi proident do id eiusmod ipsum aliqua.\r\n", "registered": "2020-06-14T02:02:05 -02:00", "latitude": -38.033294, "longitude": -73.473674, "tags": [ "labore", "nisi", "ipsum", "do", "duis", "voluptate", "officia" ], "friends": [ { "id": 0, "name": "Miller Keith" }, { "id": 1, "name": "Macias Norman" }, { "id": 2, "name": "Harding Love" } ], "greeting": "Hello, Robles Gonzalez! You have 4 unread messages.", "favoriteFruit": "apple" }, { "_id": "678968894cdd88f5f142afc2", "index": 20, "guid": "564954b4-cdb8-4c72-9066-c3443ce622e2", "isActive": true, "balance": "$2,434.62", "picture": "http://placehold.it/32x32", "age": 32, "eyeColor": "brown", "name": "Michael Rice", "gender": "female", "company": "AVIT", "email": "michaelrice@avit.com", "phone": "+1 (961) 537-2882", "address": "724 Schermerhorn Street, Freelandville, Wisconsin, 7531", "about": "Cillum eiusmod qui deserunt adipisicing occaecat et mollit excepteur et sint. Anim velit voluptate nostrud eiusmod occaecat. Nisi ea duis eu culpa et proident ad magna irure sunt.\r\n", "registered": "2015-07-06T06:58:09 -02:00", "latitude": 27.379952, "longitude": 152.717857, "tags": [ "adipisicing", "eiusmod", "commodo", "esse", "voluptate", "sit", "magna" ], "friends": [ { "id": 0, "name": "Audrey Hunt" }, { "id": 1, "name": "Alfreda Atkinson" }, { "id": 2, "name": "Petty Mccray" } ], "greeting": "Hello, Michael Rice! You have 9 unread messages.", "favoriteFruit": "strawberry" }, { "_id": "678968893653170eca51eeea", "index": 21, "guid": "23891d2b-c633-4bec-af34-459ef5c1d182", "isActive": false, "balance": "$1,630.72", "picture": "http://placehold.it/32x32", "age": 35, "eyeColor": "blue", "name": "Roxie Harding", "gender": "female", "company": "RETRACK", "email": "roxieharding@retrack.com", "phone": "+1 (807) 452-3683", "address": "238 Lorimer Street, Hendersonville, Hawaii, 3166", "about": "Adipisicing anim mollit anim occaecat do ea sunt ullamco. Officia amet do sint aliquip. Irure in irure ut eu voluptate irure do veniam sit eu sint ea do. Elit consequat sint tempor eu laboris aute voluptate fugiat eiusmod nulla adipisicing elit.\r\n", "registered": "2022-04-01T04:36:49 -02:00", "latitude": -19.385063, "longitude": 81.171286, "tags": [ "cupidatat", "pariatur", "dolore", "quis", "veniam", "consectetur", "nisi" ], "friends": [ { "id": 0, "name": "Wendi Hammond" }, { "id": 1, "name": "Britt Howard" }, { "id": 2, "name": "Glenna Jarvis" } ], "greeting": "Hello, Roxie Harding! You have 3 unread messages.", "favoriteFruit": "banana" }, { "_id": "678968896ecfd0a6b5f262e6", "index": 22, "guid": "707cde38-1a0a-4ada-8e19-b792a0f95e41", "isActive": false, "balance": "$3,561.73", "picture": "http://placehold.it/32x32", "age": 30, "eyeColor": "green", "name": "Fernandez Vang", "gender": "male", "company": "ANIVET", "email": "fernandezvang@anivet.com", "phone": "+1 (958) 446-3306", "address": "337 Manhattan Court, Calverton, Arkansas, 1087", "about": "Amet nisi qui ipsum ea exercitation pariatur excepteur occaecat cupidatat esse. Labore irure laboris nisi nulla elit magna dolor in aliqua occaecat. Excepteur voluptate elit culpa eiusmod sunt officia dolor non laborum nisi elit qui. Non in duis sit commodo laboris elit qui do elit.\r\n", "registered": "2020-03-21T04:08:04 -01:00", "latitude": -17.799026, "longitude": 109.653797, "tags": [ "do", "anim", "culpa", "et", "laboris", "quis", "nulla" ], "friends": [ { "id": 0, "name": "Georgette Carver" }, { "id": 1, "name": "Terrell Bauer" }, { "id": 2, "name": "Franklin Velasquez" } ], "greeting": "Hello, Fernandez Vang! You have 6 unread messages.", "favoriteFruit": "banana" }, { "_id": "67896889af26bd2ba13d084e", "index": 23, "guid": "b81aba58-7979-43ef-9419-428469bb82fa", "isActive": true, "balance": "$3,844.44", "picture": "http://placehold.it/32x32", "age": 31, "eyeColor": "green", "name": "Goodwin Riggs", "gender": "male", "company": "BUZZMAKER", "email": "goodwinriggs@buzzmaker.com", "phone": "+1 (942) 582-3310", "address": "954 McKibbin Street, Baker, Illinois, 6012", "about": "Ut velit dolore nulla cillum. Voluptate officia laborum sit non. Officia est aliqua consequat elit culpa tempor pariatur consectetur sint aliqua Lorem excepteur. Quis duis elit consequat quis culpa occaecat do elit aliquip minim sunt minim consequat amet.\r\n", "registered": "2020-03-24T09:10:26 -01:00", "latitude": -77.188631, "longitude": 54.89769, "tags": [ "fugiat", "sint", "consectetur", "magna", "occaecat", "magna", "minim" ], "friends": [ { "id": 0, "name": "Manning Johnson" }, { "id": 1, "name": "Julie Roth" }, { "id": 2, "name": "Hurst Morton" } ], "greeting": "Hello, Goodwin Riggs! You have 2 unread messages.", "favoriteFruit": "apple" }, { "_id": "67896889d3eb436941362737", "index": 24, "guid": "703ae609-fcff-4209-83e0-b918bc8c1727", "isActive": false, "balance": "$2,253.77", "picture": "http://placehold.it/32x32", "age": 30, "eyeColor": "green", "name": "Nadine Burnett", "gender": "female", "company": "PORTICA", "email": "nadineburnett@portica.com", "phone": "+1 (867) 597-2918", "address": "498 Duffield Street, Nadine, Michigan, 590", "about": "Amet id excepteur minim mollit qui aute proident irure nulla est consectetur. Nulla labore ad amet elit est Lorem commodo pariatur et minim elit ea commodo. Cupidatat duis deserunt sint eu Lorem. Nulla magna duis sint est dolor proident cupidatat esse id reprehenderit officia. Irure officia est eu ullamco aliqua tempor reprehenderit minim occaecat mollit fugiat voluptate do. Eu proident ex eu qui elit anim nulla tempor non.\r\n", "registered": "2021-04-29T06:30:01 -02:00", "latitude": 6.670432, "longitude": 145.804361, "tags": [ "aliquip", "ea", "enim", "excepteur", "nisi", "et", "adipisicing" ], "friends": [ { "id": 0, "name": "Desiree Ferrell" }, { "id": 1, "name": "Ada Wolf" }, { "id": 2, "name": "Lorna Sandoval" } ], "greeting": "Hello, Nadine Burnett! You have 9 unread messages.", "favoriteFruit": "apple" }, { "_id": "6789688906f8f701cabb7d5f", "index": 25, "guid": "901b3976-e209-46e7-80ba-62e129e80841", "isActive": false, "balance": "$2,142.91", "picture": "http://placehold.it/32x32", "age": 34, "eyeColor": "green", "name": "Cynthia Oneal", "gender": "female", "company": "SILODYNE", "email": "cynthiaoneal@silodyne.com", "phone": "+1 (949) 575-2852", "address": "979 Bay Avenue, Derwood, North Carolina, 9345", "about": "Eu quis dolor esse esse dolore nostrud consequat magna veniam cillum ut ea labore aute. Ipsum aute magna commodo aute tempor officia reprehenderit dolore. Magna non dolore minim duis qui deserunt sint id nulla laboris. Consequat et aliqua culpa mollit ullamco qui aliqua consectetur adipisicing ipsum tempor Lorem sunt. Labore deserunt veniam velit laborum consectetur. Nulla non nostrud nostrud eu adipisicing duis ad pariatur duis sint enim magna. Minim nostrud fugiat adipisicing aliqua sunt enim ad aute.\r\n", "registered": "2022-10-31T02:31:28 -01:00", "latitude": -44.212207, "longitude": -79.395289, "tags": [ "sunt", "qui", "nostrud", "anim", "ullamco", "ad", "amet" ], "friends": [ { "id": 0, "name": "Walls Mcgowan" }, { "id": 1, "name": "Lucy Sosa" }, { "id": 2, "name": "Chen Crawford" } ], "greeting": "Hello, Cynthia Oneal! You have 9 unread messages.", "favoriteFruit": "apple" }, { "_id": "678968897010f8a2d2f3e4e6", "index": 26, "guid": "926a1b28-e574-4789-9bf5-35a23027b24a", "isActive": true, "balance": "$1,356.72", "picture": "http://placehold.it/32x32", "age": 26, "eyeColor": "brown", "name": "Dee Collier", "gender": "female", "company": "RECOGNIA", "email": "deecollier@recognia.com", "phone": "+1 (974) 418-2475", "address": "330 Baycliff Terrace, Southview, South Dakota, 5056", "about": "Elit incididunt voluptate sint occaecat fugiat laborum aliquip Lorem. Do irure enim eu ipsum sint amet in velit velit laborum. Labore velit deserunt eu in labore incididunt Lorem commodo Lorem ut deserunt esse velit quis.\r\n", "registered": "2021-05-02T11:16:04 -02:00", "latitude": -78.20278, "longitude": 143.951657, "tags": [ "nostrud", "dolore", "nostrud", "minim", "laboris", "esse", "voluptate" ], "friends": [ { "id": 0, "name": "Knox Wheeler" }, { "id": 1, "name": "Mandy Brady" }, { "id": 2, "name": "Palmer Oliver" } ], "greeting": "Hello, Dee Collier! You have 10 unread messages.", "favoriteFruit": "apple" }, { "_id": "67896889f2bbd835eec26ee2", "index": 27, "guid": "c486bb7e-e131-4318-a422-5aa90a964e97", "isActive": true, "balance": "$2,679.77", "picture": "http://placehold.it/32x32", "age": 37, "eyeColor": "brown", "name": "Arnold House", "gender": "male", "company": "ENDIPINE", "email": "arnoldhouse@endipine.com", "phone": "+1 (947) 409-2903", "address": "961 Townsend Street, Osmond, North Dakota, 5610", "about": "Est magna et consequat eu enim ad anim do eu veniam minim occaecat. Do id aliqua non excepteur incididunt ea officia qui commodo ullamco. Laboris ut aliquip labore aute. Labore et consequat ad ex nisi veniam consectetur proident ut. Amet excepteur id laboris excepteur. Anim occaecat nostrud velit nisi commodo labore dolor nulla irure ut adipisicing.\r\n", "registered": "2017-04-08T06:20:29 -02:00", "latitude": 61.339663, "longitude": -120.443632, "tags": [ "quis", "magna", "eiusmod", "adipisicing", "pariatur", "enim", "ex" ], "friends": [ { "id": 0, "name": "Harrington Spencer" }, { "id": 1, "name": "Felicia Hogan" }, { "id": 2, "name": "Grimes Conley" } ], "greeting": "Hello, Arnold House! You have 5 unread messages.", "favoriteFruit": "strawberry" }, { "_id": "678968898410f49e33f13931", "index": 28, "guid": "e05a6947-edf0-44f4-a868-ba06b28d06c9", "isActive": true, "balance": "$3,435.97", "picture": "http://placehold.it/32x32", "age": 25, "eyeColor": "green", "name": "Glenn Floyd", "gender": "male", "company": "CUJO", "email": "glennfloyd@cujo.com", "phone": "+1 (945) 565-2361", "address": "706 College Place, Tooleville, New Mexico, 8499", "about": "Laboris eu aliqua minim minim excepteur sint nostrud ad officia cillum. Voluptate fugiat culpa aliqua culpa occaecat non fugiat irure labore occaecat aute mollit velit. In reprehenderit laborum ullamco et est pariatur cupidatat eu. Officia ad quis eiusmod nisi dolore velit et ad. Elit minim cillum enim Lorem ullamco ipsum qui fugiat esse labore dolor sint.\r\n", "registered": "2014-08-02T12:57:05 -02:00", "latitude": -11.584925, "longitude": 17.105328, "tags": [ "fugiat", "sint", "labore", "non", "in", "do", "velit" ], "friends": [ { "id": 0, "name": "Caldwell Pope" }, { "id": 1, "name": "Marquita Cervantes" }, { "id": 2, "name": "Richard Rivas" } ], "greeting": "Hello, Glenn Floyd! You have 7 unread messages.", "favoriteFruit": "apple" }, { "_id": "67896889b69943eae3d9e622", "index": 29, "guid": "bd13ead7-5a1d-4d03-9681-d0ff9a6f85f8", "isActive": false, "balance": "$1,054.53", "picture": "http://placehold.it/32x32", "age": 21, "eyeColor": "green", "name": "Mckenzie Holt", "gender": "male", "company": "BIOSPAN", "email": "mckenzieholt@biospan.com", "phone": "+1 (938) 516-3531", "address": "227 Monitor Street, Hollins, Pennsylvania, 6037", "about": "Mollit sint esse sunt nulla aute et. Sint irure eiusmod tempor voluptate est sint anim. Ea quis in in occaecat exercitation elit. Officia Lorem aliqua enim est quis esse. Aliquip duis occaecat sunt reprehenderit ex.\r\n", "registered": "2014-09-26T02:45:10 -02:00", "latitude": -85.76409, "longitude": 55.493425, "tags": [ "ex", "do", "dolor", "sit", "irure", "nisi", "fugiat" ], "friends": [ { "id": 0, "name": "Diann Cortez" }, { "id": 1, "name": "Payne Dalton" }, { "id": 2, "name": "Ilene Bernard" } ], "greeting": "Hello, Mckenzie Holt! You have 9 unread messages.", "favoriteFruit": "banana" }, { "_id": "67896889929579ebf5fd9590", "index": 30, "guid": "512a5078-4fa5-40ce-b83b-5922c985306c", "isActive": true, "balance": "$2,452.13", "picture": "http://placehold.it/32x32", "age": 27, "eyeColor": "green", "name": "Medina Obrien", "gender": "male", "company": "CRUSTATIA", "email": "medinaobrien@crustatia.com", "phone": "+1 (870) 459-3149", "address": "425 Schenck Place, Golconda, Wyoming, 1378", "about": "Non incididunt elit ex fugiat. Incididunt do duis dolor ipsum eu sit proident laborum. Officia amet consequat nulla eiusmod incididunt elit est.\r\n", "registered": "2022-12-28T02:50:45 -01:00", "latitude": 4.731618, "longitude": 108.36064, "tags": [ "commodo", "ad", "pariatur", "amet", "et", "eiusmod", "consectetur" ], "friends": [ { "id": 0, "name": "Slater Burch" }, { "id": 1, "name": "Torres Bell" }, { "id": 2, "name": "Lela Mckenzie" } ], "greeting": "Hello, Medina Obrien! You have 7 unread messages.", "favoriteFruit": "strawberry" }, { "_id": "67896889b79198d3c8643407", "index": 31, "guid": "664de1dd-10c4-4aec-a5e1-900bbd7bd850", "isActive": false, "balance": "$1,573.08", "picture": "http://placehold.it/32x32", "age": 29, "eyeColor": "brown", "name": "Jimmie Meadows", "gender": "female", "company": "FLEETMIX", "email": "jimmiemeadows@fleetmix.com", "phone": "+1 (804) 564-3001", "address": "451 Driggs Avenue, Turpin, Connecticut, 437", "about": "Ex Lorem quis anim ipsum exercitation quis amet voluptate commodo excepteur officia voluptate anim. Eiusmod dolor id voluptate sunt. Do nostrud sit reprehenderit minim. Ex est labore aliqua Lorem non minim anim duis nulla anim nisi. Dolor proident dolor elit dolore sunt nostrud tempor laborum. Ut consequat ullamco ad eu. Exercitation fugiat labore nulla ad elit labore.\r\n", "registered": "2021-03-08T04:40:24 -01:00", "latitude": 40.284919, "longitude": -96.632366, "tags": [ "nisi", "sit", "cupidatat", "qui", "est", "ut", "dolore" ], "friends": [ { "id": 0, "name": "Espinoza Garza" }, { "id": 1, "name": "Singleton Mcguire" }, { "id": 2, "name": "Tucker Byers" } ], "greeting": "Hello, Jimmie Meadows! You have 5 unread messages.", "favoriteFruit": "strawberry" }, { "_id": "678968892f474fa3a09b44fc", "index": 32, "guid": "a2e47043-e2fe-40f8-9d41-a2bf23e6f6ec", "isActive": false, "balance": "$1,599.12", "picture": "http://placehold.it/32x32", "age": 22, "eyeColor": "green", "name": "Holland Strickland", "gender": "male", "company": "UNIWORLD", "email": "hollandstrickland@uniworld.com", "phone": "+1 (969) 452-3892", "address": "103 Vandervoort Place, Falmouth, Oregon, 5559", "about": "Laborum consequat mollit in excepteur tempor proident. Adipisicing veniam magna et elit fugiat. Ea excepteur labore irure tempor exercitation dolore proident consequat Lorem mollit deserunt commodo consequat nisi.\r\n", "registered": "2024-12-12T11:29:09 -01:00", "latitude": 17.177355, "longitude": -96.458829, "tags": [ "tempor", "aute", "dolor", "tempor", "nostrud", "exercitation", "id" ], "friends": [ { "id": 0, "name": "Tameka Myers" }, { "id": 1, "name": "Roach Lang" }, { "id": 2, "name": "Sharp Sawyer" } ], "greeting": "Hello, Holland Strickland! You have 4 unread messages.", "favoriteFruit": "banana" }, { "_id": "67896889dd18e211924147f8", "index": 33, "guid": "bc558326-2703-466c-8308-80afcdafc944", "isActive": false, "balance": "$1,752.70", "picture": "http://placehold.it/32x32", "age": 30, "eyeColor": "brown", "name": "Ramirez Pena", "gender": "male", "company": "TWIGGERY", "email": "ramirezpena@twiggery.com", "phone": "+1 (863) 502-2335", "address": "758 Coffey Street, Roulette, New Hampshire, 9164", "about": "Deserunt irure amet occaecat consectetur. Mollit et tempor deserunt commodo commodo qui sunt sit quis occaecat in velit. Elit dolor laboris ullamco consequat veniam veniam pariatur et cillum exercitation et aute consectetur. Minim irure consequat elit exercitation reprehenderit in dolore Lorem officia laboris. Et sit excepteur sit anim reprehenderit dolor ad culpa deserunt ullamco do ad sint reprehenderit. Sunt enim sunt ut officia in sint ex Lorem nulla proident. Amet officia aute cillum sunt nisi ea.\r\n", "registered": "2017-07-15T06:04:18 -02:00", "latitude": 18.9219, "longitude": -83.048282, "tags": [ "cillum", "aliquip", "laborum", "aliquip", "cillum", "deserunt", "magna" ], "friends": [ { "id": 0, "name": "Bethany Vance" }, { "id": 1, "name": "Genevieve Bass" }, { "id": 2, "name": "Jenkins Hurley" } ], "greeting": "Hello, Ramirez Pena! You have 6 unread messages.", "favoriteFruit": "banana" }, { "_id": "678968897680cafe68071cbd", "index": 34, "guid": "4f59512c-f798-443b-96c4-3e5ec8c70b89", "isActive": false, "balance": "$1,603.01", "picture": "http://placehold.it/32x32", "age": 30, "eyeColor": "green", "name": "Sargent Donovan", "gender": "male", "company": "KROG", "email": "sargentdonovan@krog.com", "phone": "+1 (987) 484-3984", "address": "500 Summit Street, Brewster, Minnesota, 4067", "about": "Et elit duis aute est. Pariatur tempor anim est non nulla est id. Aliqua reprehenderit est deserunt tempor in dolor laborum id elit. Ipsum consequat amet magna ex excepteur proident exercitation culpa tempor nostrud ad elit quis amet. Lorem est ullamco nisi elit amet adipisicing voluptate aliquip in. Aute veniam labore minim mollit ex occaecat fugiat anim.\r\n", "registered": "2021-12-13T08:00:58 -01:00", "latitude": -38.826269, "longitude": -5.167006, "tags": [ "exercitation", "adipisicing", "duis", "non", "sint", "cupidatat", "consequat" ], "friends": [ { "id": 0, "name": "Frankie Harper" }, { "id": 1, "name": "Josefina Rogers" }, { "id": 2, "name": "Reed Mcdaniel" } ], "greeting": "Hello, Sargent Donovan! You have 1 unread messages.", "favoriteFruit": "banana" }, { "_id": "678968891342a6852d819b21", "index": 35, "guid": "174aaa93-0201-4760-bac1-3abafc937f56", "isActive": false, "balance": "$3,527.21", "picture": "http://placehold.it/32x32", "age": 25, "eyeColor": "blue", "name": "Dianna Frost", "gender": "female", "company": "VIDTO", "email": "diannafrost@vidto.com", "phone": "+1 (801) 521-3481", "address": "412 Morton Street, Collins, Virgin Islands, 640", "about": "Aute culpa quis eu anim ea mollit aliqua pariatur. Ad aliqua qui ex minim mollit nisi quis voluptate eiusmod Lorem. Lorem eu esse consequat fugiat et excepteur magna minim dolor excepteur occaecat.\r\n", "registered": "2020-12-05T10:32:04 -01:00", "latitude": 66.185497, "longitude": 66.232216, "tags": [ "labore", "est", "est", "commodo", "ea", "laboris", "sunt" ], "friends": [ { "id": 0, "name": "Mcgee Levy" }, { "id": 1, "name": "Latonya Foreman" }, { "id": 2, "name": "Ware Mayer" } ], "greeting": "Hello, Dianna Frost! You have 7 unread messages.", "favoriteFruit": "banana" }, { "_id": "67896889ebcb153388b04b9e", "index": 36, "guid": "208ec8a6-81aa-4cae-a563-2b0f070d7809", "isActive": true, "balance": "$1,300.20", "picture": "http://placehold.it/32x32", "age": 25, "eyeColor": "green", "name": "Melody Navarro", "gender": "female", "company": "KRAGGLE", "email": "melodynavarro@kraggle.com", "phone": "+1 (841) 496-3088", "address": "451 Bergen Avenue, Jugtown, Nebraska, 8813", "about": "Non irure excepteur dolore nisi officia. Exercitation aute ut aliqua id velit ullamco nostrud non sint aute dolore id. Consectetur aliquip consectetur in sint amet.\r\n", "registered": "2016-09-24T10:23:13 -02:00", "latitude": -44.023175, "longitude": 46.434172, "tags": [ "occaecat", "ad", "in", "qui", "ipsum", "ut", "sint" ], "friends": [ { "id": 0, "name": "Durham Levine" }, { "id": 1, "name": "Lila Cooke" }, { "id": 2, "name": "Savage Terrell" } ], "greeting": "Hello, Melody Navarro! You have 8 unread messages.", "favoriteFruit": "banana" }, { "_id": "67896889a24681261942cd41", "index": 37, "guid": "bef4492a-a736-4d8e-ae95-37de3a907f48", "isActive": false, "balance": "$2,362.82", "picture": "http://placehold.it/32x32", "age": 35, "eyeColor": "green", "name": "Tammie William", "gender": "female", "company": "NETPLODE", "email": "tammiewilliam@netplode.com", "phone": "+1 (885) 542-2497", "address": "385 Williamsburg Street, Rockbridge, Alaska, 8363", "about": "Veniam est cupidatat exercitation deserunt duis adipisicing adipisicing. Consequat commodo sunt labore ipsum quis voluptate commodo irure ipsum ex magna adipisicing do. Incididunt labore eu mollit ea tempor eiusmod esse adipisicing Lorem fugiat aliqua cillum. Quis deserunt cillum elit voluptate magna adipisicing amet. Laboris aute sint fugiat enim ullamco eiusmod magna Lorem commodo enim aliqua est eu. Cillum sit aute incididunt ullamco anim non proident eu ad. Nulla dolore veniam duis do.\r\n", "registered": "2024-03-22T07:17:34 -01:00", "latitude": -53.858968, "longitude": 122.230548, "tags": [ "quis", "consequat", "excepteur", "ullamco", "quis", "anim", "magna" ], "friends": [ { "id": 0, "name": "Betty Gomez" }, { "id": 1, "name": "Alvarado Shepherd" }, { "id": 2, "name": "Spencer Dillon" } ], "greeting": "Hello, Tammie William! You have 7 unread messages.", "favoriteFruit": "banana" } ]libnginx-mod-http-modsecurity-1.0.4/.github/nginx/docs/plugged.png000066400000000000000000041263471520112027000252040ustar00rootroot00000000000000PNG  IHDR@BIDATx^lgEEq|A@sQ$(AA $KSLջna<=3nr)N8as1l>͑G96z{Gu;  s!l9;n8餓ֻOc.?Kqyw݂]q+rso. F\͵^h˶5zUWxsW/nu][667|o_v[o]wqǂ6_0`j7ӟ6wyjpj1榛nZ848Hz]wݵ{.w{Yͽo[Ϯvew߽]sx`zhGydJ`=~d|J{\rO_=c Wc5xN~z{Ƿuw==%SO=hO#3<`sϭ^zix7?98 ]an>~=&\ѯ+^~+yֽfi`hс~5ơ.7nFv:Nv3ğ1'285dj<>kKx&?<Ʋ'|7xc_Q8z|^;xɫ9I|oh.~͕ഝIw58Y,f{UnbTsꫯFv›ZrSyzp'?|8m]S>k<޳wtfj z9j|;zL~_p^??LF<}rW4}s/Y7_Khٟ>]5O>7tϏ+/RklLV9*S[19qj{ UfOu\.̜Z0#x'/5!0juDydh| ފZZ| .`d1ɓnw}&)74pH+i(I%3[&~Ӎ1믨ۛ7|s;ɯuK zr{tYS၆ Ƣy ~L:b>5<%h zx*˟H+Ʌ8ɄvbW2^9%U4l?|5(6\A^*_߼;G>~p}7 7'ղ;hTTWD1NƎsChaMq8R<[?C1pW̦/cetm5d}wcTEmKs]pkG;d uTإH:h\z$g1Qs9;:cx%K3><~_ >qG93o+r ֣֕pzu]<;S=[s5\5vPxfqIj +0'zDzD͡Q*]QBt'lT!$WQ4WSl*Lܻ*]jx*OWAcKJJո]dx"Ӹ'Jᨠ+5JcC2%3|t8is>8\Ɋ|Ao9:͟N~U}}C|_hosHWjt8}Ӻo- \ G|)΁oݷ[!f^+hs]E}1=|yWZw<9Gs"X0`ݓ)a-|Fs;-NG+8u1RLGoD|9g'O٦L4XBUV0m]wѮ.A\ܮ<|.}KUn3- >ђ_vaywKzyY58Ͻ3vgVP{T*;=T=KQv!yo,^sH&ì0bɤyHT*(N|'u«tf`5ō"Rq?'ӝ+(;-U=kg}>hT1ftkBq&9s2x6MtY_QNg5A}C_Z*l!Wj=WUpj%]_'\%~nJ]\P(PvEq }o2x7  V TߘY| z &;='wd*ȇr7_onIc^2_B^ln,]vǃ{6n,lklgBs/}x&/X1UL?;xÓxTL·|Z\I?c}xъٯ+Ӌﭟݷ>νދs0j1xru8]g_Z}4V]v,'fi|*Vᢇhy /؊Tp3j|dkthxyY9q>.t̹w靼/.˙ȽWuڦVUgYs<, lUH[]֠Z5LiXqSSzHRMA\F|/Xu:T8*nk J'w\qX@uj\U0*r+t{#%(<=ϮUa\E,vܓ N o^S0RV{4\اbtZ=:e5zWiXPQpVmǤtog1Q*vM؊WMvL`8*ܛnfcI]nW̘7wO0%A`TڻZ|Y@SBY`/pHfU2\mwmz[Il`lKI@Eg `|N'pPZ`fb&tc7 W͂d!-ѵl}ZZP>8]y·8?}8f_€NIk ż`w[K\Aߕwj8$UU_bDV?\+JȜvIIpW}hT>癨Vh2.klK`g["ZRr\ɫwd>#[(08A?C <4ţ>0g%`Ȭeg_ޣ7}7e xfixGύd(q3:F +ih3=zϒva_40&j͏7w.nMcULj~.9gCeGLN—ي93 /IbV oBQŚ0hy..|9/o7d~]s =3ḟܘ|2;}>ok6y\#᧛̖9_#do\Xy\  ΃ :p?^m ϑB8wW~Xn"w \\>ōY%t^l~xث׽gם ~l 3Sx x<ZclrLWp<??=fl+vd-?}晘?sht^lcN*7g$ \.U`m'Ő웞܀k٧ZiYKc٘RW|u2?.^⧵bƇW|r_㩸x]W-٢ozMo14<+L?BIS>pٮFcG}c_DŘrL>S1uZq9O<ɵ\<mBuxZ:N.^U;pָyfsM4#3F0Tj:Si:VZ: :.뇿WT?nKqNUgY /NvS 1aڭP9ІCPUzg79_O .5dl i/GsFB _q@Gpֺgx܃؊ 圧?EvN]@*iϰ {[Q 范T\⩑?b8'm _%h &M&g&>0rh`M&Eo>w*eNBWyg |mŭ/t>^|B  }tNJ l44 `zO7׿vqov`X?>e\ :=_#S7>l~NXʟѯ(r7?|ݣEF< ӵ؇6Ɇ>c< XcOv!oo|-#:i 5[OGt4N61ͻd`ōy.%o&p^,g<}r"ʎ765clE 4-rNJu2hx G x 2ovߎbdY|$1ـ]ɔmp0nڄ_%C%pSZQĆ1Mv7%?=2=)ە`~ixgp kfn?soY>\J4,Oc+2}Wx_~Ƹ~k,<|GG!y9 rilaO Dxto,=:|1dԚł fs W/[Xwlb7y`=Lk䀻:GL317r{ȗ\sِLh[ã>O!ks@Cx b]CҾڊvl\o'j3ﴁZ!ϯP6|\i5^7Cs |싆:^RϬOWvW`0Jsw`c FŤq4021VR\:Z}4K*DسbsNs*NJ<LpWOf2LMFg:N9kE 9|4cdnckz8MAS3":)4ܝ{6 RQ/4Z58*~ > FP8fNh%FO>9S &W 頓_A,9* lټDT2Fk ^+j])Jx+x[WԂ]3_]I (Y #X81d2M`*IM^<;ŗ'K9s>{IZT,Dʟ**ѤSWW>tK~u P'>%dBENg<4OـUWboLdloA+6/4WIe_|zst ]+} +>H+8werN>+t͍+^J(,>}gsyS"N/R|-D\b.~kgxoL?7yfWkUVsWxXU *\`M4|Z Gj  x+?l-~m\8΍Mf+x 9<y;OVnI>c]_83K9>Ņ%kdkNb=zdj.%?6>StZ~"ss379~kk j[Т˘ r8k`nƚ;KﲕVRO[Zќ7oɎm֧ZY('1'n:lppm^wz+(-1NNrA1X8{{tğ+T, X:+_'鳘2w[^ ټGzjcpxW'|SA=?c x\?R崳]jLaΎr#Y,ŬqigUQS^BA@)JK9T;76N#X *)ѿaŸN) iɈ<M( 8 4àd[v(n:Q`8LF!SURTƁG8, ~~/}yNّCN~)kAq/0BS`4]M886YJXM\_MztK>dLFp{o {d&1} PnUƇܓ}*U_8>{OzoL =3䆮m?!Iqh%5ءI_mRS\d-?-Ost\܂DjHc$*=)Rc"?K6xثE+{zLgd5?uE;|- L'24W]ъPR-TA^ڭK~R* jQx.awryg,tY4":śO<Ɂec><&|N3贩D&G d i`~c$eMyDxJxmwekyZyOsx@˸EƒK7*\(%zAL 8|ԇUS+eS># hKk~J>z$xœgv1T[тŊ z? :sk]sĘ ,r6/2^_҇xDSC9MAM'|K?>.+Sp⭸:l,_G ]y[wxb;]s#[iftOWW+\)#s*xvmM;U6Amg_҇N'ٷݪnͧ[cxrWe,(Fn'Zn;Ϡ5)W0"ս:jءc\;G"B;~>>r;[6Wqt>QSb' GN͌鰂Ssd}hqfSA ǮѪVPG PLp4FqG!5sBݩ,#קp~p($WINs$p9'#|pbM͸?gEtE.q 8G/8B-MpveNW_SE )b}2 *c@$@}G,00`uO \|Y0I*b WT\"_!mL8 zxG]}~mAIE~4* **mj!?){1|ldTƋ~c,u<ЦK> .ܓm {ZVUD'ͻn8z%1%axF9>rG3rhGm@LQ w|<_x(٤N0~LV=q$mc܇EqǵN%r-ne(@3R~EE|7iApdpEbm1 BƴQB9u8PXҼk{kD~p3_g}ƳANXO3r^&[phټD.0芳tr grcsM| . /`X 7>cvo)-&eU8-?o]4rs%WرE^H6yLf~KZF9<yqz& ?xM5Zwh'i-<A+> hq o){Pr"|ѻV\^c6"õDCVhÈ_%mtnc>CZoq9%t"§IyY-X]5\ϖZʶwqn\w^Qo{4rbcM:cCSVaC?ԪM*5''NspA-X0NY} xb0Q(~L#+$ fūk9dO;iUxzv})}4; r"F<?%]΄.vq4V((U_0}Ӊv\|&*+>w#g4Ɛ_8xç-\Ao] ,&&{:K89:zp4M ư~.}VּC`JмgWv3K0T>{ࠛvf<0nW;B,\oC R`.b>#ڱ( 7Z-PZ?;TTokEX6lCfdc}٫B %&xB  ;f'Cl6^fO} z=z>s/7`!+pŻ{cڄLfހ)x㫅[ B$xW7c|´zG}F4cJ E޷^7}?܃+;}\]l :sSh{',ö]ɩ1tG'y|o̍t|y&_2Wi׌AOȆ%`دbk^VEoh=9Gw /جb:<;9c:hMIɮx*>8?f ;r9͹pUOt^U?t7O 4rx8s3زo< ;gY3y&#nyp m@.k;t#sşF.=ɜG#8[{8>[\Gp='YIt*~d|kxmcy}(6C6Wl]?5r=xe#*zVPg5c[%=UTM ij@{U〡 +omXhl.9m P5: `K >ygщyG䃋Lksœ#cw.cͮKm&Goc\99fG8/W'؋ï6S3tCGZ uTt w)\5~8ɋ&~W-fc{t`YpWaUz(bS*:  Hp(8'(rB `+JܙPJڨWk!G'MNn"(Z 'gB+pn(BAgGюg}&>Ӏk`p8oV̡'iMx8 IH<0 : :٘~+tA>ѫ# Mc *8`ť=c R}d vX=[ ejB@>R } h8[`zс,8h M'-i^b' %MbW d8<?%I-0p$3wmcNO`O[ D#_GK}J [<٠v#=3_B//wv[ˌM67*D0+r  S6޳>g0mu~`ΚG\҇mnL +`Os؏O҅] 9*-<Cf:?W1XՆKŒs&#/\m(8:m#zٝF\d3WB?ak;p0-!F`'/n诏l0p*]\x㺖S]|oSFM FT‘m~:qߔg/}}$WTVX/p`ѽUY5٭Ϡg1빆QWƺ7FGnq;-"nW0;TT[?IV_ev2ɮTBsΈpKX:BtVy7C$=9DM Mr 0%0 UqvϬރ+x)S(|C \hpŋBU NxB&b;$ H@&ز伄As .i+-Ȟ+[ x,|Ɂ~*b~򗴴{r xDK8Hɘg}YN  d$ pt\"jQNOx -iƃGOt q[<OVh {VL6oKA'ΟlgLxNt5&6U}rnζιos0}m,}/86*˾h r㽘kx.ѩXHF:i~_g~'w __՗_+ h 't_hs69og8ɇ- *jc0x;9=u(jl aFs69OXUqN=Bb*#-=_!pyE騹oew zXV~rS k18 ?ܠ6L5MxD#W\_GGV1Ɣ+w[,ČB_[[njb<` W5&Um+6+~!3W Ztط\N~+pyW-_\jt0UT* N(A6cD7^g?ٺꯠQXDSQfBh:vJ,pS1%D)o`8_EX@իЄn5ţ~^GwG>ohflm|<~*kgfN18Ts2&]>2 t ٳ".@6]+ULlN׮R@p=OEg qlPamt*?3n ī;} v+JH%wU_:e/cs-tdU45 ft|=="Ex3I"gƐ%8k"_@l\pIJ 'lF`e{ O䐰~~Y1_hlҟEyJdIl ,8VXjj-(%}[_x$cG(,)7;jgFW1 jOyB_Wc[+tGV~}}mTb_n _I )œɇ6^/?vZ˗zoMs>gkSbɅ'K S7s><7/3X2?_·]/ߣGU=f\6t_O <^*U"3i SC~=]'l֩ =SkcHC4Z/\zbVIyԜ#W?g6Wb8_+T1࢑Tam L' SdwJH $o}wEv늆4xOYpg(ۧ͘xWA|sٖ[5|6p488K11;r> U.n5|;z?c9\nl~O,xRr`84Z7ûNZ1 \ɘO)Tar9.^~]Cp'Z55Fރ3:t:Btjlsxl]R;# ̖BWPU**T~K!rrۿ?rBk~Y((R%&/Vx[3Arhxy `gp8ܔLXan|{Ƨ.kƊ9@*>N'_s+ݒ_v%G~NSҒj=ڤϮt 0]={iC#ڝsWt?!zF>oI6 |=68/llhLK= 93`lZ6ksX~d x։ +_ўA('q- =E>OGkG'pцQ~Mm򮸜]8/?c&| Yӻo3d'ܸCfO1;wc{}tE[1)'6M~pB~^5-ԚROl}27A@s{| `}t]>? ;9/V-*c/yQ9b됼Z)W|7}u0 ޼}O/`'Wh𨞪GhFN3Z }{*vis5Aȉ~脙. +\j(s?\ɉS _BБk}SW we;b}>JbKRwc1xLU+6M^M&FUvz @>xf+CB\4Ě3f?خPՇpӻvR|X956.htx;a3# 5> lM&dI̮] 3A54iܳ~4 b{B$Ab@tUnI/x]86Db#}; Gtщ0|_RQT CB٬dA$HLl?C7h/YCS2+NtF>[76)Y13?_ʀ2⍾Ѕ?U?ͪs]s|wpA2eN\};@.ȖS\.svd##Ywxw ŸbF~4-U4u.ݹA&eViCsku47CLb6Pb\'Mtg4-V1ٲR*ΧO:*^klN3|[ G?d?Kp|<̷58ZӋ ¥3rҥg5l󢼰|q>h* = Wn>mY-\ư izzk#@ƏУb]1]~h5Ǽ\Y<-ʷ鄮4MwexޡVCGk :}MbZEi_/K6kl-:zˉ"JWsT1~'ULI뮻WA BC8)8W!㘭XV:U9 y ~J'b~3P4BO8mp1Li>%} &)|(@&Gx30µX61Iqx邃ȍ>Tɱ8k!DhDZ+|do[RYᣉ'GJ8|ފNn%U$aRg|r #r B|}Kop% Z+ݻihڠAOT(dZǢ+ɕl(^|>سb m1?zpϕ~\18g;v%S T|;X|O= phkt7_S;|T &]oFm`Aw鱱]Rn<[y&+yW$9Eot[}ř7"1/4{YxvN|IpQ-*9;x'rGJ]5:G 2*)Y䠫bLE@-JK:h\v+N1~tic<#Џ;'8̻܁d*&"]Q&[zޝ8Vd J:kC8x6^^7^W1N{|sՆK~dq}z ӧ8!wk+_5Wl؇.5=M{l G<7λ6YKٗ-T9lyZ˿s-~1?97W-xWVY(xk8DVy<cn1ɆxPG)J07_GƵvSHkhS#X5Ry{D}U3׵.<o^hZ 9ޫՅ/xԯQE/~SȬT\*UНQtI\JmI+$P bUIڵ佫Wg<ƒF& :ev9 D)lfQQ A4 2p2%sΠ#g︝> ƪ@2s \;-{_b .񯟣QMշ9!w!D|& ^QH,xSGĤ%1&~lv5/l7SSh we=3h}Xhahh7`  hx8-flx?5B5xkL~O>BW \" $ %`u XߢXB.&BX3 vRޚt䨈,f7 :KooNWO_~7>7b>[o2цW"_|# ` ?_ଘC(:K%|mmL6+&dCWw>Ѧ]Շ}g6*tZgڜhMc, ָcoeWLw߂OgdS_ ӿ?d:$yΗd#t’//hlЏw( %CFBzPJI25]lEXzX҇D XljSt׆ YoLfU/o=E:'^ϧF[ܵ] "]s|M0aU|p4ξO <-Ѕ_m5D!VpTe`|щŰlOciD^bq$U[9c <6oeSU u38ou*]6If\al-[_IsuI{Mb9ҿ*a>_ ;͏>| ObX 'ca1ƒEg5ϡcL9݈贎{MZe ZkZQWȮdqk'8o[@sG 0ֽbg[Ɛo}VLzg3|W+O{t:W`tH媁u\6xa+ryZ[`AG6<{*}S(_a;W2I%lGtH>c_B FL2/YC-@x ? XW*Cdl*+!HhJP G~h<= w>M%;@fGkw$,dp%gjKHizY8}<7zGlcKOOEx›Rȗ~-0}҉/7*|`w|%x#[ķ-:5Ny,uy69>pW"kIռoNOB^+Gs5-x{ wE3aw2'w&Ťtgp|,y4f_޳Es|emGbG'wD~6+ƶWEgiᄣuL} Zv/VHvf m8w/ívm[mNxIXzl^?Z'FG3X<56W?JxMkNʷ',TȲ#:+6.9ОNQr a]-1C߭c1m*ǟ|M-R{𯾬iS.V#c T(/gnBrq~j]D/O{|4]yLʝnx1źOtOۘɽFxD?ƨk>p4ؙ~цUArZsN` )Ƚw UC:`+w9STx*fڥ!h_>080NBE0*J+L&:ƠXl,9[ ёMNqv]9 :lPE;x*9*I"g?dZJ -'}8 2rDc]ف,JnK8a\Dr TLPxZ5)o׮b4Dζj\Iq4YI-J`KRc7~75`Ŭ/sKo#y(h(*WFO@?9BĀ>K Ȗ-3NQRQ 6=h"n[\NC㕽|5$LIB xͳ8\r\SP1vI/#X~hIQI>[Jl:1fLΒ|:+YQ w% ɇk-J_Eƃ}KPlب/;],?%L#%oxgK1}Jt履~Z:4?|f/o=^kOFߕUTw*T⨿XgS/"'?Ɛи~gڸqrSR ''>gaV17ᬘ$lW'z<C46t?$ߙ0[/L3b6sOt#.7x pxgAxOzl~U--(Ld2>='}Uz߼wG:ƠN8~l3u/<)=X[37u5g oox8WtT<1]7g>_s'+Myo.*nLtiG2UiH|3u\ lYXyok+2={~V>-grf\y Yk9qW(%k 7v‰4\p6} |NإUu5k6+*V>QW1<}g+|5' ; S IE{ 9bU~q_.)JL9F+t_XQ'}N9lSAg-Ŭwn)y8i17+9`G+!'#48_1hUM´De8 YMw9{Ƣh8吂n >q2z3&ZZ\_vi8>ȣULbͶ6\UV!-5_%O%lF |g 8;㋝%C>v\~YBi2WC}S"Wa.ZH+}BA:jؾ OS[t|mZTWdn?nW))[IVт]R6ؚmЃĵҢJ6t5*!O~I%xBx/'Ɨc8҇9^BRllIZh++(YS;:4blLɐ^]KRyJ#CSdm&pt8H l&[hLwwuuxxP)vMg3݊n.=O7-@ 609;b{| N8ڡ|أ0^>U*.SKND¯1/imucxcٝ[Şh>Y5sB^FpG&>l k~_]˷§ūSx#*HGW_aG9\NnDF~,o-/GG75`#8LY˛-yYxdxU>c.p}}KW\+[п^'_:*P X*(Q7EŽ=WjLE3S*>פ+N5t}GoLdDZ7/2S;~W, e>OV@r'&y#7]IfrҡNjlj|j,hA Ό"=WDϡ-O^GEJ/U8+X}h(Q ]W y T ^rT;;UH -h 8t{qk0h'nxv?^A[sBA/\6 '%`k|{Sr o}lW?#s/ ^tr-QU\{cB$+K|ǏcUD3=E'3Sx%uI& =; 4WztJnk%ٺ>7!˕|>ExV^+gC=O9^ⷴH5{$ggxmQrfޕNmb,ߋ qů| >.=>Au&/t cjkDTgt ^̸GlgsCN2Ǘ 湗MbIٍk7Ld/aF>?љY[:\<\:+~yvmdLq bKb9X1 7vjdeL|e֝dmBx3}_W/C>Z\6*4>kN Zpe,yh .C[\to6a3Or;np{x|]ʿс^Šr"{:h!{O.l_O{gr_ٺů0},۟ȍ9CS^:FsO=$_A,^0%ͰUC{%ȉ^'d/:۪!e郎jF=ѻkW;6/?+*x&Bbs[A퇯_ Xp]pǵUPEMb X&Ks߿=Cc`1x}6X"B仚$cZ<&ߤCo==wHQ9ܾH#voA&C'nѭCn0vmQU@ 7Z{ UQѦ_fQQq`'/q-ypӃɸA,IA` xP ".0o!y'gE89ЇM-p74dPFbMلژJm2|P5F6&UC mVdDMZh‹F5lْl^!}'|0) IG%%O%n2 -:}18x'&+7 DDZ+%ʇ`=91Ĉ 1jdoݕ eQ'r'-b͑{vϿȌGs)QOxz6%}h;ݣ` FM =v,qJ`#rG#;VХ§Z#d@=C:<[kHdMF#;Eu]ߺ~52u}bI:1#C1󡑉-h nfs@#sihxvbJkLQWqIsFp|zYhY~|`iwol)vM't|ўno O8qf|\~߆m[p/uAidOt/WSΩPtf՝pUaKoyAgUz~0 můLAHhGj W?Rx\/5w*O?' Y}Nj u)4E\U"bW3+:mlLaor(E^3 >:խOm&"ꭆk W<=~lI*LĹ\44Gts Z O~Gd&StZ^l"<ڤ V-dW6x_}n pѭ୘x[RN X>p񍧫犋6d-ȲuEmᗬU軖؄*OM+q8з$ ~L&mpzI:iKO{va+4/ @K %[QLf->%%|ݣO'%<%%:5p%KAMp$%ɩq^%Qs+8JЉL\2^KX-6쥏ޝ(xOȁNk)V@Gofz ݩz!>7: /^dU_pH5tX:;ݺG>Ͻ6|^V|%;:m6a6#Gļd|yח_]he?5Oy+y/j$9٦K1͗`~PLcs@12AJp`hѳx9/C/jeE*᙭b'\[L+8]\Ε4{jZQZA\qk^-ӿ!ՏF߳繂 j-D'];r u>CTQ\]+&Gp,#yF"~l5W)"WVV\qLV! BW ^Aڧԝwh݂< Wwv F*"G}ݩ1xQaBeNvmŽ]O轍!cvl[Nj{ӂ'd[(wjکrN>ȁ\:}iQX ْ7>p-TB)13^Ag`*KxJKEWcA 8vWT-xBsqDM) ZGrob6%{zC_/ SyAzSmxѴQm#>U)9(Iv؍ϸ_3V&|66W󏇍B)y҅UMWoM %K董͒,K lBOcWА&o +LNWe"&esEֺJs'$xbqkU{l8O>}i^d#Os D=~qcWOk8ղ?(:ܜƜy!=2${U1^ 3C/,2.ZO".;R.r-2D}>*GʿW8dp?_@YuX8 W|I9+D:I)uvy#R=Es'$ךqWQ'}:?pũu:U*h]+nܹ GW?NG?|*F5}Fgמ踯F]*: _cyp&];Q&x+>xt&3xر~oW8InpxM!Kog6779wY uC>0'Dfk ǵOUpX,px o J+U82[htZ0R0K\Q0 Ģ DyE#?dn]e|n*oK~zIs1hixӝ|a [ Nq5n3ղM4Si_d7R?dcփ4&hk N񹵑]ɾk^Z7oh=Xvxli~o_ /'9Y?=lgӊG|qƛorнuMt6-zR~F&蒞ْ\&{q3?Z8{[ӮNlj~M!_ep9 $*l_¸|JP%ɍ1x+:|t**WWLedpKWBe^h[\юX]mW~^Z@NjUcE*Qu;#pamtU{EG@^E[09b'O<,W O++|Wʝ7a9&#Nd|0털ϛۉ/8z?OV `҅c>8sJdɶisJ!y])MCg'ģ|u&]osk.)Ů|M̯7/+ɤ kj%39ٵʯ=؁WBr?-..$ؒRhdoKsں!7z`X1kvl-#UWcǣ؜nٸߵ͒u>k exvj_h6gv.n6[r|qq͗'-وGձ}ӵ.'+pGKoSsmC tUrF[Gѳ}aP>y:b9_*y+-v ˃a,GZV v7vO5+\;}-/O[Pqu`ʭ$wPO ߘzUMz`B lxv8J}ɥ·Z_Ъc.}r\Q^Vaysss?pNZϚWA[Qmox~쾿%hZM~+y5NXpHDT'}j'؝ghU{ݾIDյ6t<7*8ah@8S_oJ-Mog:svWEe\sv B  N]ۀ*+2U$/xUo}jE=ti"xV<+8 %꒒TidW|VK6e}p]xfLAd ͰM,~[l&n &͡/_l赛l Xe W(é/K"k=:dwO?'i6W_F#/2h)#õ 5}tbSΧKNג6N:G욭W\bWAWR ӣ"2xuҿ%U/ h'}+mAϊc';9,m5?]6F`DSIDAT=q {"3^<} F~NѴ6ZWj=o 'h l14ۃ?xd՚]Jk-yփgk̜ml$G{==`,bK6״OzOv~\[V&'̹+>j^_*'vjvt\? vulZ^/-]XNa-7m^mۼ$R{+_qW/LIXn<_nuŞK~R)߆O 58&ZE>tt^5L_w:Usl'{Z)TxP3]TD ~tJ>? NeٵB\U`wJWhVWH5vϊ>Sf(΄O@WӯR3p6~`*pJ3}C59M؜#'MK_Ξn,Q@*im/ˢʱ9t Ϫ+*ZN*,-(hi1k@fT*hDa]pd4#Thv-% 𒯶(d oϒA|ŵZ'O/ ! ~kC?vE6tl8h> lώl6qmljk#6|}%Clxi&"C/[Q"Rb نm&^2Gkq6^y.ܤoIqxxfSrD#:%FˊFyH XIGYa n[b\yηF'2_8тG !tA.ɜе+]P-SR>ZN Z2g xPUb C4ߗ5Q %)j8%ƛcc`>k |_{^~lqtv\QŶ_YcC5|?8`+D52۟bCk'/ߨ#W#? nшVkuf6\kMTT:|!+c|/`tO|$ynk>I-^>Y#>h4O `s-kk<隼Ŭ0?+kM\Z{ګM;xmF9:QY޸}5rB9wtk;"TQGť[f[1 >o~[o t4 &&S'`FϊoNy-8 jϫaDFI\3uo.|x};/r}[ӧ;|d5VIRp)jawBNo ;MQ_cSZx AxUad 1+]/VţޚۜklRݩ$1͇4 MekvYdbw|w4Dn1nɫkV/_JЙdOOFS~պxٚi5es<[O7SQ~vt\ъbz1ŠXc̯jk;?cG{S^~/|/}*/֬=֚%=\̖6[yn͒A_8%{ms\C*Ͻ&k>z|j~2!p7ͳmwFdh'¹m{d/1 $ Z\9A7oWگiL9V:|H{}ũص<9pWhLP/KG?T7WA=%5VlEpE. FºLvcxi-: ;G `Wׁk=ɭUԸK`l8;EO+NVWغ*|ݛg}N;N~{sX}ܧѝF39 vOvʌ ׉no;LN8>]1s`zS*~TBU 2W_+綘|-Ndуϥ];8tB @N4{ glOEu}k t'k[Ԕ [Cø+܂k\yVlj^KH$j,͊\%h7'tnY&m鷩,kossݤFypEf#ѣ =KJTB=cT£v݄_ 9J _2Ŗ,ؖhT?Xt/MŒURV~%\йOΊ6tGݹXIü#W8ּ̓_pQRͯW2+ |dó5D.U ^$GMșnKy@8~p+LC֯̇#GLാ)J/ɖMuɮ/7 |h?F=q=f0\Efl,/?52PbJ2>]T,*_bw8'χ㌡-ЯH+/br`t;(ɭ#X1}͉GB~I{y'mᘾ=0Yw[ϮWaib/VOHtON+EGuh +N;sEm?K&֏eU7}Hd4V :ťk' H]ZU9_0!ȂOϠh?waS`M:c_}3&n GF;qG3mr /<9iA훜D}WV4\+Vd)Di@lo*䲙oz@]Ng2uҫO-` v%$p*DJa X`SFIdN6 hɞїxn>oJV}m"mTpM_R|ڴdj`l nOdY?ȆhgЛs%|l Ģy?%doīf (4->m9nP?]Md d%`&m+Q3wȹݣ}f[rM}}]Pwk>EV !1^se }rׁT{:pdtVѨ0UV*ԃʳS- @e'`,r c}:}n^'NA~ȪSm۩s6RFbbN[V}6]]Q ϳ+4OM vN loaza;-hIhu9qηoYrNUqZ!Q1ڢZX XNl= J+zƓBsqh%k68V\dh3)[p.꒽N+vXKKde}"jt6!ÎaGɌgX?͖mmNmmdJ2۰4[[hN֦g/l]--ζd}tn>O_j]?/"?*ƒ)=ɕ\zugyטkm~Y'NKsA|Wsm|Q`m<6g bdg2IMW4ZZ&StIk=|[Nr+csƭ _q=bxo0 -8鶺Y\/8wtYntPRQ>>28:!]{ GacMziS݊C\>\Zj`z ?¸}gwU G#:H]fQ3UTSsr ѶtE}I1Z_)Vt~˿?RPV:UuSLW 3oYgƂUSA Q>y2uSC+P&b׳^} [zLJ,mvU|p:u K'&'IN# n>G-MNEI+,Qҳaoz^@j{_a*$K fwoݴ}dKPWP@f1_,HVH %1es zI C@oc(Ap9cs2G/$zlV6I']ƶIf#t$Ȗmܛx>~胇WQi.*-1[򉇫>v+=m^Kӿb,t_0W|!>lP$J#[ɫ1Q)ѫ0ߗ* &_ءCE`,:ϟ??g7h'1n:pŬ=dtdyWK+z4yq>d=NJEDS|uz\'ch+}ȓ,h޳Eve؆M5]pU筹t.JִWkӳ36 =}W!S냟;lb^vfُ[la?gt?>G:5hkVNl>d]27b9|$ЊYd.>oqt7~lY]\|9KTC}|hq~kxLN\bP-Gd}9y9~9v򒭗:q t,wB¶-n5pK~rtRW_/],J X@WK5 io~@G=}/^²]Q8js'M'hO;}Nh P2b]Lr[ B[_t?NerTiBOq?f;Ol~W}"tЧooJgMl9CpOO^tr8wϩ\ >UG",>[,[hłV!lǧĽBPhQmAp ahjD/¯ FOdEm8%d <%s`]S1FTGu79w ޻iFVݦfiC.i>8.|h4=[K ~VAkamm%'Z 9wH%7^"66d7W%\t%JIˑ|**,A7 V__Itx70(AV%%Lنea!HMq気pq^~FÇ t[ 8v-C82e,_(-.QKMx] 67/|՚3]Ѝۓn<$H@.v^h(L ~+㋳.cӚtoزk'Ci Z/3 _luogW+H/=-s=6sEf~>0\/K̓\cd;lpφɳG9/j|/[:>G=O_ho}%|s|+.7O&bk+xV'g~AѰiФ{xP^ c l\v*th47gt5^yT]2r rV8P}]:SMxlɥULڻЩPZ |šv{>C9ݧ_/~ܹ^O7*.Wl+N~`JQ.\inE1엙;5>_ۏWi$[Z@yt_MpwDLbة:%7}ݧǝW WP ѵNМsRxF8久ѩ8誟dV\ƧB`}9V:mTo*,ѣ\uF 5cN+ ( ͌3MɵL)_jC;^s:!UJ5x'({\sNk7h7~=7˘d5 Yk5Nc|%tģd1nN_~RDU+ G5{OE+f>[Tr=ZlSɚ\tЗ-G/Wv /;k%fI{D+x91L%śhE>h,[FK 8AI;B9kTkP%9|x[2蒼`k9gb*:֒XR|KfrS_S Ni⫵֚mys<`Ek9g|-赟yY7%ʝiE ) Id4O Mz?'OsYr0xh}X\W+ctӻ<+rG8|us}\Ҿjh%/NOywsŸ} 8`=["zƞSYvU;%Ƴ<XFCV"/Y+;3܎LH]qEnpuz\/ڧ +U) *S^MqѹQbSfx Њ>&TMl0p8`+nI a~ a; ~P}9 ÃѥOc5cD̝΢ep 5ܩiqAq|+- TcZpީ{OmoCϵ +Q) U d֞K,-!ٵNzsD ς9 &A \rUӍtW IZ#2 /YYm(j{FĘl}}&]@gIO&o ٲ3ĠߴAkt]6O,_=Y \d|cc=~m9cGo$J̳kA%Oҍh7o\>?:#cS@4gW^`gE=]|J~3֗=}c>rg7[?o,}3!lx7|W]WV `؀^p\_O\\ujWEÕm)_*s/[r9ѳ?525kSU0aS~$*gplSL#Y-0Ff򵎋q( 㫠 />([Ȣޕ,8%bZ:p-beSa;2^rZdJvM,Wq'ȊLU(2BoM XW"O;Ud :4m fK bƴh <l #秣(8_Q6c#VH{ ëx74-@VЩ/< #8 Bjl@W2t`1UhhoUP Ph&g'tǣE0dmT+[ܛ 葵`d."[oLJjU~SI^mQ'5 d/U7.7Jۦ(q4ZxX:ѿ~t,iJO8xEÕ=ѦCI$;Ћ-JAd> o?: Ƌ&6n%]%%"|&; . 2'J3Y/Xw'.9KX(O=-';a{%W#?$*\ӧOǕnyߒ\>|3zD}k<7\Ɏ_*uώ|lN|dF6n젯"$,|a z‡?:?ł옟B=^d}L=7VIG6#1?*>[馱9ͺ}}>ū^^*@ؕȈׯ_=n{2h/Ml%l_77|U+*l?cе >o,vd2G|)@b^ha <3>?gNp##Y"hnŞ$ѭb*gdSVa>WLzٵ=QC#{!gy{IVWs_F_]ٳSHp'hrZK7gr:8Q}ٜ{_)Mf +Kܷm>)4\rUVht`tZ]WE:n t5xU4ӁMz}Ci'^6X(/1*v*jD Rũ±SNIM4fN;e\\(^>CFv{sw}f'gXHM#[4TZv* b/h_Iubb$>$ƣVٵ1x2WϜ+2d^oY8dt_@fl ^/&nÅS[ vC@JLۜ>K[++8oS'^,]p`g?Ѝ=8 Z%llxjVdk8xh;ãxn6[d`S}x!{#hH5ObǓvo} :Atؑ,ͅݫoٱu?`\ɖ/ٱ||57%> l][~ǜç8gyKL͇[ǃWh?‡[l37&Y\{IζPѝOӥWjb1}]W?pd,$#Ϝ+q[.>F/eژK.vޫ3)؅Lb=ޮlhE>tӒ=-hc ׊Wr zc1=|ob{^+Qȃ:Tn&}b^{pѮ'$ >@NыxU@hMTjr-zot+DQ2ᙓK4؛&[zJow1R*(]'1Ni0+N+*)^#3}WE{$h7L& Ϫ<ӃĦUlM  Q&s)pDM"J!i!PRBޒQM0@/z hVycW(̕loZ7KQE/z{ZaNtoswœl&\2%x\mZH&zK_d3sWW VMB"`5СuOF TR r4_chOMJ8U2ƶ4[ٓx#gVVZ'qMM5st.lӏ>I' #l`LŬdt_lxgFٍL+r;" :;2W x=<+b\'&F\+l{v%_>5]//9/:Jdȃx̩W5YOIcY!G-yFK7-+ ^lPAŏ|W뒮/p=+7nU|N_%3Nٵk:]/x<#}ųdŇn-E!8 _;Y'l{~*U /4+[hio^z).+ { mACf+<k{G9l؞OGx^ك-Fy6+ޘJ_8䇯_&젡8~j/=SCM1 ˷hs;)7^uEqյSN).Oܔ;5;`P9X|\x5KM-^rS^vߜaߙ;`IzQu@WbT1;CC_~ǻǏho!)vck Wf g&\ lZQ*)!VNjx1>鯆_aBSi7^/'LD$+ÚI۷=ȝ &$hޞ _gBU3WSBOBY2>Oc7t+<9:=-R 9>>mEnő|X% Y] *X0- ]+~J,0lFkٹZ۰_1{4Bmѯ mcm6K&x\=]L7mm:}jɖ_o%8_C$KE:WBf>| ?KJ(V16DټY# ^/41N8ZhVгo,%·ā ײ|rW]IOt3\ CW\NE88şyzXozadJRKE rE/m|ӡ؇K^>';^ZBYߜF$[GsƏft?JNb _D">ï,UwrV/hϥF9%O/ 9mve3rZ?몁1^a". 5?ۀA#]mm4r-56CrhD.8rO7kĽa͇5]Wd@ Z({i&~d X5\VVtLfkmn2_7oU9x=C:]dƝ1+/"M6s_ G>z+#h-x#xэ]C'ב_}9:̗xF.pɳݽ<  ]vcN& ]讆bCHvt9?|N+Y%[K[D$ǖW7WѦ[/~Jk_kȊ9hPx%gBu_ OTī/ax VP+愈hc`/C%ǔL .Nr+D}^)NM wZТÁN6W<9`FnLbGLJ&T缜~ kb7Vd/AczЫE-WOo0ʙۀ caoq62BLO*f `Wp]#޺,68ICL2s-|ɟ_aCp d5SA2 Ά`J\m.w^os~JfGгA/u¶dh@֏GE9>ɀ/|<//:vl r|yfGsK5XaɃ'[[; IV?Lc%9o16k~}nLpKQq,ٵ%~@S?Wq&q{%Kzn]ь.3b0OS_~%j.BIG8xv'5rXlQ nI{B.KDQL4GtC?]B =)~Zoݥ++.VߩdqNb%x{ 'wÇl%Z%Hv"e|/b9a*Ф#䨘'W/?**<?sQA'?8hN㪘њ[-|~DŴyѦ[>cnzW44dz~3hQ!C*kz澸^O5h;D ߌNnujx~s=k`aӇҁV\B^m_s/Aߕ-w`c|LY+{ؾN/2~`}/`mCK=Ir6a^tӇ >I++YnZ.Jք=8^lX/S鱫=7dܻ۟VWU;]d/>} OdBdWqWcc]qq36@ϖN)yaM蛳ѵuyo%p%&@!S`.aL0GSoNU TpZo?~gq Z>m*^&xs]rn#S2C7/>U ~'i&п?Ɠ]8wŏ7DǃL-Dk:7^DoA~N>d/p1;VHCof1E_MDBȴ'&zKN*8"PVUF4H‰>澂$7\ DO}J$'o(yܗi쪑\hxhNux5|c%]Ɋ>{ǣ]p3 _KWMU?< G?n0?ϑORd\は h6 _>B^vI<:>a>7ESIFs <+nWb mf ]J`J(4 :%J5y'3Kk*$%% ?23oppk5OɖT?Z*ukin9W} &;5lٗtAWڧl,`_4;MGŋ+{b36;{гĞLRtG?gݛh99CVQhq2qq |0n-QAԉ>\B[1k%ؚ§=ll]"|xX a/I7cxTу>EF%lC^x.1/9mMh*v?|fy%YSvl !s>}f-ϳZq:Zo<ŞM5*_3oëe7k㋁dfc6"#Y_t7"\p..!c>Չ8t^%g0֚#^X g[?`̇٩=JL8hOѓWӟ!hO?«]S.o=2pJr7[r]4*M>OT94ȭކ h`\5N&r>0AW^-qن,RdSO%Ok\yЎorSX%gmƏON0ύ={v777wWWW&(glEg M8J+x;mvvƔ1iGK)''_+^6Z0&JA*>: Z0fE -l]߿=gr6aL$zQ<3_t@ao2L^̻`&7!@_@&콡iQq8|Ҽs: @HNNٓSrϏ\-rmW84B>d*Q+#/=Ȁ{ 5W.{3(ȡiVN&`؟Vd^p]KxۦxItRU үM7枭*\ /yJ@˵׶6 sx6kL6l9o̹1O4bmoJ"8k| /&|W!k/Jɝ:GWKPd;y n\Sr&"cSK|`YL.[$IKh/y^Ō%tz%Ï߹_`d h,NO_2!hb[hWl4bKd)LOc!, tK=B^%0c㮞.ݳEfB^kW$V6t+'10g~_%gq$9Zew^ 8JE>c.Kzhc Efs^"Ⱦ|s3:xwZ,DƺHԟ8tvI>Eq_ }v} Ck8GCX d'p]l]n=`9%#:ZM<xQ7'܃)tl.UL9 0bgsErtOĕlA\b1³T`/^d\bZ>k]_zj߰5\CL`4{|rsCfy/pd/wGrӯa5"%7̙ڣ3 ;v7~֝gzw>+{Z]}!ٺW}9'9f*( d0qedßn`pe]:FcLFQƷȸ ݿ:2I&DX9 Ex%ɨ6p 9خ„懽 Rb{ミ D(`jU<;m{`*%yɔ\Q: :*K>OA R]L: g^-L>ͮZd46x:Pq6%XR>|n#6TPX}m/29?km6*ؑ=^>C֧9`21?jmtNidwsiJ'Ilcy5%AWOst;[COWм-|򂥳([k<%E3s6+6 T2IȣY(9oZo)+E3;c ]ɉq67:|d<лwG <{.;r#-kp:*a?2&0+fh!~WҀoŢ 󄿹Ծ-J]+=n:ٲu y+;{Chtbrcʑla MgiUva{Sbo5p:+_֟7GsV,ѧ'_cF~ߺb?qe$_09,lI~-@?a][zU9">9J<]xUpvbT9o_K^Fh;};yc=|ʑ ls{[q8$G1 }~gBhً&7/pC63?bi]Gߵ&p4t7.Ngb|Lak==nMѣd*}&'ZWKۃUǫnL k/2rK BG"'I]590w㋕ր!'})iM&_'}1O1a^lWA'x7xGhe̼/+vaO5}NJԯq6g*En/ 9>V"=PW@;`0fAq̜W &SR.xSNTdLl[Q[xe炉7N&cp(RP[A.Y_^9gvEMS &SZ#Zuu+AFkL@&!H^×%FG#Z>W@,Wn)Yb U ܱy8F.ưh 6ɀ1,ko#C+]4N/ P.+=  >SrSfgI2;~ ^f3xõSQz2 ~Qr势srYJ@93/?(-F_E}S>U2>%hӁ%k抭asſب佄ŕt%NĞlˇvHE)l<Zh 潤M.n't_B@ o%PGҝ.'KDA\Xs|R[I7_ҍCֽ*FUv`GWkmܷ߻>t+yCfE,G5|KY0^VLQ%tן|ewCm󢏹2E{cDK1g|'2mqgYLSd(V;_^2q=駏5tk]dWzR̸R6rkiNkQaIkSSyL%ۊ<{O>ĦŐb :dk c1ȥȁFc^ӕ]?0ߚt5L+O\ձ~u"[;Q?㗽īN!GkoG_>쏶+[FF/!0vq5GE>[ Z:6mxW>D>$>]S'N ozԷoG S\)03a~ e<bLh !l, x#Gݿ: )Փ5Aheyi3'0a ̙qٳ##KѵQve1I F߱.O y2hI ُ#^dK8A=/pUP2Y<7|dL?k,QnJ1MV-TgO>@Rxh4 8`k 衝Ц_07^6zX++ƪ+G?[Ѧƀ:61K6D64C=6iC HfcmdG)9(*(!Zy;>6p^9/PmV%ғ/xY7)f4W!+(d39Kf'Ϳ؝>_z1}1|0WY%x0d7}6;FW-I vRԿK1ܗҁoP"b1&d$;^@|"5c5_uRX_bN=JСZGwOd}O)CVK(K@)7?oM+W/2׼!踚|Dd3/-*N_bǏg9їl k+l(!?h%{me}Mo:8}v/Ŏ&6p-ؓ\ bX_*dA/ .6{}KkʜǗwgkٳ5H?xGvuw/j=j+f/6nݒ5:]o/ i`UN/Ȕ\7-A^8ꧽ~ ʻ|XֆؓѪ5Oq>nԇ-ZKbv /[hi3{󨭵w9h77ֈا`,r=mNg{9K,r/@*^s/:`;.@mg${n}!)27}F-?G>eN{n͟AE8&B6q$h+? zG\}* ޿ @ '`<:FRGHѧ|Ɋk wc[dftdZO0,ΤAjo1>gBi7&3ӯ=!3w=.k&|9wohJF8v2']O\9/G ,i9$A? s[{FJF=ud"XxYdJIz,v R%CoW7%um2lQ{ H!mƑY^\R"'61]Aަb.J+Uܣh Dl-K餯qdk o*XIMr(ؿQ#ۙStJy^B=~{k\Ʈx#Pz҆Vy%bȘ]ܷ1WN B{K)Z]/3&ѥ5>Ѯxsb{<ٕM}躲 ezCX\{NW}Z cYu `#6ԧgebl.C4'Wim5of7_k}':_zщvFd]]d G rw^C~Op⣸ǣZ戎X t#yk__khܘ?Z Z}Qi >G|ZPt}lL<6=%>]_/y'sqi ȭw*+dCvhɹꃮ@}9Zr#X vjtƝWH>ŀNGnIL O2ίKGo@5YrȡGLM"WB'kI+Ø>qi80'ڀ^Nn82(tk1lI$9s_0E'@w5db:X}2aHEa?0hP %`/̝-V%Zd277[<Oc} Yu>|㏮4^ECnMri0C T@b @%+O|}Խ>XS#~1B:꣮,Jǣ\SBf,臇 ]JK[Fh^rlwvs>]ȡ3}zS'2%teGW>PEfsҋ +/hG6uOٌ% yt Kl !=gEle]r=`ȏgD/7>Yiݻ<gArT|5c\ڋ^&NC@>yoҿ??@'#.iteF|%4N:]}KɈ7y&oq\?q8~ƶ)rY{6a?z)1Hk1#{| z a_[>vzhӟ(}kM)੾hKV6v%>la Vߜ_Leze\=W{oT󌇱c!]nl{[遖B&XB8) ѝ̊uB'G~viu:k~ܰ >GACp9.lnx/on -7bI ;B"}9o =/ӿ2r[be͛7WWWlj->I>xNzvToD؝w%y0p0J sʈ<5xZ#;F 03 ӗAPD0-Sn-jM oo<'پ ?'b><{C JFz+:[ٴ2GkAo ";kcO9 ӿMXlm l=#8#HTG^Bc|"&k5y>0|1tlA*ad֩ql3\ɬ]P4 x x.p[@G'9JdAX1Tgؕe~Mm]ݞhWE:{%&lZc cZx#=z͑3_+}$2%yަ͵l$q[% ^ -v б7d@>t0%XKsqtBNߒ~ޤG䞝)# *dXON=JJ(%ib+ڨ5)Qo~j^i2ٜ.l =W~y*Q勁tc'w:6W{ɀF-w O&ծn/%@gO%Rg߱ *`A}iu1䟞d"Z-*ǕϿttm&u}ؠ=j K^0Ute/:xZ_NO(ya>{VI~l. YI!C(t*{_ot yĈr>wK+YSb <ʷ7gdS^\1tbӧ1ȑ> v3ɊSN[`HK'@h:5~JClNtA"{,ӍfdW  ѩ,4 쩏{^2>'ۑcLx?Qo6A'#4N&ưmΏfIciExn\ lu*8_0%C ,>ƴi 'lzFoj`+) ԓA`,G_<蔀Ndf D= E/xÝ lRD|.h+b lhk .0@ Mu-ڠɞMC@/>xӁ~gIk2_E_t=:A[Is<l~?l)jkE'lƋ bA_FF.]O $]/Yw~ 07G9؝|~(vϗeLyJpc>4?; _uJ6s5':kg=ۛWR/mȮ]J+>4_r2=%w}KlhSdbӹ5\LE-c;&AM7?HPUVw{yj6gkszh-k}^KT<||T|4G^:6I$վQؘrԉ,x?Е,|Ǽ}_(m;[٢ʕ^dыʑ2+甧f4WN_}Z3[>E֙>+F~c_^_gd[oljJw:zN6i>}@\?3}ʬ h:dW;ɦȭy@O}/L;s` )' ۷ A(40%}xxfPɱos5@3@`؀Y|8(Kr\{ve@;Ck,U,68QI&;ϞR08s^B^,}9n0% Vƫ[#g@5D$/0% *> UK<ٶiY_s%Itcg~ +>eǀ7|(OfݦaZd7 萵%椶%OK$ %Ƶ+=Wg\xfc|x |=َk3w?٦d"Si#ؾOm"6tJ ؑY:dl!q8/_D(l΍֭)k:H:Ȟ5Z976_XW|3lV@Pu闤Nl6yI3hK2ֺkθ@],Sʦ^%x'jCտ9o a"W'0j+d I׀a'x6xq|Jㇾk`9a!68x~Z%]뤭颍,Ɵ?z%J _1N!3% i'udg غl\٧9_E'~~nlS d=ع_}ٍ\{kH;SWt+o37wlG_e}⤾Ži@1gnrl&[o=ߠ#Hm7ecٞxկXFqK;'2{>91't \joǟslZ>Z18 nE/1>d?[́uss~3+a|M=`+ ֐Wܴ6N-O⋇/Zxa=ݒE[k 0<>hNgqE2g;*&XuS0dя ~yo  }{R\* 鞽.NyQҩ.@gJ2AP)X<;~$+ I,'S(d.^4V>  Q _aH&>J&8葽MA=F̕ĚȀpv / {6 삏g|hـgsIrPT`x>smm 0q6%dA_p%~@c-~6PKvWPi'?qɢ.']f ᱛt/Wʒ3qmj%֝d%-Hx[C+Y?sj7y'#k|A Lmxj'o/g̱v!gIZzJ_N CBK&G/7=O3DI?ud'4$ 85g^]>jD|IRH7%BvG`I:}Țkv3Sxْo7,r [E+C+ߤ[@"3Ǘ<%fJ K,=Kzʳ%^1]^X^q_ɷǞ6Ńx?3YWLץKo|JSɕjލX<З*l"ZB'S%$hA/٣k{[-1&[}]&Ȣ`Ţt3ɕ T*ag2XxX|er&Gs_o: Zߛ7+?s' 2#ۛx #5`B6@=t25^{kht%WX5|(}+ҟic:rn}Q?sU7Ytc _CS?k4 _+!+]rYouyNl/G#!Kkۚj:<^|셷:׾]~6`gԇC } 0-Տ\wnɍ] o.{TvHHքk9!~o#C{qe=آ/|0<׫x;-ƧebS{ ` %4.>)0`or߽{w|_oH/|o\X_N3om]C@*p_2.鞀_c=1 j-:`{Sdۇ~ Wc:7&=v2vxe e3l7ZXdCM}M:W6~o"CE霺N;ȹl`4^Pt-p>k#wpNN d0xp^D(L/P:tQ[AiE{,X/I<Ͼrh\K^з=(Q0ia?Yz(E-p+xE 'XY\_{N@옒NKxg~m_uæN/hgkR: df<׆Cgm2a>^J>̋8E|tm_6Tv<3W2$}t'P60, +?":m6=z.Mʲg/kȁgfͱk O/tQ !'O<*#WI1o`?6)q6F[I4ށ7$WI^sJ56/b֍mdơZߺ#;]C]JVҞӽ1t4G}~I1TCҫB&4Jۗ xClq6e-}h6/[rgcgܓa}jG֕>kS<\9S>lb)[(G{E#Y[v xOD??ymd,>,@C;[t&"/q_Hls{|)Ǝiu,Sz!_?;:V;DC_M!~+xeYۿ5^آWtF~꾼 G_cJ9i6)Жx/em?ƅ ^sO4*-veևMuFƘ-P/^>Njׯ ; U4HW}}W]oq28FC_&h)3-o p-"/Txu헛oݣ/r`}nB z 4ZJ E^ f-CpPWZx׷s@{Z }`<}^82T;"Sٕ<{-łX(hX(..`Bpq%7:5ӘH(РIfz SJF}4@_;&CrK-E+:@pqMeqtչIiA.i6xxӜ477h%9JѮ~\_6P/p%zyEqI<_TOlPBd}ɯ1s d+^>E{_(3n"4\FqʒMoQclFF}WD6_^5S6[K%|T!wD$XQOf1][tvd+i+Y:kU_<%VLbd2e%:$_ʸ^ebYkڕ>],Az.9#zxkSK,f@Nnݷc|6gsn|A`n>J|Y e#:oׅҚɧJ\kȪ]:$/_祓zoZ%K򎞹(6]c {K_c֫9p˘VN.:؟V4)%@N"{G1^5Z/({O\aŤîT[=U).GrɞbRLh_&wKOWS`_@/ ed)pmg՘rsry+;L+^@.`t%Ƅ/*5XS0G} ø'ٴw@U S:/^P,_un,VE/@zͮgkXh!Na19# XscLUt?*]D`p@U{y"35i<hoAE; x-~- E6rXNL[Tm19: (܀8/X鄶El#( Q;hz55'PSPzmC ڮ^W6F\B'K'2' /`+ɺƢmP6㴳#ӣͬMCMmA6^66赑fk:цiso-u-!* CIq}잍|8TbTR殍K)VoѺ:vo޺1tW%w]t+ǯ@O}Hƒqz'%鯟Bg>GIJͣщ݌c#@/ȯ]‹y;}JK2rwJ hhmϯKFIF<P4m'>ƕ<7Gn7/ͥq%xHv>K[]McbԚH ^~4!D}K}׍?ٖdnY?o21N kKV|Qϥk_6[ E6?%4yUkA]ң"kzgCEFcUԡUY5F/2-J&oņz~S% :Vڲ!Ӽ9"S~5Z..N.ƤgW%)^7V'v[X;/Gk8F@Q^dhK6m_%W>wM괗'(lO1#=ԗ[nhׯI8P.G:yEOE=IM1=}'wP) \; T|11w ;pX+_˫ D5L^L=WY[6QǞe_OK }}o~Mϟ??N|ݿzv@wG+f2V;>)0\tzޞ$=FR:Pk9<diBM %O?c 4#+Kݛhom:UGpL9v -P¶H-&mh^hHo-:\웣ކ x%<9>BW)Jҩʒ[Tz'z>R ӓ\]A3̀vVX Gגϛ[JYU Dƫ=G~yBvi*yKVK/ C?ߺѮflPn23J yxwͺ7,%MƢK@ֻkPO/%9(y%heysOɰB0nnj1%ͱDXq5_,%_ rsI6r?zk٠1{gn8 6wk l0ldaY⹘GҼ_"gɑo5"6Pv5o访x|i77h(]=s@W{am7d^n򜭋EЖoء8Q^O_|N4k'G1'9) z}]v}g6d.˟.n>Mk5;7[AvQ9.E 7d3NnsV^':Nt:m>]͡{%᥯x?T6.{4gl|C^{`w(bltNhg/ٸU~' S[{|WǞzVxz9@Ɛt-@W0_\pNW}O.@"p׉/>_ ~n l3\tg8wٿ-X]À(@qhӞSS0Y_,ilGNU?2gJ'>w<)F9Wo-\&䢏psTy?0ѝ9}bo9gXz3/~DsꂀE|82zv4OA=z ++'Yur㣿G*YsV'6g=\$0+ƒM[@FLxS_ρ^ԆdoS/FR)*il*ih~ڳI[fl 2t"ZGڬJUDK:Խ&B=%W,(9l$';d7_l_tRc|ѼC{H%X+% d$Ƹ {k39J|ϴKJ7A.sO6vfć^XGvIA3[>⟟ 6k@\~sz?F;Tȿt6zΎJlMg߀U@6OQ|?fwWz@G: {Uc'kTzkÊ?k6nMk/tgɽ=Ú.vh=C=\.KhCoqɼIDAT˚i3.hK@L7/Uhvqm]6yQh7jr}`MskC>SH|Ňr Z!|ޘ^Eu޼ggWؘ)?#}[oFU}g;+Wg5<uP,\n7XXQR1N[KxQ^׋lk|_>]G ˜ %=4pLtvZ]]\3tT:݂wxqA|Vk+ ^;''5}_ 7Џo*|'@'g Dgk@NbRw,wr g 5' jl~+:hvD\`Եtΐ7Q&Ѥ qu|#go9'H͵76 BD_ tJ]{+f 89o5I Hd;;c= D *h#`)׵ uj,y@ l[84ς o Te֎?ےypw7>]J5dKۇR{Ѻi?Hp7dC =^f5NKt=Ûk4Jޭ}rmcXu>6SoL6G{sjNХ~镏I_s:4`NM>d8t|)9Эf}ڼ-OlvlxzgRYɇw -u+xzFy4r-/>'ZLڊ! <fvUަxccޑobv~]OUb@vgryn 7[,[g}C1E>%Shw-6Oy^pL7d'mDhʁGkR[VʡF|%Ay[ #įYq/FS6y!TF 7,^Pos W@+Тo/4ɯOR:)GO>gs>0VӧoM}:ES@50_~F'G$ZxU'ӊgsGM6gi0fc], G7.9^ ϬX2i1z9,'H-XآGƾ#bze,:xlX}Scjj芶h@JGO{`9P_}At zd (%O K&JC <ڰ6vcԹ=_tSvi@2Yw؍E Ml=l6r?W}ܗ{n8f+|lx/G~GGK$ڭ\ %%eT;;lڬ{ d#=Y͡g2i/ݚ4sP^,ڋ;VtUs]fsx^ߌWz6i[UV|~UGbƾC,tǓJ>e+i.ܷ^[O~qD^|"[?;ɋN/Gho]Wçؿ}ڳg!'o󪮼&^xzhO)VtO$6/?l.̮d˨tRjr\"]\^OZ)G $gO'ީFv <+7^߀ҁNhl #J`su܀m9<'`ɯ04 pS{mN` 7[όi@ϑT ׯOpZ u @Ii>i@4_?b^}}]p܉ i߱|āaݽN769uΥMz\2ٸp6@?BW@S LLv61-{ 'h'rK/C]r_@* ȞJ&;u_RUDkJČ Iէ&y!/fNhg~Usޗ+t2<+('Ȉ?b5[~@_Kӏ=5]In'w_ M)lC*v'q2Q,-FmB\։{ ;:%ٽ~P` >d"K z` [PWCGP[j6EYLr"J.kѾڍm'+4}m>?[ohk#5 Vs8a3rt~hdD_@j?ݳṐkcx8h,KrAblM]BIy69Z#N߾<.Cه\rq1y6oU}8|N*'B;[5JՇ;OIi6&x}rr|NYSEʱ {k{~uo{z bhtW^Yލzw)pُTi \=p?~n?Mo3+YuGNC0Z #b~~` &Y{cMZ /mi~&{o?~p66Rgz9s~CV+li h zl][g2۵SgյL/2 "do($/ LJo\bS OAgQ@F=Q0hڒVmշ@N6b<,̣^j(zV fק M{0hڦ mƕijGWP[r<毴iK|$%e68HJ"ȉ>tֽȱt-+G f%Wѥ^HJω^I&/WBVsmJK?е֯8hr6esɖɺznl_kYJx$Z;w2d\ $<^ɮ1b_qÜ-U-~'=qlVҚhQ_vdxG7Wɶ_I^>v<':@R[aAzD \0"׷ió|>^/. XF萰OCz3tk_׻Pu`%wO1@k'/C@1` PP5FǮwf?f0o r'x>T OX^jX'}N[ϽU脶wPՏjqOV7&bN5穠9қPNV`s2:.J _S7NNK|d|Ƞ{%\\YP63;*aBt>ڤYtڰeia}xIM֞Mf Z@ub7)WBG +;TЬOpDO-~B4nP;7Eai8)hUJ'a#7M_*];_@VtphsfP˝WJc̹Uz}}}F/7vt%ClH,Ni:y@7݀%R#sg' 2t y'DE,t9+ wLOtMnq~bn9Nb-=(Z>r:9!ۆ@lA7h-{WBW:h[D&D},xjA@ $G7mhކK6/%P,E6M h?su-6ÁLna4^qt^ɶ']OJa5f@gE]VSW_VfԀdIE>9 z~QԶ~_l@tSSt[9yA(6ќ2b?{?cYt@Ԥ7 ]1UߩWEBg| t6aΓc礞9q0p>bq9E5E [e ע@-"<{㓣B) # Zx-"#hx.2p襃 ^spZK>mhlby˞J2-gh%onfݣ4.}:C^z}]*xO>mȽ 0Dnٙ/m@mڌӎV@ ~nurp1IABI-Y:JNQvt$r%*لQiJÆ5+1?^76̭:64~eq4+亖ԧyJpT}:~%JIz` M?cn ?o߾8L Hw" `߿?xsRgr#]`gmݲ1oc г5Uh~:{}:.6b6e@hutx6o)֦l{_oM]qiu2xtg֡tP)K8S kxZɨTΕQɠ:JT|39tNh r5W= )p\}Z{_f]˖l⒒5=mn=Yv.>t7Θh.@oO ?Izȟ]2+klU.xѷ{GVazzV)r/9s>OGb_oy+P_.u0脗k@Y@. X h&Ctʫ ׽[_4#{'uG8mᣰR^PƶꇥW_x\ؿQRGI| *F}ތ_zv/Zϯ3TF9SZšz+/h)oW#}`vt woT,$pnaiHkz#"i1Cs̝K?Z8`Fтw٘H[M 2:3+@)z&Ko)^}.Xӗq[SP  m2A(voq+8r[]Lj4X=ƢaC7&>^2a͗ن]w hML3ɍ͹f;rGƥch|ɑ-+)ꤐ﵁qrc\Ʌ}J⴫?'}%%M'R>%ZJJȧ?[l8뇍~z7'lkCeKJ y*-YM $n6({h+9ǜK<)*Øb?KOɁrgڋw9{W{Y{~I+`Jڊby螟wʾJ9Osd@B=c[,` 8%{%Û֔U`iT?:s{-߮>e:}m/QK鬟>z=~и/fW43K=` WI7<ehA+ֱk4{.+ N7v4XX}wll:(_(}K@Wq}ܑqbj믽5&]sƭitѿG_u/hkּ6x)#WzƔ0?C>UlѾuQ3=1@zƑSr@g]91ˮ7˭ \SWBsws}U]/-ǎRH>q%g8+߲\u_klc\:=aOI`@3jSirܯCVfl*Ѝ0>i\;6)eO}@w l~?]0Y2#yt6~ v:+'6 9Y\Y;=]vxm `Vzc'qք#l1७gm9] Rɛq@ [ea$gg޺YNIz.ۭaٽ> h jCC;]jW t诔&kC j7v &_?؂H[M. d7y16:]Ɂ%^v8oTr_ƙ 䔄eJVEx аF +A';&kP߱lN|>4֕|NU)(+.+q7>p#?[VJJ;JGzX3i6rG^V-#3Mޒd|ٿDM4vIvϷ%Nl1:=П}ȟü%ӣG{Eh>O<zſ%TNA˽Lkao( gKn/1&ZkB\+[d/u`^A4Z6˧xGCĚ;'x#9rɟxPA]bS>),pҜOc".Y]6xTLO&ft;o\ksecLJ >{y<͕h +f4Xṗ,;3ɶ~Z|BӧOK_gD[=|{QbQv#W-ş<;)l)"W [ 5l{iUbrlkZ=tȭ)_kmY]/E&>ơa{}: `bb45.Y'p~us:A'n*Ak~^ͮ(o 0V)p? ݰz8& V) .j׷b>o%l[;Z;! dw0k, X0No]xKs0V09poD՛}r М6Gp9zhقT[]|JoZzǕ)8늞v2ØX S_ cZɑ k`9߂}Fڸ (8l>ɌFk66+SAѧO @g3PV"Nr%K{oAoN&6]Z=^'<{!f<%hJ(6P'iƍw@N2@oO_ O D Rm:ؒDtlE] JQ17v`ѧS=Bvr5 د5g,>%ͩD2_ @ >|ٳgwϮ- Ve kp*ט _`ڿ"Tb:uӧOoYf6!9)kt3[)ys&^l駍 E9ַ=TvtOt30i1&һϒNyO|1=S q=rlud7hsNM>ҙ]rn{ڛΦ?ՓW?2r, ( lOo}\-gR7gƸfWlٵD'Q@M`zkH][|hA9ɀ66q` ɤO`٦3\ c%NQ߸S գO7r6w3k&wؘɑ|ȀFOYXcӧxKKKJ$-ٺ1ޗ#fLIQg}2IJ{<[M|KҩM%1>)v>wגD~bKK Eh6T~$gӒtu}WSK7!؊}m %셮6{+p{sssɲ}P|nH~ tـlc?1+Fv8'~8}ZrEC1.}..95w2^zIAgnܳy`{O]>@Q]bq,|d3 Zw^:9mŎ|wy'rJǴkSڣ?WXP)7U%筓~|}Ɛ˚/K>Y{ sk x>Yj}2g`flɮN/ gųFŘSu_fB@~ d\9}[{^{ku<=鑜ZSk6ԆV{YX{$.T^@lkW>hG[>Lbͅ I*M.@5=ܓ>%6Q2N;*'>a+|<ӁU2v$ӱ%& v| hѳ\8`ݓ^tj<ea;zu}T:.BoSkSNC㽹:i/܏g0i9Em}Rݧ^9piv 2L8i+E:$dÑPFi' YVth`24!& pD`KƑ ΀90' p[p_!?[iX2aR=LWpomSr͸ޢF8skE7/ӓ<~&_ւV`;Iq7AA* .WisA/g{:S'#qdOD>Ox`ǮƐ3ϊsh 3'dw>E27W)yqԨ/YsPh?-ßʯ.hl'':X?@$[/l(~j_\xғ>{lgtTOia|\? $[vԇ-/NؒĪA/u=fR}j 5>dru)ҫ~^ٞl.}&'[~< 9}4)GGFO_s>YvBv kmto:P/Cva,-鋾5HNcI7bn-ŏOh荏vxyMAkL;p 0Ixij{CVk-YA̯9kxn=ONz tjd0L9,wB DI,~N ]l{e"dv›YX ˆgNPɩ_m^q?h 20Y8@rnw;pKvq vŽ>h^[Nv8Q?:(u՗Nmd4vKcҏ`#y4%㔂ע7.Ȥ՟Nm׉~<}`dyoA؊Mtf_q4UoȐMC )~@B8vN2tc%ld5I܂b'OtE_]}.貃1sEdR} ( vV["cgcI 9$[b}ٚ>ML|Eص}Uhc7Z3lI6JZ\}.!vdg垭}&d :AdGI^!M%,Yӷ. 7+)z7)bPg }=# zƱ:iz28siI!}bLWz @u[MkmoC.9lLւsŚWh` kW||e@lJin'R6TѶ[;s\Soj?WE >ϴї2{9J>Aoyu|lUƊ*KϵZѧCJ<ڔ4v./tS&v䤿6(W_ ?p2X#'k6.NglӼUZ?d{r:0MdU\NZ SysgMUĸbns* cF;MS~,>iۏU Pwz T,vā^נ r k3px 3'C .`ų#XH(Ч::L3𛣡MF7Hx8ie;|L`}KiSXvQ03$2^*93]%nZs4kSҎ& XM^KZ(@=: 7dشi@voՑɧ/WvU92L<i' ڔhO!(ݢMZIm-Kz3+{x\O=^<-#m(tNI%}I 75lEN4g[ɞ%td#d,O7{;ZKP؝آѭ4Vu<׆lKDūx+cS>ޜ?PΘ3 {m3c(ZI>N|@P~M\cgZX:EgDȊ]MO:NxJQ?1X^d%vDWt.cɥL\DߺAn1+lݚiMe?v'8?{q7΍u eKu4L_S_/[4K8 /p=>bxڦ1;, 'lN)#C b3:w% z+fC2G_KS ,hz]O.Ew|2,E Ot<&Aq(}Q4R`dٶpmim>ڳ>ڳU:'tԏm?+_-oj7Sɡ~joyM?7֭/b\?St-AcE'U`ڜ&{ήm$#y85@m"X+iƌ}u ?ͯ [sXLЯ\4a3_c}ANf1Ɛgᣍ>ᩰis }r]ؚN:m©/oQo iOO\\ghk^ n<>k1҉kW6; ן-vQ$ ub9u{jc~-I^헡^u2@ ̘}28Y1*ZGIDI!'c'Ϡ:1S3>GCD= h3ѝ`-I#d(@ E]EFNρT:m$.4rpzJV˄d,prɉzZLdA ]j<{? zVX 2Ao-xN1yKrl8 ͌#,ƃ} ?Cd3QB,яɨxtRma9Ъ ԗE<9GmkC lfCOh[* s%%p}F?0(?"DSkN#tِ.ټm6'|T=^}#y2fȦQ4!C~RW2XM1'hKdJBk1'm>67 Qz4ge0htv:P2ޘKwrM>mɭՉT{kMD -aK̩ƍ<(@X01kN[?"~֘~DdCl4}YK{]F6_%t`[;C̑6Jy mmãզv'?icx^iZ2S?2xΗ5smGY>G<3(7^Şr y0@ClΩkh&{ug| 6u 9k7_|1/:zŋAxhCfsG6N%CSk؁+ğZK}.&Na^+:Y WZc%ѥ&6POs>B>k'9oq~_I7";82xNbvy9]ٛ6ZڔWڱ5ԕLgИ-24ڴq:9:Q~ 27oƖ~xyYFgs!kIkG<Xr EoLVΩ%g"V56?^lf=ҿQ ;zmȡx7 4|cא'[&;j+3Fk:'2QN&p6@i'@W,:/aI׉ _ kshgzNxJ"8NP?e h#/Os* ,HH%$tbp_#CY0)2Hn n;VO@}906w˙9Gn# 5&.9t՞7ADP?򶨺׏;q 6rNې9T"Nw%xHq_P/ ?{uQ@^]ɼd!Ӌ<Ɛ%8l,`c KjVB]+f _\PV %S3Q]ېhoFMs2h(OAuT' /`$ J}3sؔ`1==C˗CW9tdk'?1:?@4_ؾ|vف`+2Г|n~mɒXNwgoks+֋x~mj?Cl7Jz؇җ\̼h܌*Nysk[Qs •M̀1H1UbޡGހ]kE;TRlJ_tc[NvoV{rvNAh { `s-Ɍ6hioRq5 LFUsL6a󀜢rЍc|E==շ^5ft +mfNs+5g]v}@17>dnyOo!rɗ&?3Yg`'O?SKڠla1EsMz2`n>3+^XP!+>7AM&{db/?@CYnLIft,5Yexb6F'xw}?ɉ.9K kR=_(<{S﹁ 0dm@-LM$6״HNJz Z]q['Y왳{ 3崍R?q4}q!k91A&=MN'ZRbf'rd{LGdWgb0t@-8!|`tFtxF&Y@S{m M r }'%l{4>3G|%zvk^؍/h2GEE_[ƣ,\;cbZ0ZɋK*$PTgL34#l*YMyfKƔhH۝,ᨴs^bPr&ƈlJd$K鈦j~PaWmk QէDmĖtشsk~?.<ƃW׆͛w"k=pzA_ 2m̟+]M>;*ڷWv.]kVz A6%KVɪy7?</4]4 pj㊮~>V|'݌}x)?rկ*x&qjުӞ<侵9X/'zqCrv+>@6*}cz3Z?"=)tZLe9>uP$jk|F:].WY Rt1΁Uy/FE‰cgU|CW'AZNlv)O=6`4 ^7fA~ɹ6 c |r&@-@$Y[<%m\FFK!~-8 dé>-b6/3HMA  р,3x 8nGC-&^6I";0㋮A?e46) r^GYXli+NIENΑK=iʸSҤƫmE$Phi>HAn|I@diJVZ `EmA͒cVM:w\A$.vLm#;#ނ:¤?=퓑%yy?r1[hA‹t ]]z߂XEB>mǓ, 3},[~g(/9:]ez<7Ɖ!i ppk,mXxl57Nג+JWz/9k3Dߒau"kchl)U YӷF;uysZLC_ߓkɵ&9yr_|_ϊMeS(&DV^elcٌ6\ p3P6}Cv +c:G^wǏO,Ʀ HW6ϗ's~ߛfoq2g ӻd^ؗ`/>kv%%xᫎ,ii^񋯵wB6nN@6m]ٝ Z/)h e6seڱK'o )ٔL;[숞aSWr!~Ƹof34k{F>m\5—>[u:WE[{:couO~撩9A׹1'Wu^ *u&OOu DdBύ~xk9N֧rщW%k_o]>g\Pǣ NJ1WY,huV.lԗOif<^r6, ϜߖCnrr8 L&a5l^(3Hu3gɍY:LΚS~/ -= #m0B ^L0\D( 0g Ofv&kX]ܞ ]If q(A ~d 1vol c/d:mԏb;]G@*4Kԓݔ\ ڰCɡ x>/2+@N"Eߒ̇@1^A/yzj["tEK*/ևtV^t[.~ysR{J xGg|_[ Jک[?*O4UR_%%%mKz7JI*?o1վDS*Yڞ;6'S>gCk7?18Yb\Il `0:ޠNeoP:{nzBr{F>+)g }ə|ƓTkLJQ}@tzr5뇫| boakf߫m A@qxx7' 틍3(Ÿ}1n$uڠA&/vחy^˸Oz_MZ]~cM6Wzh?0J/bNjNg|fk#^ڤ[)}: ȯmY@v, =3v\߀d`7}-?Q'}DdE/`GG>?h+y^j/[9H>znrdSyfm9%+ǡ?Mx}r+a}~|`0( j?tJ:H W^vi 0)2 Wʠ,^@fI`,xa@^'cTLu@0-,P׏q9Wk 3&R{djwt]}ȫЅ̲҇bҁWq$ ]N?]{g[G[6x%k>lkhtgovf3voWP+hv'@JFF#XXoorҵz-%do!?괳8 4[7.+➝<ǃ -d-^t~ ]DV`g14KJ:Zdk9dK>/Q*a1>|ϑ$g FؚOƚxp-a*IG~ٝ'Z)Q.uɨmYR䪍9M!cWҧoo,Qo)ԆA yc/!NHuc% Χ@bgũj!JG=/͇8j_r=>SF6dC#A[v>Fs~!^kIdXGl닍bkSas 66=6=k=F%N57SxY`m@ȇo<+n4Zo- 9XzQP~mjf1#htY=x_qD<lN16mxL~ߵ@m=ǧ (g~c%y[cu8K>gC>Pj=ß|==G>)16}hQ b.P#S%~l]z.k[G>J-ϿcB?f^Zg@YZ|6i_]d/պ-OoNt(Xg)i *U>{NN-_t*nȍri@_|5QL(Gaj\tr dgma/m٩>A6~w;T>fm.B+u@3W DSàׂ U tF^(`btM9e?dUrS[ϝXN4#d|Ww~ +Ԛ\ 07p9 GN^x׏V78D?mɀ?ԗ7U_D]t'm3\0{ւ*(xFpQ{rЛ焪]vAc L]Qv%Q-lZPm/\٩Ş9֝zwyl~xgI>1mQ"CwI&y,-}mAi$+ڮ%gՒVgIE}a-p=[8rq%hjߢ.0&5:9=qg~kM_Z^u1߳wɥ kW76?hdl}|uIzƶL1jA&?٦(sϜyxnSX8IͻyW?z~]_ϗvm('P@w}4վP-y2ﷶ9?fNzP$byr_,ϟ>[>Xյϓod?_}{߹9 -Tq˗mn]^ve]ˑCGquxY1ms>/ )tΗ2,@Gs7 F .Z€$~|3Wq\< hb>emq@;Ys=Yq3}Xmb_b]:V=:O^PcxWwVئfs:rظ!YV~THgY~`T,/whrOmf騮lآk$cc]c=07\7gvWq3}cu|:3?'~ѯ9/ӎϳi UGgMsE}h {g<:5f"kwm,p;YYk62FC\N4Bka5@^Gv]5_ۀ6=X@z +3foIųpR'tȯep\kůLgZ>]؆.hv& ;hhP]wtPe1HڲUNAqEiL@ . $;&89uk|| @69do*ӌ |;u`L? exBIl'&Ә A6l/0ym r&[?{R{rͧ ɫm S vghIX1odQuiac,UA'Hbl}&o Eɓq20o, ?kw2%a%v/$7y=>/IOV@y #G/ˁ7>Ow6S/k+ƭAwyBsGB,\ʫb%eɀݻ^g|6;w$^t,N%ۀ!ɣ o^7+}67>'=jz~ ޽' _l}gn&0ʼn;^pzb?._|y>{tus˧G8Q^OIkyQ>ty9u{מ c@]]k+_G=Kk1 m~h_ϚڛK5Ƕb?WGF̝6JDOX8@3}}Ac@gӁ.Ct39m.}vt6N+ltlVС{(x]X4dkrO>1<,B4շHh-"y(/x@OuӣBb*zƲB| Cvvl~ʞmR&mހi.O$魍/1o1q,*=FG~>Wg6FNG4Ч]l+'_yXj\T/Wurk|,,CMc'{;NNoŶZDx&"OM9/ǛlSr[/F}yʙSܤa0ፙ\*`ugCzOj(Cw` C__ux ^*@T+M ĈNx+WICkG#2TC: >1,.@4C儌}[x9:d"`Lr|Nza,Z6\B,h`C_Ƙ^59=  llHt #Xxs:1n TL;9^#R2sLivڮh&wytBS8̖1a4W]鈯"а3Jcz=Y_"R` Xꌉ:䊽FG;dD 6#>B[AMr,xҗ`KveMIG}hZIVv*9jvPhȪHXذs jgƉNU|fغ ƈѕh;ʖ/ygbhW\쯏% %?sH_sˏ-2Gx z:u;d _tK?`ɠcv$'toڵ;qv2}gCN##YN&b]5d+zv >^\N;u+M&Gt7V $RIdKK`;}ڤ~ fb?zpyr?~dsҭ?\q ՛7'şvM>WZb-6ӓOl:˿3}vS6􌣾v5ٌ\B/Ş+]G/c[Iͽ0UYUcZ՚^m@ _+ K<?2t &*ZsPVtNdSl~Tl<d,G؀+Etn]!/4l/cws1з[/@EH6:^ȿ)uq>k=UpLO&1h૝ H܆jg~ךJvo '1@Hп ڳQFum п5ø5ag߀pq/YH蕇)udk ]fJv:ؚhWbAg<kdqh yԅ*| g-[Pz^^Bu[ގ+=عm.,C.v vV:ﹼQvJ5a8WW'@:jrqL=-F]r-) QD JAN^HꄓN` r6cW2s@vxyx^˱M?fE~i` F'AWԻD1`٠s;h(t!3{<ƘFy::%\+ K5,صIGAĤ6q<܆?D3Ɍ:U0a6.Z784+JJ} .[|Ƃ"+ۣm }.A!3 lېMC[=>V+9Џ~d, hCdj¿$]{؆LKmŧݒz?yjFS]w5^[h8_\>wfsǣGg?\o]$>D'?[+)09=sxeCPḰR` d%^6hzE<T ;N<%f6Fw5~m(mkZ~Onz!I($7Iן7_.'d7'NQd?X{v_ >`솖7͎mFȇX[jsWOfCI~|9㹹G*|P҆E4Z%kgmɵv杫dvc %Oc㇗Kb>{3[d>ȟWG4='[m%n=!#q ),ҿ%;9zd_/l(5oөk.j__k595 }K@?r؇@7N7vMgh[WKb))*i gv3؋xggS;zlh7 ܚ'=]ܺ~hltǸӼѮ6|lZrT퍙+`V+m6^n@fԣ M\=з;)%+h6'،=c+\Tz3lk [r$}_|}y{0LP_0BU;ӾC?4oRpl%#ĠWXl?rk 6H(zhDG9/ KQ 8I5Pq" Kdϰ#X6@ ]a z v$ֽtӓo|N¦.}=j@-)G~1Ɉ3ڡMsI>Z0ѷ䎝~~6ktVmsd:`I/j/Т-ؑ gb] R&9Ա;zSA`f$ ~]dОԳ!W>9/E?W raCh~E!hd+S]rQAXRYң=V@Cvo!cOjlS)ȹQ\@R^2f|.Vc% F֖W|0CnGSgg[6fK^yKws8];q+A-abGϞ9=ʹμ}uF8w|vSG+XzėΟ]}?˩a3 7[ܒldux''Nm^k'`Md9Z>^#NWE~ Fʎ_}9>lڡ} ]w\Or6Fzц%^%wtZO'MrѠ `G#6r3L{Չqm.d(wes:mc#iO9v֢ƹ<ڢC&}`!zص|- 3C/ 3HkhY IB5@;a!?9!^ rpl|9v;51x-Fh >hkg@ (96F5a"#g43*cH]\ϸ3饘8bO>QjQi/СEF>Jm%0qXKK@J%?vUկD0\%lSV|)ZT=o 6[[!0 Y tRWpcCh@s_2էDA{2B'O;U<O&9mJ2\Wue\Kl"YhȣJX) ~Z-WɀlڂN&E_'zv"[o}$1mtN?@Ϯ[@O,{w>^WcG/'^{ (=J=L\:{ 헊{ez<{tyQ>s2:-7߬7)W?+_=Fv `LK?I 4(V/;Hx6w0QP 0/_n^g֖}Nي~_//G1a1+K:'{E6zɥ ;w%c#o`m'=oSKֈݞ7_ $=o~u*Lt S{bgmȖLtAOMcx?[ghN6 <)610x[nivl$3JslVaMksmn1L]I:w͎?;|lŅb;Rzxc6mZW,O?ZM5&hM!_zuۣJm\@S pjglfl,|2=ZPM5WfK!z>j&(N5m[NtIחf|}帾xr]rުk7o׋S^=>o^q%!ȗKM`hoAs߽\pqk9yXѨ651~@n^N?N}&{՛+|(~ W.Kfx{؋ڜ6VrKb|ۦ!&vW[<߮%U`W<=չzMhHWsnϤB?o nɋfku1^.]c121;~tզ''Ka5ٵX'?eGƝUŽmM?ҷt{Tn?0;<=#Ϣ tZGk2[yuS,/mmS_r0_r]|~!DK;W2ms-dӾ6i ~7;UNrh}'ɩ8Le Iƀ`鸼י{)sg%D]~/K/kǁw0|]迣w9 fr7P^;q*9|,߻,$p&8 3?zik8~kv%;~U}Vw:}mWLC[sDz @>k;-m K^?t59dijNg[4pf aB{Ώ^]i}+Xh m9.}oȍ>~C]rd4(4Yx솖s&@cCG:e:6R㥞LtO.cY@^,pAzo^(]ɂBb9-< :}iaeS I3%@@0|ngD Z4$"[ SW>cN3?,lM[Z[g6l-v0+˹+&7n/w>Yn[A܃/B?qjGx;0 >%-ӽ+YP?Lh|3%% LN_^篗OWlM0=\n^㽻\`($o?8ŗB6k>=8][_s&|3}`+%@o ~%Sn\N\3gG9~7gWl^dSs̏G;=$<۳5~$믖l/`A#:҆{gsȺWwCؽg쓞/G{4n wh\ULE/Цyʼn6=riEŸ楱Շ#O|<믐LVk]~zo7ۡA.Yx&CK=~F}C G )|'ͧ6Womh^%>J~sOc֚M& ʡZ7Iq<{dwvCxoyf [/x3zJ6ڠ6yk=zyh4ɞ&ڒ݆Cta>-$@rcMoJkD}:xs`q)6ңޚ_1,TrhW{u 4|v>k/^r+xW]Zڻ'6ay?յ{+/*{cxӛ`TubnDY`юk?nޫjoLX= W‡w} ]{E"VbmaL]jC:=Y6:П C޾C;@&쪝3G\ s0;p 쾾;wFK}zƃlM#q0ǹ; w~ggBqƒ}m]9jΜ˯;_]^o$iIЄ.41L~b:lGäֽvc&Bn/pܮ\GȁSWp}xhl=^m +%},%JρGdoFKɗ1jkv|@">%DƫqkqROoӇ% ${ɡ1NڡEW4/g쪮dg}rt#ZaׯJ?~qz_r2'7{ "d6#@tI$3+]IDAT a W,}qw UfD0@4~oٽƅ=;CW>zp9urw:ym{۾zrafWDsHa~";MZtSu4S6;A6Z3k2'ŋ6ܳS~ܳ@%%XYó{XAcDJ 1Xy47~Wz*EIhyS2gt +>hI:-ZmJ؋ ŪͶg>ωŰ^3ܜd۳@3h6lXںӜ+)mxůI/WaLk ՙr*7)*VAmrtï2\x#ϔAP]=YM3?kwf,;-TV[}l&Wo}]=3~z=zmpD-L~M{@ pΟ;  _&4eQ;?ykm}w90ޏf"?-nſ)3e@ZuhC7n 2c듑 wϱb9M}n`9* z})ᅨ&D'w$P:tݙpjn4)@wxh9欻>Zv #%vZN f JC+3" j uiKKv=/*d --ll'-]%- l>X+oJ [ B Q c 0b܂m;Gе$R_!,j.Q(HhA~$/,qi$8{I1Q&tC'=׍I[ggfYfIX/a+aĿ椲DX]mIpᒓħdⷿxƦX%)xu" 4Iz:et^{ t]}{:5iȕq O#˱+ 9|@s^o1o\RHt/~<,׶}ek+ݽu.>֟ϞY;yto\#ztՕPz;%8fG{%^ᱹxޜ; 5N) \,Ox_l2_IvD|cD0O>kϮ=+)98GjmlƳ^rbsqP J9|l׏bś?{H@@ӻ9~#CIr\:)mj繫 D[,6etTݻ'x Z>`x+cLx6y^G{m0] ZC]Ѣc6@}|iNJdg7W(Sm9Tg^6C4;Y/ڼ6wwϔ6ߊs^;%^^g|+g lkgrvW[q~7-_.A@9_9 yNq0flm0K{9P ud@ UĬ6v`~J=~Em]wh4N{e1׍]Vz9OWY@h}e0ؤk *6U[Pۮ{2t:^?}:Ig&F0&%9>'u$OA$U0p=hkGVzz&z=H+v HGr6Il  d⑬%E~KjQ,!9Bi2wҬ.z^n<%{NJ&=]ѷHѱ h(vK=%TJa }#YZhM,A@"DlN8]ROZO|K$m-l/{I@ AԂί=+/y)y"t۷ ǹߞί".gRo[ ";#ƤdP6_bo~3:"#+ aߑ@v+ހe?ޮ_6_'@ȁ5[!P^O$rrgV}.}V[molk:϶l;w-㟖l~-Y\ p5:ZNxփ zȚ >>?vp'Fhϫ'sww#,V0z̪ɣ:9ylur֍1/X?|<`|iq1/_n~={sy\Qzt;7 (/w^ƀ'TJ_w6|W`ͅ@9f>J[1o;>0 \O9Z6m`Q_G✹ϜJ p `/S<ӯO2kƙ6 ĭ6ȟЦ}SvklțmMbY=lJgƚlޮh7yޥmd][x%Z[ɯ(`П~|/_o[#ngP<}$ĵwU=9Ly؜̹GvϜigmn )͹Y@oUŃRNrl+xB^&tp@ǔ3%vQ0rl-k{X:W+7~wPX=XWׄ+jAzu/O(N~g3Fè 2:.{ueE?q?-!Wam DZ( 툟 ja r8G;@S4xIߜ$!}k'd!#83519WL@D&GkVRO+4:mӆ,tїL{ŢjBwYQ3y ߮]}ѽ *о`[yL(T©PUч-&锽Ȇ"s OG UC]\tmA0 +tIMlAO'd 'g`-9q@66>7~iyE*kiWSR$k J$˧9kɓsB8AxĨkǯC$U2ڽh萯Oƫͮ^mvrׯ}ܸz- 3Y]ٟ?H_9ϧذךN ﻨh8Lnڷo| ܁FQTC+ܷ{r(}hJ?DWc%(=zk9+[{wvMNvikWٹQ/˿/;oOsDڼ @o1hZ2߿cCG-o-\]+=>3ٽ}>Ɲ@:Ϯ ŀуֱ<dyʯB?c9ֱqaS__c^6j̿0~|{%YwlIiL[ ܘ:<34јOK=\(hImLiYhпN Q_Fō|Nċl늆>/-~dGfY&{3Ufd@X::9~dwԓw@'='  Tw\?틥yx+=Oo[_<˧c3ZC7 wտj H֊2K|5Ui˷=yS~4bOmϹ^]9N`SUֽܶ2ZT| rGW=Gǽ9' ]ܓ}Wr"}=×@d9iZAUn_[ ^}v_np-ҧ0+\+.lp *Io`Sfmm or>JCz(`BZ(73:G{).x SYd+xÌ=NkT6kN[{4ATNcpʴxw63h@:sܜ]ɴË}=Gck7vjYv}T&69I5-D;VGK0\*`2h` i#8T %J%.Nhd/SX ^%j7fYa{zA-~lBG-RҘ%slMZ@,h%}%(dpg_{eeڶ`ˆ9ٛɧ$BC9'ɧ}VЕmo` ?8q!&+D%%FdTG2u\J'ۏYty2NlO/xU3h_3/.]d9g7][{3gv?{ ۠xT #]T (#mRkG߻ܼq}z-x]);zhv,'mr:GvrˑCg;Ve=}_vm L_Ae @ݷwܝ;>\X{c3/_>/nmsn.Ыv,c[[cZ2|:cSv/س^F9}|rN`x>:||ڿs_8wz?X^{_nkm0 ?5wU_,/TgO6 7?< cm@uJÿӕO M Mtj)0b6RUT2Ob@8]gВ_n#P6hk=~dGݻH݂'kEy60=hx?hc /Ȗd)IsN&r\v-*' X)+^N׆|Z!RyL.iMꐫ j;S Z2uv%g&@:ӡYB6M)ֶ*@2:J^FKRU^cf]K%j`^k ϯL h3p:kgUA,@Ngm A$E=_tѢS&QI)np4Lf&j#E7@=馭@P D'(_D\ɑ<ڒ-`W. 9[$+Pr{TmnBǵ8.y(1/g{U}f:s> DY`&d0I,@PB9s9k'mmI[ %8රgLujUZU]oUcA;CK',]@1<[q\ Nqrp ŀoM ?Y huCIpx,X/-aQ'#]px {7}_X2p[W^}CcM: ;x ց5Rc0u|4VSQ5tV]kýq-[o}%rcA3{_@_p >H >]mn{$jKK "$%hsU_S55S]MK3#VzS_Bo3S!8?'׬BV߄VM۷;^33hpGfDߑMBۛ„Aʊ];#f o2ӷk5JOݢ۔oc*.أ},K e<5Շ( }rP>VILP,>u oo3+'{/}޼d%q=LnPgԩaZazpHۣFFxbۢ-}ߍà1Tߌ1©A/y)_CpP\Gk7cy%: O~1ҟ_I\k%.[57@%a>#-Xye1h^ OXzr?;>)m Ώ!@o8$=nK.˚0 >#ΰLq{ǎ=#u#|=ܜ6Q6.6Gy8}oXg6ڟnd"ijmCS.g5!22!⎰,PvawswN澄g˖=Oƕd;&u |f @-Sf0arfⰼpH\7>XKk-{H!{C+1?YL2x0q Ox`k?aׇR!\Mޏ ¼7\4e ?G1@؇Xyٳp. ~}ah/e/&| ?n kۓg<,A@Mq6W˦6Wwx 4ڟ= !pCs%n`]ABi;w xt{>B>.ru1[#l!`msr:b?׃9ZPE>B5Ǯ3s[v]Y{C'" m-qӚ{{"CN֑{"^y>vѡޓ:?CѳWouou{^G/>cnۡF߾!Ci?]1@b_˽=~N,wNƃgsS$ޚmoeYnl Uu(05@dJMH1+}wEܿw2ӶܩxŠq吣ΐ!M0ڗKhj÷E1'0&mr~v_^ s}{Ԩ-٣*) a ܡglV~vPA6nSyRM>5d0P.SUY' @(+F)?JJ}p Zb71qq<=hǞo&S6CS 0%ĴG$[%Y1M3_N7sdI9kpD۸&Y[g`rjþ~ H8}qq v<'VUt|z2@\oq#^_0ܒwj{6w>@ Ɠ< j׉Հ .?q&AIrplo-qYy- I{r W7Ϯ#$ðˆ<Ӟ~8h5: Ҹw~00 {z89W<䃸q=߶q%nJ#y}n,[J3{xdda%-hea,֦% V,.p wg d6%x&MF^/0⎫?) }ɀ!Q hGQ2gՠkf4YlpN`m0a1;p{ p;Y6 q&: @@O}Iy2,XNp7~_닱 ޕnw7h2mx`Wr2b l7>Wó??4 А ? >BC0hظc0l|_0$n4;L%u8|<{lpZ1`HaxgLxɛ;*:ʁ$a$f ,9!!;Sb` (e!Oq&|OMMLψgK̄3q6BH7ywwٙ ^Es󔗓L X!zVש40TQȋâ 'EzA^nEsK7k}C<71zzHcU// zE|뭴Dyھ#o~ÂPQyXݽjjVZVGY <<Ξ㪩mReU(Sun5?->{"jHU^$5o]{7'P~-.1cpZр02x*+'1K^L|mܼ)YB@zS A yh I:ʃ*iVq!7t*WӤ,B-ۑ3p[nޯYkwkʲ`F[hG+4$ܿ3qpXDX;y =*D Ne7CMߏD72!> ƻDzf rj@#,U<9 CStCxWL]⎼r==!԰HI f y?5OPa Ɲ!-di% ykP4.]vK ԅOX!Bڱ3&OZ]/yn1Xìq1'-Iy k-a:C}WX` W'˺^G?쐥?*no!+_fC2Z癰I/qB1b1N3yrdrAAC 3va{@~G~` a20~? kع"yƽlp<b{'84Fg vֈbCk~Qkmp=,#N/mƽKI@L8 ?Ud@=WfCx\ ^FaA3íg\Vγ r|`^Ҍit>YL O0폔Gڍ!ߝ W7v{g+t #[vBcΌΝ ~hd \X i3(GpKψphH0ykSǸ;%hV_[9-S^=Ɂ=TP'4AqnڼU7l=ڻ?SYy@ :C0-u_Ÿ**#D徨XY[ci`"hYJ ?4#oE6u5R{K`[_]KƖqnCw)--WGWgݻ7'tAonCxPsmtׇ6uE*C9) uVɿOW-(VNA-mUۺCʮRVAuh{F YmV*K5=ڵ<_kTQ sj>_*UqIQ~a 땓_RejбOKmyztH5+ܯ0Pז6[xwڞx/ZMNZ9`2m:B?qF=vU~[ekuz`l;lnxn8A@n.{v~[x]X] 7ttCu+Sol] 6[wO\|>o-ouϽK|BSW끧_Ҽ[5嚱dU(UH?)}?uWoܲgK}yL\N{>ZJND-GF`.zk94_%y)UUq*$]y W[Oe+Ҕ.UTQ+@pX%^6G雵o*eFܦѲ}ftھ]^F`G4|P<(d%䲲ʈaJ߭)hej^Ɩ-Wӝboײʒ78wcw2U-u2T]G-Uyj-VK߆ \shXee4F0ˢ<Vg|@ttH?8{8Ϟљsg3u}pϿbq*63+8 ! M\w q+~ %5z{ k Ca ]qB? фa ;ܒ}L8˄iH[IĸY&n`&XCScǻhτC'c`-1%y;!re%އLao-f 8CxBd5<pImuj%?.Pqm{O 6IiW0ڸ!<q@e ؤgׁt8M2T{2-YCJ;yŭW'ˁV,&YDߎ2nO3x-qb!&9@N:0DˊRd4^m P˖ gW0Wq0ˡF'r4yi6Z x\Q2Zc=Ľ؇_ii8Y_/ͭgc\9ư=~4ThC,qᎫk:kޡܟuGd-.ɏV;.WWFa}$PL: ڲuR׮P% К-~4H# b3iGc[XX朘g,RS]Z 2Dmmarר!k MW[5պ%q!捛~Ȭ|500wtGmKR@u!a 0ม.uao U3K 1w^~] 0'_oZze4Uw=9XuMǞ~~ϼ[]MԀW'襡3g{;B~/kޣ^~sRf eڃ@{XG Su?ڮC( ]pLi~},|{ruWR kVJKiՇ5|:]Jϐtkuk3u;_O C>suݨEgz:34zn@,֍KtEi \G?X}~xú_QSҍxvM/F-ܼW[K#H{r?u}wt˳W_/uhZ;:#:#b/G/Yl. `@moEn5VToSUQ* *5jf 7)@#7/}35E[M1@Š"gggstJ T $%~k.?NaLQ t)ONfqqAfrsEYfQ =uM椯W51?E9nVI( _=o vTZIU%T[`jJû'?o.OWg]:Jt ocun츏&p-.BYxTS'{ߖ;濝D|=9dqz[0}=}1 /aÆžxPeRQy֚A_-['S̭6  Œɗ5W-Җ o^ EtF?_ʀcÎtrΨkM,Uj{ⶊѰ[;_`]=GAM;=x;tt?h9[ʗC݉]?|X3o0>?οnE8qu .#bo4aȴ_{'=Q$, n'-'|ZZ&g%kJ{" ֤AyqW;lKa=KDr ۖݐ _QɚdxMcXClkϽeUˎ+YgOq*µʔN6Yt~\jaZ wJ(&ktɛӋe~3iZ f1 {HU g-vpa k V0&C7ǘ0CвF4@5€5r5'e0`샦|pydH54'xbpj.@J8mioA{|yGæˏq=q`-+.x0  ɩL*҂{J>3G4d-/iK_q{koi(Kr-:0g ÞEG37t>IC;ϜqI;Uw {wpٸ=ޝ*TNne)+IoVvvfrJd[Z~кэdātkUUXJT]dM<<.a b:1h{n{bf!7kZ9f)$t$T@eaubPGSR@D *SZ鬒ejh0w@ 6)hZ?Av*jXӠSϪPꚺ6u*+^AEPӦ7++Ii2C=45ʻ?.YWًct+uO+]1u O;^U}}׿guݳtt鮡toFG^ՕZ+= 6UMѲB9AںN'ցO0oJ֢e{4iZ P9aYF|U/O^ޚ[>tm}/߮}DShbɺd3q_koҭ#[߰Ouuՠu1 ueqK.ҭ߻KuӔ3qD~Ngm=}Ӗ~Ws/4mz][|Ek(K3ʴrWhvUj[zA0jgsLfEz~ӟ]~~ ʲ/ΝZiڑE7VF,oh.W}UZjt>'pF=)IQm)pC eJp*SPi޺z ❪dYp姯SXDKZ8cSߝQ ٹ:8kzla4-_ehagMc0ƽfhGF3Y1 c޳rc͝=G?P? KB?ڤ}{7Em4N >F[&;8{JrR/8e4<Orhx[裟?c~饗j2rc5tk¢o7lYhbk黭ipo UY f02F&kǜv:nbg5H3$aa 7'ߎtZY&0+PXxzWGgMc&H2ϖ#IP$ p%Ϥ'YM_c lx{7[{{=rjChs ֚[k8X l^ Cl VY lpo@G0`xƏury&ͬ* .d/Y&em(=vho+vLX^VM\Y/߇`X\y{r^eoGZW3Yd v3 WϪ`!r4i$NG4sŞƕ8 mC4a8݆^k=#{ ;C5~x tBtpNgr⫡;$w\_wNѝ;h;SVeEXWTy0h9ѨE-/TqaI/G EV!^U mPIB@zbOiC}ZQ^\.,njhIƕbx.* kaǢ58_,JB[ 0W+i0 ,T~%mujhUS+{:@ WTAϏڄ}9n'&T\Nmښy7kβ->m^;CO>FjkWtOG #GqB1v HW5SwO<}>#?|؅t7n }.>t߇kuהE򅑺=[OLW 0숗{2.n Rg3U_kqC7+g)Ѳz_!VWaaZ c- \ic1grlҀkm0˭0}z2F8gNkLe4| ㎂vm ~ ^6 , C+i' gmȃ냿0M|<[G#vpj;rkv #%kw=t8 #ĝA39pN;&߹$]Ǿ}{#fd%u&쏫TQa˃S\6+-u*+c%dQ -.&jä5W*?;+lmQUֺq4X`áPruMc9{eiiyLCqys9Yq956FS]ؤgucjZU v>ʚxUvNZtiT]s= ]yŃe聧F].7g_~_}B7nxM 0]yu5V7󶮽 ]ߛ߳5x}rt~o5տQыu͋SDûv.;@+~~kqvUi-J) eЁ(kz}2]zדzt ]F^+~[٫ץ!ts絏tאOuewRd]P]' h=)B^o~~n>?jmoD T];-w]3~X7MYNɓ˜8>40 cو#a\1bD37V&X•-I`Rp797'j3zXiGk3вD^4w>_~0ӵ`x^:]UFRgQUA(ͪzO4pU:צxJ,{J7j{0)ҁTu,*UK}N<4&[-upc]*J BWggD3_h/\:0櫯 8@,%U7U`c/w6X+30 tv0[ްcAQ\ l@08poF`glxda@}c_dB1~2֓<1XLۻ`ZډCuNѱ.I@0Z`BwE~;~ރ]m:尪W<M[W7Qƌ:LheIi5YI '#;W'4]gvag\[7&kA)=ɀl%uϕg40~kR6'ϴ"GIyrpM`-i2({rps ؆MސjZmMvC2OCmrs<噴yR ߹pI`gJkW qo3?v_{+geZ4z ݸIքҟ #Z;1i=lAcY2!1 8t?s$ka%ǫSaXK Z\ ;&% ̣G++l8LY/+=TOz4`oY3K뽷$4 / l5{o5~@ٚe~\ ָfL§\Yp-wB`XsuzfŠF4atcG!$GG'^?c#i:|gܑ`yl;::[sK[RQ¥ v&fZ\3&~R*- NUʫ#x%qvanPi!y |5V% n5jhԧW/TtX K[?np볺wt-U WC4WGW?Ko{Q=8Hѡgφ=uccuӓtuM/./m]1`{an4'ۇCVڗ&?{Qv?]x]˫ڱ=JG_P9rR4h$[to'芇_g\=0kn>G׼2MW>>\7 {Q]3]q]v}GᄋtcSo<5fnxC]zԽ't/Fuc0F- ~|0"ܣ}ǒUqJ\7] ynxmx=]7lnGԂu{|uK6\ʛ,+~wvօ2=ڑ_l-o ۤmywIjSzf-X?{ůsTY"CuyjRKM|p3jpKxn( % m'kI\[Wpgر@ڥSjd[V.UK9xޤp%KX4oFgLw;474|;zWiР򗿌}/+'7 o~'^}?x;5bdFE31@4{V&G٢QKt[V.y?E!O˦*eJOYo eʨbO%o٩ժ]ڢuTUmu|kwjW\J^WMu;\Om:QPUS4TPP'N f bJ E cB?6@Hw7X.=Z "sE/}5!C&qCw=}2q1fY̸JKOu: &a8]Yix^DSk` sXNWUMeӺjiKZ4讃98|%!qitGW:Hcځa Ѫ%E t|M69;,Y)/O 1QkݕX|\O7HwD![hPƍq;O5d.<:~iwyOxo?i(~y<1Cnw;N8\6䕰v.Ҁ-D [S\ǀ;aްl2@nMa{ ːȉ|Ed@+a@LWXʽz_+}j `,r"G'dDéer6v_{212:neWD9NèWyZ pqs5A:)|o75{hkO`ZX85xZ]6J>4n0hb/Fô53i4dK m-i^e? 5ZL\kx ZT'=^"eg`h[kx)5DGl4/vqC4f 4dCyaZƉ;kqc ? + 50LZI#ĝ;w<N̜FϜgxvdž=q$.ZXqCYNҗq;M:8YVe"K[[f]57D--/{2 3eP]Uj+ˢpIZPܚXVSВx%hU[0UA0*jUT̯>;]Z%*Tei? \]ѨG`iTYvC<tu9[~g|i~gGw^֍V{R_/MW7fW&İ?g_ߓIWctCoO-u U[~WY,>c]8}~ON_crKpJG\j@^Vv56!'cskJp<fz;zz'?vH? yɺ1{{?]z3'w鶻_cO/N9ݥk'&wCto۞>ǃP~~?֕Sߑ e*kt vKtׄzrz=:3=clt吏umy| KKzzr0{h+>'㥛nkkknRJ%Rʯ?[2aOR 3A)y kyv5iWSv6)CYuZ+]-[EhgJW2UQxs}6U>K]9>xoQV' ,[EԸĹ|OK]](P{6 clm[7[W~5Ϟ r֯kʅhDMWkDvb!hzohCo[ۢUQ!LKwy3낿¸8/?" <$\sz/ xV.~Z0g-՟ iX׎}e7MQC81ZSTFe@L[wv:!]͙꬧>RZ":P暬ok,Ձ[*s؞ᐫsMd>}lVNf)4М4 "?ү# 0OyB>Za!`b0fw5zP@!6([K˳!XIC,,'lOX{ t3ְ!,×@xe Whz*B7݉w$4Gx`=t4C8Хz}Oxflc[ ˫9ݾ@< Z[cYP^mPt&k=ϔ%;ŐWq iכ /ױauh (n  ˚rIp5$uDF:[& rwXڐk4,0 '\;4ˇ=Nnkg9c|_LЍgƿeIY ͆Pk &YNMh+rYyw/  +$+ 鳿(k$/lM.a؏AcxE7<= իa57[h#b7ٍ(j  |8!CBU`f^FXj3m!hxBkюR` BPR[3lyDC⣠ /820iUG!, fayr@5ј<3/2'O|t\:$Ǖ7w,ԁټ'ܻ^;a7l:_2Rq> pKz<{NK^엎QC=PNm!wQ #r *y$O ^ NH7q,ðuhN;ף:WV'_KGʆ08D aneUWO ,K}KYjfg@N@܏~-^u5en sZ{CZ4ڽ7? NڨVSuUG99mFܦlόO[}G7~w~tsx}z~+ŤfJӼ-23]W>qAAA۟hl,K)/.Џ}^0 I˷j-sJ-mA >|< ǿ8 豞h}DZ׍H7[G WG&j@c̦MTi{T]d]ֱKutČ .O6k _C#莜R:ICf-Ҭu)p6+Ԯr؜[ Bs*m>C̫ []EښWōQ㻵VMj~.')2TSgx8@uNt꫓u:}Zj)աlTQSNVj`Cwpk~j aed2v/WڿsvnD[̎f,\:K[/Vi~3vjq/-kڶaR6,ܡ֚PFJ*k _5,o,VGmzuR_hЅ:wF_щjK ~vfBu5D=Xv*|O|c{x yzeÒYgІbz-)ccO3~({ka>0f7c=u4roFqq6<@83 hLEt8ekKۢ \t eyz\}$WV{njב/Bwx(ww;oc:vNBGNpH N:g//}GqO xe,H!o7ivQ_ԍ>Y+?`r gE}㟰pGYPoG3tt^A9qkm*L|J{i4-gϲieFp8N)ās-^_ ypo?ąd8yƽ|;v.C#Yk;ʽƕ2ʎ(WU$&5 m:qN-'r*uFC[zz5a`W'Vu L8!(8LLm!I ȫZ֧Nf,O_5 f,9D1 ֫JIdI}FO`(Kµ6'aHӈ„KV|FfO]v:<9p6@&s -0콴^ tl55dK'eP`mv3 `K1@Ѡh0ONPs;P" i ˉ?ؠY07> Ԯ*z4H''W=|(n,6 qp?ֲrOZ5uYT/S KI#u{x#a,-wt\]5b|4 >ʡ#qr kbM$ޯ̾ڎ*hTnNꭁ4kF59ۀu+SuSƴt[Gn״e{ꤥQ[צ'wRyc4i:D#__9Vޟ\ϩ)5vkmm!:|.|?_᯿ _pϺ*B>LT7ejH4E/٧wl+Kt'F_UO>[? i`uE^=6f|1@9ɺo"=2CsG5t[\ۊ4mf?NkV ڐm X]TzJ֪,@r.,ҙ_oٞ?R eou0:{,j+w&-p:օ\N<(ol~u->Eb ~/w\O"&) " 7B:eI؅|A P Y0e-s ?;qCIJD]ApHHi;qG<ϽЇ܁)I0SLl1Clal9~D,ӧO!bb;n?O 18ýݞFLy·q(:q为to C(tGȇS^y<^+ Pvye8?OPWq,w8lr ;8I@څ!<Ҷ,C?eBqF9i7c<C&MIRΤ)йJT6DܓV3i yƭ5ugk-◰I%dy Y+9B.cO.0zSfN'ܘ,Zfy%ȢeHw;g[ ڄIN &솝ewb 2?b-8q&>&ԩ۷W/>'܇9 dd'5&]2Ժ.W1Ey|ߝ) X|Wfe(H ²[Szi5 xk1,NsB5&CzۚC 3?@/@O( XLC$nX7yp*wQ !l^1;ӰGTbw- Zb70Ld`OGǍQ$?Ks%]g0ć<҆Hv/ m'?( w'S ;ם%n?.ayvwh0vAxhia2V(pRv+8竽&@).afv^xI%7љd툎]J}p*]qއ,>֩'=wǥӝz4h8.G`>mNю=1:GGOKu]+3NMs0*-ѐFiY6fګfχ=nnd_gj';5ZZclE)w.||}zM^#&-Щjz{L}h h54wjk㩣U 9ޣ'ԞF}1Uآyt.}rCڝWڧvZMxFYn`1qߡ7.+U ɺ}Pњ<}ߤCgi9n,M=OҥOo6'C)e9sޙJw>?ZF+7k^UQm1e״hKNҪ(Qr*w??:| :z<VT^]AP=*% Ewqގ<稫%C=92jd4h~k x{Z |@Af^joȍMjVv5hI;{v\ܬ=jnT6=ҭ3O}Lh?@oscSe̱Qk- }m)ͦo,0ЊP=FX v@Y;BHh{á#Tj͚e>}F|S&GR@87@jӢ6f7l~:#yHMym\Ѕ&߄ > GZpcC&il&Ƕ `<}^񝉽)t.`2jwڍrFD;t9䪥ջ7sDVS2s} ,?P^h$=bp(Pveւ{5caˠ:rV5M*vrgw_bcS@[幤@e5:1#uӭ%5ijM Z;zD7iblU6u(,:Y3ޢk=OX&Ȧz5U:R+7ykx~Zߙ_<:Byjn:Ɓ`=1e :Ҙu:UsqzxF UmрW 򒝚s:YH^G=>Lw𮦯ݡdv 86H'St41C1YNQlvŤ(񷴥K J,tET*^2uK]kzY UZJ.umu6:CigTh]Xୌ)0(ՖScy6eyW5Ձ]j(;$_5'n:n bPEiͪZrmrmK+ S`#0W IUS$dSpLq3jJ.,|3CLll 5jx5pr]-]m*+犓x7/vE}Nq?I,S}ީ {uj]8\sڃۮTUĩ6?R680l]S}IꋣUSpV QՔ&:WMu\^$9$}*a}]<^vgd@Cw[<'s)$S 2B 蘋)g#ښ Zgh@ϾS&1 -=<00a{緁*{v[u+˫9 bA7`mun+.vb UT\Fjjsxmot@޵{};567>4r7ZOlN.h:S~uxnwKMAt$ڒ43u ?C|(;8"lר7#/аQ_&i^ԍlъt>fz=8tC`3K#-xoRk+s7V/x; ^-k0[77h-@@2 3@' 1۞^3VXȋy}h4 I簃0i`*L.~MZ;k+֑MO4vbVj44 R/+tC ТcO. k:Z%: 7]LZM%: ޙeB]mőF͵AH7q wQ?xLa+bYm`Z VO`5΄Mli[re9\%S_&&e)Nu-Tҫ2"juX:R(7WW8\KR]k'_x4g,FvSa]{b4yRf{GK~8JT5؉$\}XӴ+4i{`7(1 f-٧.XwDZ^F.#w&iZq*]3wEjsze* 9GZ'&ֳsZ?N'iز}AtO_C&-Ӕ 9gѮ3c>vZwNO₾>qynysMZʸybL(UieKjt(.US딟ʋJ)ҁJ+GM q!B*_3Y%:Լbo,w}/#>Ji pPg%߁oO>x}YKV<*cRy^ ѺXFWũ0һrźd%יoc:qtrr<ԍuV$*-5AE9$/7 BsU7B ˘=ie(v6rxȕГ]`˔&V,N @ĺowWVx]X$* bG/6@Ors*9EB0?ƁJ;:wfPb^5]Չ>05D8XWcYL^0{"ސΖ2uV(Si*.TVNk.^?`@+\Jh'F;- r9|<7 IiN,TS5~ʶnuuMM=թ`Y44`i䠤2eg9y[K0 M~{V55ƪJ5V ?YfV@y`޴-ǤwA1ڴ40 hShCޙ/ Gm,[~B\h_|n )Ux=Қ>oS7dA_LС/>J^?(-eʌNB9gc, =|Gy( q)iȂĀ W|j;* #٣wQbʅ '%g(|SZާKNdrnv=MҜEu:Sp/Xk+ mF|2FyM7 zAkv;@&mS^SjJ яR@6¤҉O%IYޢ_T&ҫh*e()>MU klS5=jOs6ЬNYv}0,O i'*1!Ne.ޫN*R}S(mрWjEz`2Iuztz`}_'F_^vwUsx=_uXfo{Azrj=5c]þޯ/}@k"$[όZ^or=1fѴ]1Zq:O÷Ѡy[5hnѽ:nD_;'S4'4]uz={>t&E&hCz'3tw4iN-y\Vf$+ZU\բ,2aWG&lS+UxQi :]pS =2NcAQj+O N;cJsϋ >\n+p`S!KZܻ,Jϩg*r=kI95v N>:pwȃ޽z^A~\wg}O (b_* Rd*rLtdYhg;{ly9e͓2M-ͺ3]޳َ(3Ohx^8mO]Xr} ז GsPYI'Pdh+CUs\'U..uZG:kXu|ֵa?=vj"_pIAʊtރ`09$ K^N/{>?O|I~WsO͛2g120\Gm_Ij7 %v$6K{XY md"M5G\џ˃)')QI9fF-آ/WѴZtT瀰<xqEwWjkue#95J+OR_]`kW!hYơ.OHG[<JM1h:s.r[l.e06~B9 |B lQH6&wY3Mzg~ π7CCZt<3NY pF~Ё#L%.<6yQPlq2H>PҙaCOy3;z"ɛ'eyPn7@4 A3ƌwA>En.L.u2k.|6l`oD[ȗz"yZIjSI>ԅ>hQb+0:5:2]l5Cȣ?60By}޶z۬fYYMɅr 0p m[e"/ToBࣁZS E0@_6@ ? $YD#6R)Jġ\<2t9PIg8`f;QY:y&AO\_t}=gzq>2+;k[0,< )MTh\f:ҟ~w}g\s^1mrK NSjnrKj)P;S[ը7FjY|"2\lZzT+W~ubRߝ"&9.$f魑t?@g) noyvvFCciÚ9g,9a|E TO3AӖnSTJJ\v\R}]rNFw_PCMJsȍU:rRYvWz{xJ9anXSkAHLA4iF-̹5n2 |;H9|K诽;C Z{\L\{__?^S~J~8_O^QZ>Ra_AD9^p |74}nu|˓5āsv(^Ks5bY Yos7imztv}q(V3B30"W5d Zy@w80)[ B#4uN$}d?JcamdJ4md<K?X?#7o.ytVVhǡ#zՏuo?F7?M=)Gc4xF~Ng-T՟rjtsM~G5|+߫?G]WUܵ6jjkQ{[Xl2e}8l ~0>?u%.qkT 4K;`qH?oҷ`o ~3 C,ޠirÔH^-@d Mt]hڡCZcog ~o ݋ oK00J粕y ҹǠ;iCL|ޛ,3Ѡ<a`Szh%.K$UCiT3w3SO:XgA{B:$4 x0@`йxo+W5`l4l;|߶bEG0DBuI s&P  &4Igu ykЎ%\7+'+j5 k=3i&X>-=6r>WO;]0E%?+-塼#3;˻Bh\ϊΪRʭz(TU4N@9| 'ڮ>յ]2ׯ@1Q/Ph9Ri.ׇO?74)>L_ۦCg\ߪnו헜BH,ik5q]N#>)Sf녗fkLR}昙4}V-tT[Gjɖ<F+6Ҵ9+ڥK_MZEO*/uRIq*)(t/Õb];GtBr?+qO>^X|<]>Ռg5yE:\ۏ׬9ɨyz`x |q*hu ղmz;3ֳO򹓳Ok.׋Ow yss >I[Nit=?kYO/=O|o ?pNGkeRƻ8,ڣ'7azx =]OdjNT@F ^WV҃ku5YMYMWlu?E;R A<R&oT@_?@|ETyRWie! z5(3֏.M\/mI  se9mz@͚k?t]d BFt Qƀ!8wޑ-6`'o虶z.z0z}xдo_oYO5 )G驔 ޛңQУO>xE~) ,to/|G/'O G =QGÑ[ɓ,ƔS?ڐޑl0(/tIK+;'8v`+m 8 *L04Q;@ kYYrƍƦqHO<'S6&,)S`kDjjQlix(ygI}hfM Z|aNYO\ڈr"HcK%0inΔ:6of!k+y|>q* !ܒSL(54rK9mIJ `{ݩAҳ/_ycZث+;4S7 L k=bCt0$VRYH-t>!EMUګ%OGj䤅&v+yLUQxP> iiSw?("@Lqann4qpYeAыwA!͑ ZqD6ku*Lvыtϳ7?seKuOnڮ:KI_jK*pqWjQ"2 9%J  Usi;jB[W @=bJWmShu`zeWw*Q2-*Kӵ]sDxףrM6W'LЭw;C>/Oּ.)mwAC}9[7K6Y_si7g~wn\N*ڝXhܦ*ˏ@7/-L;JUETSWn*.j,9ĉ׺+K'lUܹՔ+}HI'5VU-3q/{9y97;_NmǛ"?/{T02 sG&cEv (S+Erj<෷)N.s7wťNA(+X@+Res*wsХ?\m>*bAgW uZz*v¡Gv)!zZUS컮.u%joHSwSzZ\kUu\ F-rkoKXhe&G(/INN(')} w!ZQ h_z[/]aoN~A/Xc,_-#Fhd5u޵k,|Z+>!!%?6w(Յro9Bm }x{[]P>\ X*Wgos,68%!lN3Œ_)P˫oHSaU_$,oTqC TP]t?u']hWӓi0=>wnrFIЬ3Z|6W_92cn~w 35xz=8yJw|Pk4X9 gdim 2](RqcurR?-~sE T~as0r(dWGJN{=X b}ܽAL37?A?.\B(_zdw!wtL3BZ)A`Gn!7i\`o%=>/76MBOɬ``ǀs7 "{Nyi`N3=t1[|0c-6JK<q7qб)!MZh&-Eh/,No>"=e?u! |7(a\0r>mҡߣ^_څo߻c`t #&0 0<&f v_K3؈'K Oxc=y 0p=P#(~ ^YQ0\nbӽUf QGɈ $R\9{j=pDXC=Y XfԃI=< [g7[ե,@4y7-:9BzۊyY/]d)! yA5xJyi2Sd'4=-&:𤤦sXL֩** LNQ9:ZGMҔIs4⳱zjػzHڥ+hɖ FۧA둷JM\kNj] ZC7{MVԪ벺w%iz{#&u7㩫)ܥ+t|S~n蹪׵ΫjxY i~!*:΍M Z:i}k7KAZ+Aքi޲#O龷jШ`=>z/)h\O vuw< E=]w|O6UD Kּ\7m vv~ [ܠOTIYe EⱧ5;&GűDGc?'6S7]\88-2@{"t49GUM +ՙ ](UF}2jZ^{Qst:Bsu26[!J̭Tne )&X+v}Gx[wj%4W*?;~(~Q^Q?i-PosڪU}NO]aYl.PCIZι4bNWL1-]8ǻWZڕ R2%y̤o|"YL3B`ҶUld 8fY1K)V ȽZnx+ G:VS5uj.,M^Anp\MDxbQzcfp[{57%pŁJ[ 49HӓUYuRoWȑot1Om YSEaז4]>C*8ҳj-Tm)gTWCʝ͙*͍RN)>S)+.ub)<s5.; ,uSWtQF)xշ4I>Ma/F7;P*-[z߻Z!Yy<}^T_[k֑j:pN9Uzr6=4e@ۣ'C36i8MkCՊ#|h^ާޜGlӳKE!zɮ\9xh ;֞>E6J_lnWN{EW78+hPkS[:ݫ;5~1W7ˮ ]dtj*ujT8KW{RW쥏qmZ6X4{[tur[_U!Ee~a_X<<~J: EU}ufwE]vz؊!w)++/W]u9ew23/Y^:WN-A]􁜌T;‚WW{]=XF_r3J}y0t&d4&nҌ7DH[l:"<usnBBk"y8` xA&Cus&oQmȆ>:oJʉ73P&f7`o&.tL5ـ,1 oӔѶj5xh+tn<o@8Qf¿q-p͑Fh`Lɬ7e=Yk)7 XCKr(9aDѼ@&V\,XB; v `$]qēS*8(qXU n,V)қoht*$NR^7 P$0*S/sqSY<ۯK>!>qKY tNbp&[!Љ`2`8O t\@yϝo'. G$ ?┏t"K;7s0LƉĤ :{N8æJp9RyJau^jlen@M̲kvji[e QlAktȇˬ55%IYN<Ź1p%2)PFzfR2SU^I9p>Ob; ?BLX33r.!ČD9\'j8%/W3JB_o ǓG_{M Ә5gc.=QtcҪut8RSt?ެGz%YhF'-vu+U9)PE |'( p9+?Azo,'4='۟Ԅ9SeVhӺuo:}gms_]o}/Ґ zn*azt&:Gj䵺[8Z>A~r~ 5O4:x*v1peX2&ôlnmyZk&ɳNn`5񮯍b?U8(%Է='kwt+~W&^R{k:px3v_?Mg4sA{PL?y5'`[<qzj"=_#Whĺ&i}SaCc.`H>MN$kFHVG>V_36諓IZ|Ё >nvuu'4vu:9W9%.1׷ٿ >_VŽx&TaŊhVTA8".K Ye.ts ݇]8[vh5ZcXISC83*#N:pfVoK+*:ܤkPSy*B^8ɀx'"ػ:_tٻ\όoe?59 @B ywn1jdSlň4LμgCzKN}94h iN҇2%q&{WhhNӽtϟK?E9C̬^@ X2Mǒa@ NA&P3gNu: -_:[Rb\&:NW=v`4\uQMnK"TQbvWKc88YUbŇ9{AqN$(!6B٬?߽K4A,~Oݽ=?X0qW U>ҲUިhߞW|=_UDA^ȥn'[UQ_\Xޠvta NWҶXի57V]^`zѦjum~k?W*+8)%:[RRQu*ZFUBsPln{s\-SAtߨ68PzӠItguw^_#Siu˸5́{\1X~l/o?6W;>Y v\UNkA&k %'hls jע5VT;]rյ`uSWλs_jQ1V3n1cY PIM~ 16sos`nOLMQM¸,yѵ_wHߕB+;'s&C@.QyY*D L~ rgle_RXLrc_\^Iߥ1 hssYw/ 8Y<o uQ6aЉOfQ'<*ۿF`KCjI7sa7k -G^4.(]<Xt\#ylJ .xX_6/ƊϡC\[vuN \SG:VPmg.!&@*&hu3hoo*Z< M4W [MA!Nct M s^.5+MeեnA>bV@Ӓt>֡JnRB_,/*S}YʙmUCkw{ qj̾=tLKi`t'W4fqM^y\V乛7ެ?QNL>o{Hx{| }QvلWnU*MjXpd"LMuz.<V6;>o;@'/>g1 M4O_|1O7I{is^m}dD.ߥ~y߫t LC.֯xFC^XAѼ5wI=l |~{SGSg롗yW}|]`^5*-/ FvN225VB'6^^WLLW88SUr eeEB?7IULD^z |U-]{Pn׼5'zx=bT}/))NkD [_٦ׄfgעtբzf=::s켝r(NÒ,*G/<|H/.ܧ&=W론 k{+ҵ$2G3W9kurMf*V犪uZQ%T[/)KYȅ,'(|R\ܼJE8P kŎڰޣ{vIj*)r22#ts}祜P~IKmف{:FgvD5]ݝq!&w0q _ؾ8'4;Vy=82CV<K}F&O]Sj;;R}c *{;'A,;e[ :b%׷IDYƝ駫ӢpM֭}o\V4T[#*L:S_s.:ܖ *9ʢ(^yVu\Yi1*)RVz`1Kڃz` EhJ`, ;j*qAWеpm` P9VOm+e o/)N}S{ Zic]ԭ7y%WUyj[[Ӭv=1ѳyzwrqD3w)hw^9S:P̭zn& r^[Uӏie)3u3}.m?8)41$Ib:Pӿ|ۧ,S&LܦvMz|6M MЂZt._ÖPvW :y!E=X"}zodpr̓K]} ]TKWk=jk,As DVrKׯ3ê7B}5nM m^S7 gt6^ʝ~"J~qZ;{ٕٕvK/,rVWc>'G Y,IeE^Ojwr%0pjhtz: nS </wcs?p-'`iCwwgg2 f忹۞d1 g &m“Wrdb qEb 7_@͢ axM@ ^SLm̢K<7/D A>RCՀ4l4iW?e̤S!C\t$(#<_1]3/l׀)|"Ox`<6]/} Pa u oҘ!I!x,0j"\X?@mwf `s&-&b }R 6+0=&ߥ m)eI4hPkfaav퇦RVck?t||cA8O7{ei%^mxh'2S2)`1.@l`&mcN'e $1q{>u*ԃ`2{ͅ!3PZ[ s77e6J9 ҁM7O+4̊oٳ nL(~L|Xs ʯ%&ߨAͭNeyb =I-89-5Wi ?S!Q:|µ5{ҒQ}R ܣk+[:Dj~ӌᚶܧWL77}}ں'L9(Vdt"&25+E yƞk{C&’jૼ^5Mjkӵoޟ.jVRiE&i:x䔒3Q#Gc5Qoլev]:P~s{Ζ#|b}SWO+k ZO ?oSC:WC4e ޢWOвutWY|8;+?PFרzGG,|abҶ8C(ޕv8})-BffN+ڴ`DӿޡwR/T4K7=?Ey{_ 4}oGd镵t{=^__;8zf9s3')[tuĕzv KӬc4&W;~[G/3?|#I/\^'/~]=R]p>]eu:&*EWLnR:{J{آzEhTv*4ɋE;[D."9KKzoi֢ڱwji,Pmi RT;:#I:x{M֨ɵHmY],wcVon@XXk,>\-HfEP xgtfr :&oDV 4E e, dGnGl(Zy ʁ3E S#z׻b(!]'`)B-(׮\y~1=1\gx5hsm+]۪+xdJW[rU[S*>*8c"U[ u,p7L%Xsw"(Ae*/;Łp4Y=5<{*`6;aleڨ MSg#d|WcjlSZ[\UްڅXB(Z`hMSJ[s }q*k5 NFԸ+WjU88~īڥ4nN7:H߾Lo9g4DoݓV!֏iИe{,`fy'R=,ڮ;Z9ruaSuӰ 8{M^ViJDfFejaLfNCZ_nSs1+O~&ѓwk5r'jfxVo%.A坪?I?AߣxYYWNe?o3ԡv]r/,8m 2' KվڇvO\ n ^N-`xU:fOKz!'W*\V;]类]|~s@AQ\p,,`ʇ=% a 7 )QQ[Ҹ^b162S¤2fRp;XďcKA2SFZЦ&)VŜ$(/AGEbH;J9R}n&!ٸIoaڬO␹xy< ^O/g=;Gm- xmiAπ TփŠ& @>0,h׷'eV e; 6*Z65TVtN:!:L&7#nl½Gx0?~|.gQ: }a[wTK0p+mE?T!]άå7m4! eM0,'.'|"90S6^p=ݘ6O;y'coj6&}g7|zj#P4w%)!qBWǿ-T2}]ipR#ۅ=x(sEm& .ׁ;}ߖJm&[yŘtW;uO` @kmL?D MmlQ|EF5(PNSbV^E--5 WSwk#O܊"thkm4uJkLF_^Yar >ͻ)̧y[TVi:݊`ʘHҼ G^u4{' (h$!%"}LWIGղֱ] )9(g,<2a|r"VpL϶XN YɶX*ɻ+(UlA%`ǽ"ՒSE ߋ8Ef>k{Ժf8 YZTA^IE_|Ob95c\7l{Z*nP4FLgTjC 0'A/AF`i$($HX́KkYxlYA0֔a{Ze8azۢF xW'F%0KnatrrT*ąR>rbY CRɐ2:X Tꠚ`Wi'tq_ҏW~h1վ.Ʋ,#R[Iq腇Gʘ&##hR7pst}Sp<84y&F QTT"ǜ}c<@  |=_]jޡ9^YNsg_`V["2}b=~$rra/&~$|dt!=;[ߍp;L~|4C,v{bSlۏ]pZ\@|cwkxbŶBUM'q'PkV6P>&Whg|i3ٌk0=JIa\a[eNdSM^~-@RV=ˡp ƙ|\//)7ZN__m¾'xp|n>p/s}4Fy} Uك\P!`zo;t SN1#HIـ6a;,:mRM@G-4VUV8aJV Ax,TMC3uIƪ.kPB;z0qMpFAލ&`,*>mF 6Ux܃ha 5OYG}vXw*6BGaWH57ec͍\r w¤nX|)O랛EkϛXy>Ɣxr_N)G;+R lbwco'cC8v:p6< v#hx Zf~g71J!sIU-H&yȓWPa̩EΨnͬBDeRuzzyy".9Q2v)l)0G0U{M+\t4)A(J*@*h 2i& K&}KP`thT}&D0IwD#S F̘agCCboWMI-fŠy6Is ,g)CI6vVY@zݲV dh0sNy\#FwoyFoC4p?7_ 8{ϣU֜`]7QPkJRTnIwA& xInJcPobU桻1.,_c}a9L׿?ïf?LU1'ڑ"t7t .&']66Ty&ryU9ҧ۟pWp{_AUO>MMBKr|Cޡh 8w&X[m (͵-A|k} 7nexw9,u k]1yn0Uh^X]ayX1aU Z`ZJL;aaz̶9M>iR_&^L+I(|q `<| ˮ$bshldN v"O6/p(ΰ8ljsӿOhyTp>w|' R>zXSw\щHJ #=h]O@??ܾ.޹m,)XE8~a- 4H304ͦ)He &AU&3kj0c^Y\W5mλL@,#)}ski@eK:=az;Q!8*>L+헀pZib[ 9ごW-s|Y|);Z+2ǣUր``0[IȫJ[ժFΒ*-UPjk|)+\|H_z6G[5Ԭ_-KXDUYdeYWUSVXM3iG2L*Xl؅m3GWŽB ^_dl(~u] k𝘗}%UB|`Zk]֥]:6~c~W2T RPHt9l@5ʨNI33PeWrDj 9_TKV`y+ڷt/RJl㠱=Uҫj[O#_L'@Al}%~VN"ߗmIQheh9qsW2 NEBA_dDaH܌ͨ$$%H$jz9,8Ob$lsDNA T&!H 4 .T#QW2$Na-RIzYg13 6fL#RdU7&M<':gǾa㥙+zWػހao8  spD󁭣/X(B@7V5il_[ en LKBfr"" k2H& 54Z0 } 蛵Kf7%U8ችg."45L?a:;i"9Zsú}'~N ,Lqϭx˜oC'>t^1go⻟?UO/w 8y-=ȭ0Ja[ iDTjCޭwYw𜔞 c:Mk.5ǿ08>MnY# ҿ{sfOƉ7/YZVa٫4KZ"~}2%2~Xjg/ƋsaȂ5\ZpK~YSq4&rz`l9cӍ|Ls0'ֆfpfvF`l(N7 KeMYG0'^z õ{K+8r'x ͢2\H…d\MCTyE]w/Ap&͟eR;UZhe#8& Eu=ίBet~nE m\2sQQ_,ٸs␔84TnVoB=MKBe^3$#PQ8䉄@t7ob>z׀25|I8w4#$8Yz+׎Jj OA3TgdIY(i_JwUA6 $3|[}y}[5դ\95~$|GQF.y!Ӏwh<=!WF?gFA)B 85gd8PP"7^6tcaOL>BGk:PlEg!'Jf_xdNfv`B5v6$ #sxZF`LËVcgŎSݑҧ9pH,Dtc4_ERA o{DճXC%8Rdv=Bz]AJ-x˘K¹l\*5|;<-zZ{j6t){?k%P--kKdv7w-#ӎ^k:z_{ L!y.Ztoc^1>?RtcIPbhܻH} PX#)i"]MTLf2CK ބtBbjVf4 om1B%~q 8 "9 G:I|7NjiZ<{*"?ζIsWzg^!oKCޕ44W)+oĢ! 'n;pQ,鷂ajrPM53/#bY>cWQːf֧j'?2I&P0ϽgEv>'R۪}e8Ve. , }UrW,9oU`L:ԳoMa"_WmrݩA$V4XMUYq\Xji CU`ĺh̲S|*EudkiK-pAby 9̯V$spye>U 0Ss_m|_sB8X?j YQƊc滪s>~tMz33 Ѡ ?ϜoLj1`E~4}ŭ}c^ՠrJC,DZaO5aY m>a2+ Rg%x1s>X7ĈmgJ䯠&3z~lrzl1l& vYNl5[ݰa;m9\8\ 0/៘.FIsƪ0MO͑?t5/g5e_{}ST0bq1Y7C6`ȓ<,Zm.Dl8/>zcd ?; c>RyW[p۟qW Ne6i"JVKװV=of+?ی_lƻێb o|(n>Oڊ˶ ,(1/AD|3,B(4+l}?^H cjsMo&9ݢD q91WQ_HibFa8j~YJܽU#&-X &~j7lbr;|r{c>q/FF_ĮBb|=0%뎩~q%]`Dr[Rq_cgss\`} s]628ad쾞^QX;N#83E߄,T5!7ҋja 92i]źS ߘt\ ͤB$T!,yeCXz&] KAau1+WtsŘ6Š2őhI@KU< P( EaZҤ){cl̜(ݽ@ܻ0o0R0Y4}А`a#pc)*&#$gEAFtD6֡Q\tWTP|lrojw!PcYZA!0Ars NML2mu5c>i%ˈP+0]e(F\RCA6A~oq=ggT2^(@-IA'idy-Xkb_t TH~ewaXƜ1M_|9y :U.j ;Yq)e\e )e3V\%"8.ŔlW*7U`1n۶h 2 l/gw+95̯>|-#`4ͅ Yִe (YLX&SX/_ 8)L YiLA&'f"(f"fҺ}Vd[pʏN5*`b5;渲.csY|5xx!8$@4‰BvnJYe`F}y}seMFIqJWtˢb}"aPrV ~<_M(T¦*b"g"]!b: ]4 !˨DL1< %룿oJN>RKq-2 ;㙑oc̯ =f,كz#&,+1z6C.~ş bm7--&`i"@;0M,,Alh5=y<^0)SVʺ&ô)]S bS1=Ư؍1+cJG|h?*}*'8z@_ OisV`ܯ`e휑+DR{H.n_my?}7:bzo㘀'w;:d]+7rv~w,ށńwi+Up#F~ acn|2r>0xd0MHa(c_'plEP!*+Fs}؍"lQ1c2S^\X\W*%7# ;;+ ёHYxybL|{f18nw o&/ƫ.bkxqqL=G.aLr˛O 臉q&9^,+xf].o{`1[/Lr2f\3 s] _f,=0ЮCs<:abZI'0jLq([<ٗFp7d 8wN_x|(޻D3̗w6`)Ls65Gv7;r=τ.w đ2|Nbʾ 2N2Λ^Svo`R; l9q+r7]-ڛMFNˍz;m]ƌ`yh/jJזT HGjC?ʺ#=E}t޾.=vu==}(#Ԙ ćR&=J:QYBӨ&tK@ybW*V"WxuKgx`jHHKȟbH[i <*_4LfJUİ-TU4(~1*[ _xP:WyxO3/>G`RҖIA#Av?X;|5˰lXHT5or 5G5ъE32Sb)u3֡ǃ6yj550*ON]|w"Vb~`W<~4&$%p3dL YWͼG| ~`^Y}9,\BaMu | B2 L H nD,9\Yh&OU'`oM-47gNZ::9L 1cLf~..gԭ!`A|L4g+MTs8=3I)e1R_\X%SJ# %d Y/`S뜞nqǪ~5MWQ?d$4]|>8(o #s kLF e 0ӫu)"sL$eJ#` N1 Ƨ K0zJLo3,ކ7J|M'K#>H1j1,ưqՕ^,䊩+aexh58 <7v!O_Elmqԏb۫#<|գ2#ωbKJ{ [V\iwƓ Öˋ֘"/Dޟq2 //)&YHϨEvZښԇʆ~dyi?ca1n3<0%`vYoFb+0y&o9`?k0qxw/tìe.'X}y;=1lZv|~,~ t ]=J0L15fyY8jo{Hx#3K@%y"!鱗Ph|y.0Me?Gl?"o\EH ijy:cBpKsgj |8cIHICa{lŗ8>u1x?3.F'8ۏ~BȪO @J|4Bp:>f%;p/"y (zx琇4'X>ap S0 xۗWN7X۞$˘u"3Y;a BK]1 ixb$V\)s p C;bGoX9_ypG} YI>xvA^u3^V9`qE1fqL`>c%Lq3x)r0L?tϮ8>(v l??nsĈ1zng\){(:ƝxCajU1i$} @Cc',m [0n3q]9$4΃_2vz&uX,9v@܋+;k9Hhn<ggQCXӀ'k1c~|eN]`B\&2KUPV6!ߡη(0>`BA\`l75L`]c,d҅7*4. KˀH=Ľ0 Vվ*Tͯj>UH Q,%`\V*%=fMz_%+VL~73?I LբQj}W`=e>Ӥ`V*,U|;+Gޙ<_+󪩯W@J@*mVV1|+S`+אFx_֩{0gԊ= :4R_^P>o7`;v >"UKP%p%XV__ףXRg~Y_=e|~*XayDL%U `gypRK (1'̼fj>̤R &Nd>S [#\sH8Kol?K ]͸9h{-&q  f Liuvu== CBXoȐf&?$Q XČԪVW~L?d%:JX!o#AO4tU %ee3Xc4'E-JnN!>[Cm8iǘ-~Sك)vb0jR<7 v D}(7?=Q3 ݄?f/Äy1e2ɻ/J]3 "qfP v0DXN ~gvī1㧛NdTЌZn=PW N<{Fӿ8KbQ\E˃@}`0 /Mo,ۆbt1*KU,QnI״•'.2 W%ٵ>ӝcԴfݦ:_8 ('6Ēxs;f}!+#^c{2w);xY/E%G٤#+\@*5%md7rrEEǚ@.~c-EAEp@rܼy66}i9A&]O?0b"2?ca?=i\1ӎb0kPa3bʖ3y vx`)}j^j\¤C.e^>~a ~V;.b¾xg=a~Y9&Bq)%i85#A%-Glmb[WՊND5;!~y,…p ŀh\ 'a^ȸGh'R&`[d_G 8S uE\3S|䋸/G,ۜ㋪ %ܑk14f;S^ӄ漌LF-7(ڌ 0M-XS5S^2jjI0 iq#q)l2ED@m2i ɆU/]9RC10ӘQR3Z:oc&Nmǹ)j&co_DMbV3XͪQ^طs  9ߤbBN#)\Dn5c%@kxY?AT]fxO"R5qQ0k| ~BGoC)sTdf Il|o~XkMHU{1F@if\€Dt'*c2z X|  Ÿ/6EcVäۙ1rz|rW w\oFwKM7F9'/c@IDATLW5Ӝ0YhT_>~MhFYg0I) ./y_=Q;ŕG`y:?~sk m.;t޽Z~`$hcaRWoh(}-fKL/q"|i56 싚eZ0Zu]|jFI+Ƒ)MT4OA+*z9]CVti_\ TU߼nW#Lʃ.gUpW~Vnoe=/T3 W_]%䓕PR<5kg$S b*%MU~0 3|qc[ ψX7 QWbZ U+γb̫XWͰyY`-G@`W5}V_Z{, U Ҫfy;U/5Ry`]i&frbn;Ԫas'LLkiպ2qx=/N$Wͫ }Eg,bbD@Ķ~CBn\M?>! q!)9oKv~YXm} 4< Oۡs0x##ì?>7g<#s(kצּ~ywo䷾yKqsW`'{k0=zc~haۻ0\ꋯw7`k?_kk0Mxo,|h,*RR#.Q*[YۉF #.!EM#W²;2 n"L0$D CJ+hՌgyl+ϗq5-=9_ĈŻaOi_lÛ1{'s1Y/`⽘F`#`%sF/=yXmfLꜷ<rfb+p9 >᱈Gg=T51kMӥ9hbB9ll_YUc<% X%\f&2@ =Ox=}G2g9_fC>Q1C, 0ho6rWV0`KO8ޘq";V7>JdzpLGR6Sp9!AGHyª!2^MHkoJ>3_ 8 Y箆G!{po#(}8_ !:`'~qq3Ü``? vNGŀ9_F"4_؁\Ng1l fq:| rrqr [@1^lWOF`雘t:VE`a=0Rᬓx 8'`]﹈a] ̐U䏵T$',OIV[-~pa9֪eے7=C5L)g|W|o1iv+Q 0ߓ8F*hWD3T{P+?Ͼ^!U`j#f Fb{wOju5q> y_[ayt,hݼG%o(YUm.iMLI0W,*ULiRh+͠>'Tmͺ̚ 2" t%{4 ߯53YAfnTX5qQHAeutp2b\D ^9yX^/; y8y7"N>zYeHLEPH4v@IW V;BF2DI߅% ߼*3}=|٘YP*uc>>=?(J`YM'1 ` %8ŀ~Jڅqt/LZ) lbU< -UF" y%()fCQCae~3Uڎᙑo_ E[0j79}U6 R_ֺ i}x9pİ77+0ÝVar&9;???#&/ǘa}x^!c0<;CX s#ƭ?e6&gs  _X<7xnxngxᵯꛁ@y-ֵ !}UˢfY($4(''!&ɬ\Ġc :T"DcgfUբ0O?;g/v/c.F~l׍^^|ńͧ1,^s < <8ݘu"hu&uf= Yk F )Pqd4 x`NG7x/8T%d=!S ^шЊ|Cʚ oEDM+B٥8s#ր_1ρ_\/?2=X ﱃDD]Ǎo#9 AȎAR'bCϚwI7~W\Gw#1. w`/{i!MyYJFm,F71X$1NJt2Jpr4WԪ_2\LdH2T{+}QLFP5y>O3m,RZZ^bQ-U/.3wEHI8 ɉINO3ѡXR+ކj5- 䝙n?~Oh罷M>f]$`]BjnfUK`13#PzYnj)#s݊^y|?钹Sd$bոv2R~Ova'q#HP:q7uzqI?#+ѱ1h٧?$\5>D|yznf>G'$V5byX8`.W 녑>sDgTow)OUԅ3|>^Z~qe; ?#έa2Gz߇KORfG:yxRo_ٚ y zhԪb X h,=gپ#W)4)4|m0T:}xe!,r Ō^4&9ZE>;./aCcf5:mÖ;cq,<&>{u&9at%vUbQ'Ϭ_=gD?'JpCv6cg,TH̾e#>S;ae?'uxai1vf |?o?cJ*mw7%W0l Ȝvk{䊩Q6Θ,o?)\O7cv7 [y307~-f}Cx8[ObiLnCwHi>M)Gow|ákz [Cg0m+ސw_z[.`D*3JX҈>٣~Fcz-ߣc]QsK@C4{fy[H6j .ZQZt7բ(TI~'JZ@8\Y2ː̚_cn]`_qr_)۩4unӬ[%*TK`IT*8VmU5| C}tvS>&=cT1u>WO~\߅DzqU1`oOB sV՚,2)&똫TxyW>?j5 b5W^u  ~C0IKpT L+'-,AZ`a^k{ifZZ*4֙xe>lWE3QVdgߨT19(st0U{jîs0U+&8ye=jE ,P5='DM&ljy_2k?T^ǵyؼi/ƌ!C~? #FM'/v[\FrR-BJ2 5%˘8t~44\Q2)cqRK0Uǃo ?5!! a[ s$&$>4.)-G~A s L`jKhLMjje)/+DYy[ #p=p%$Z{P- X6ڶ[(+`%%xaڊj}yw %$$ qww, Â۱:U]]sk9w ٦񌆋Qhn5ghCh%3F`<0ݪ0< TVr3M^$ll g PLPDF~_iBy96'Oa'8=G~(aN3:ԯqڱ7__uJ_땡_w.;iŚdO'܅n!xm^m(yl˅͠g!\)|w RS!xa KS(4Wa}08 6ؕ1ipBas`F0m[ե㗁o7F%rc4xǖ/ѵSEDTA~s.J cJmFl+h?No}YؗKeE|q0 ̄ah6b ><.Li!@$p :E|)K +G̦PDU`]Gm=jsxt}caug)&[@+*&vԯ[”5X-G`A󥊳8xCAssQﮄ?3Km4`YNR5+( /YF~:39 22w kyyj+~x`~@󍒐,͡v^NMNC@_1w^,V j6o܏:eSa `m##+9jV3ǂsW* 35 :p_>NDYi-Ο}4ȑ7Rg_S̹i;:/|XnQ>2 _^ǃ}W$< K̓pj,}%aM/H87; soKWB6ts;i`ǝ$«?btLi!$zvBf/tqg2(u/*6'vȦaHzdEbLpmPNgfcfxsQ\q & sg6Kb3wp a09p5aޞ(JO*,@k ONx_M\UPs7i@h <[s(.%nc^j?.#ʡkotBom$aG~V<(LhMh~\ SͰ\:K}`4(Cb_Ѐb% .;/4wo^CO3;$4,={.~3?y.]BkOU7o*Xu` +8(VnP3XqLtۛ 28)uH M0W-|>9kkd6&7ˆspTo3JM)%V(Mc삃‡7 vtf'r/7šW8w'DN@jE߂(oǑBu-8[B|8Պոu.xMNԦ8Llcy8֜LU "߿?Yg#ċxe%R`Ot/ >{Xkn0}?ų?}0sXHac`8f-x|t\XX"Y9w<^>]O,r/O&/ 'c͖aoW\1.&al= fؐP9UETy!W*Smx)됁:^uoDJלFlB|A\XK}#|_O4,|G}$Ihoφ`ƪեҩr\>S-T[*KsP[Q:\p WVc]p[]!?"L;A pWo[۝pP <>u? $Aj=fohXx3Ͽ٧?"Ʈ0J}D `d36C{My'@:!wLmn`2` 6XAj`Mc!ʚ0- ֚#0I| `@6Ao#cSVa lDe_rv JCftFΦZ ڨm aFc$䝀EAe{ _/ُo=+90<, Ɇzphkӵ2qhÁ(e0N| [`VZOe?e~; :oMc$DA/TmȧkPjXq 7KهYaީv9"?UI*]\a21Hs+$XL(; \2;R`% BoU,z3k bt(t9G6.q$lb0{g0E7k ́eZ ͹`_>/{O#^=x94 c3rv~I}qСgUs{u<#6o7-XtLbg/^k+3u XrC4{VX[3mNŅ?oH(7݉-X֓;t% KsJl[]N.~qۤV2 -ۤ6V0Ϳl+0Mu.y.}-K>7sdd!|^Rf\FT-C«d R26C*y?uY \d( ?#%u| ZiXmVXi M } A6!oZ~\Y,K3e\.x. 20 ɦ\TL2R4k | ,G ~ϮKZ^"Mey4om ?`|3>n7;cYM|0xkk>IyyXw2EХKʯ. 0|5o0cƷPЅ>t`b ]=G(]7W,"9@b,M*Tf҅9,ݰrV#)!$ ?w >5)r.ھ~Ǧ~8A3+-g$+( 0Ȳߞ%)ZPs{"?彻< Qߘ(Iy1 u <֢s.Wƙ\>ѬYyO#jC؝toH$dNn^[).#@?VX,<å]4_9jX&4Ć˃a/:0{yT}a<&{a* `}(MD`}Y/ݞ 8nZL7$T) ߞQܺ{a`_0`Y^Bߙ!nw6̶@gcLvŋ/B Adz0O{QqQ~ a?3솩w" bWŜ5~P] ^zf|kAs0ptoUܠ#^,81 5(8 U"EP16%u mP'e) u#^K ͨ;/?7Z6}::D\rO0~  ]< /_Ȑq[%:`xGe> ~i0I}|_[ w%v `Pђb`IAB%kHf'y_*3 vP3p>-BkA®uqX6"FMiL1oTWc^ԋͥW .]Bbzۺqgg'ᰀߚ9eWo-Qv<#@D $@T2q|ηW2Eqh,K ߆\4Tg4EHF_O>{-rT4=]wx7lZ]Bf^VoDdϞ 5B`&_q,1Gb"7dmB4_f89tnYHb{k*5"k%s]^q{X~ƣ~ƓgoI(m>v si̟猹:KE>#Q0^O| \hl *:?0˷paMW 45_2[}2>گ_q@9޽N d>g&MloAkmcTkqD%ΞEmejXS PIK ilQNbߍԮٟY|H%b;x H77s7Fby 0$. M0I&<5 [lCH9W_~D7p=HP Vd`¢vJl(\ ~!X}PS #隥5Ah9li'usPrK0.y7`m\оHCs5\xbSx`f\ "tt%|Uv\ T6ՍȇM.Ad(vͪ4} Go 7__mmt k>4 lĥA`EmJ}fUvR1EM0>RIuA+0OX٥> Yǩ_CP8`=.D(CV.Vq"C-iam:A+"j0"egy(&0x_2R1;jӼey 90*띟ڊyMқDTkSKb̆ta o$bG2oL3L[RͿ0Hh=,0XWDxzbQ |~ma s~ 2X4>^r:\^J?`9U˰+p%Km0\V7BrކvV b SAYky;v//xE(.*0O旹falmeofhjB[G . ̡o ].Ҷ-xj'P61l`jzF0p;al;sgaUuZ,_{l#p||qc& &go86cfd̲Ҥws*;>NQ FOw/u(Mnׯncïy C]B M+ׇa.*hdgb-4wǣœSܠ:FHJߔ>6SH|B >}`5 (WAd=YmPhc3t@kH y,*n{1d La<V;`FBT8i'!7V{23]0vg?~V 0?cj3_Lp3&ix0_pe(,v$3a&jaEP&?o^Qbڇq#0/x/xN[°jwLͷZ/Ҳذ@46>mQLCN4w /{c`O*16ĸ*Œp>_, q 漒,Dg| na5p,g8{=t"A8 G%#<} >V/C0w$' fuYœ¥3(4uzpg[D^ X^rN$XtM `Uzˉ#cE`&z'zCos+\:BA> F/}\p,!@Hr>D+w:R'rB} P1:`HE7uM培V݀;BИ[D)"`щT<hAMQjr8 "wL1H}8)2W-Whb3X `ȔW2p2rq'H^2\t2NMBk7 / o/C dsD'#BMU7mOD`!|N1[N֢ٹD`kW/ axΓp`pJPI_05ݿK;wqߎ踧0Îb_(փ"J L46'`[Kou,ţ't_ebl7 ȇ]r+0 K57 U]YA8$UCZ`M|R^ZXv 0{mZ@ 4Zc.3br85@hTC:aEmN@oQ ]BզY>l9 y`Ѧ l}X kd[usi ʆ]nA퍭S 8綋"4&~%BơLɊ`ۭ 8 m"j`6|H1g,RC &if&k|'UA'G9v?c ߬y^@G/@2MqR%쳚EUh,r-ᰣ9QkOȀ` B,ty{SAD*A\3}ķ"MKz ֕]L/B38ԋ،8\S0é 2ht8ʆ#{`}@`N IC^;4k7p?FI{{<|C?ƗWh|6)d=}[}y- 3w;\ =>qe.?Ԇލsq{:Lc>byx,x }K֍.ܽMsuOUo-aAKNze!t?'h>"=:iB9 +w0XÀ)<`{j(J2+e.ҬX¯4{|y)I-ԊJkKf f˿%20'I-1$%JŝPH]QZzy;yaSRYuR/^ R+]R a>Vj^jY~.|4Iḭ &:y)5T+[gƘ4EDYy3, Xe>\$XO2$K(_+5Hw K-!k-++ ✺;_`NuN;@v9nWqq)'FSc._.JuU=sfw-MT }m)4MDhp55,NgO۝&XK::n0_m hh `}_M=g8CKo Ű0P$h^ u_9n9 4ߛ?b;fIn{;zaٟٜ,pxxCpsA1X#U'">K7InBAޘ?;4t_K`kP' 5p؉90&д\_`n}z~x $D.Zܵ%~.|a>#h9u+zkvp^h׳]`+iz&K0W kaZ7cF:{eUCu6BoS GZKxLsl!4(}_L|Bn:pAFI _z󽰘 "<Bo}Bk(2؊L@j>} v?/|;Irϟah|FdOO1%B~%0tWX@M|>IXxufj'0] V" *I凌&4Xg5B;&ZaIXG6 b_ KΓ7x׿x=zgBl߽kNĦ~l'eg 7,P :21DeukPUDznbPG۪qMu.+MhBcS-rpSLo_wn* o>ħ0=n-Fū8u.^FfIjQ܂ZK#!㆖c8;Y"*YXHWfS{`3{]0[提j;_Lg1PZ$Ù<\[Zņ#P_`ۅ5^ Ti mE"8G`{$rey;R(i4i n= l>EڠR*94 mrٟv@}uiۢkq-0&e 4C;WkBm]0wG `EKnv~oLPHǚj%88;XXMӰ?&@~o07g iV +ñ"/ V_{%l HYj?km22\+Üfjt^oW+hn2`~UE>*0A]L}~6* HbLOMlC%`:ͅ C79 -vX>G /;Ji.լ{G\b+a#e\i%pƂ1rf}ǥ@aŇidO*7, zBE&=X䝀48m +A |w+}#:0ՋpΥd ݸpi{+,$OQպp!cT}0whNzlղ]pn8|U弨n?Wyq!\Ƃyأٮ.6-)4J #pါ?[7p _[hryx9>GTks% ֝ʶ6WK_yuC/Cs\PJ6FY.|,/y=onS5|.{ZoՕ**T,4n$Lj%J1ni- 4ofC ؔR9՗WT4s@,j%$K-0kMC,,%~eh\L$rLZ__.M7!;Y~;R|pzz^~yɅ13z)ᛵ'733۷킍QWsASSW!XKSZZJт>-Mii%z ӷR f&66 @U:P/!^L/b,~ ah`iL@Jn Ãz>40k A)&aڭaxm'n !f+1C}! v9VVp MV23b")&8gf4AAMa[am_5M[6`MhTTWr7a>ȯ:S81oŽϰ? W5ᄋ1r-,31[75{ `^ "Wng'M W[uUa5Ysx;4gֳED?X a\tY0oNM$L`- h"1/4VYp&$^q0JRdF=$ f|P d÷_h"?/g[k%]#MF/pUy=t?]"z1<膋pȃ9E`0>Z!́R1`9,749,a~HT9`dn`p5Ll9:b7yBȕJ46ʩlzqec'bhW~W~r|8ԪX-Ӵ f3 SR|Fh4VW\!e5g۠bs6`7gR:og<lZl/nu*| ka>ٍp+lEh >T:xe]kPx/D6-+n?ߊs;}hy/-:s:J@Gu8Ҁ'ijCCs J i,c (ʎDNa&0ى(L'0NGPs1b COpɀP[hd", ˚\`0EB0-!o0u9',H Z+l(2ac3b>~oHK{)}x+~kw[qaէoqĴ߀K@W@p6pTiLٗ G`?v{>;baa!z>0 #<{̲[UŧAlD뛃yؓ!\'-ן&`9 QP4T'4%Y!(>ey8uyNmmCKSq8~nCuY×6W]'8vHv[|LFqۥ _@¢F˟QqR+ V` Sw<[ [#t d m`痀' ԎBa 'Ns0YeVa7™e D,*`O^')_ٮa%%¯֌!h'쏖vA4 m ·YHuLD~@UG`E06'^h m2[a ZX. ;ј3δݱṘx?FCß 3|Ư6O е>ˬ&D$WtoǢKgWXo2MXQ_S,?q\zC&"Ns@87\3;XhٯV5y'튆/lp{zB;E?$rl-t̏(;bi>ʃSB'xq%% 84  -Z!_`_C`_&pY7 mq8§W?6*4wv)i_>_n:}xyuR,V.S9H^lCjz YJ6#?HknjAd)ee)xTf"M%K-Y [_M~eOk> o*kp2Jfj4 ,MWڜK7;TUU͘9P@PgaA;_iJ}Z1޽{l Y@]]ӧwY*j L 0v55 iCWW!1bIHpKFm ]-0ҚO`LEZqbڶv9Z0\jB]FhN xuBSg tVBXAX MTcktwEKadBl.]sհ *v2h(`6 `1FfEǘP7^mMOp#TBEva` ]jI毧W6tбf֞4\T\ v >W`b3\BJBҵP[^X thRv p!?c'``- G>`OGHi:qȨ=wGET'OO݁ 䜾FD֋|ةOx @m.1l_| +LIq -ΒC=ݏyZ`NKh{.hw+P8@A` +#w`w:XD€ `+sEp5T 7͓qN# c +'ODžOۗ{}V>{O^[co1z&FQusPqeyGQpXsZI^H0f" 02s Yl@US+n z[8v[O Yg$,Kh"`/>v<}vW lM$ '`6=' ObAQ1}[0#sfib#ck66UfM(Q0N\= vNE}xE Cn++O¹4_ Շ)pDkfh)Ɯ,5iFr,JN²4cK i:65FsSE0 0kS9ƶ =gYV.fD!909"*f"3CA]I栄O}ۓGSR' @ ̓6\G+FL0W'|矂1q`kvR[' _>Ay9" PppMimh s Bf]a!@s7{!&|:0o!aՆ͛d~ep0/oyHzoi Iu 0ޗ=)Pl= ݩp͆T诏.Y ɰړ. ' ȓzG ̷FӵI.\ =5=hxw M׆C# a(TG{0rAӑv3s[r$gt7вX ۅ[u_$b3pcil{xnǝ%b2pv ^pqݽ"a!Y3' `^"1L z0 32챶Sjv%O`.\c%k&T1K`X#AuRjy RKK§JsIͯd R(!W³C/yy$TKȕ^ ٲۧ121ፈJ?^aU*oP^NJ2eļ]j ZWv2M%F JȖAx0RjzY+#D~J+oe^r2LsR94:u!WM>]u .  RCC **jBP(: |t"~kZȑ^;L ]fFH}*`J`rh9BCJ@7^=adλ&|xRyFN0N03_ M-7g it#uBF8 ?6A[jK`GZlVZjn/tM6LӾ|  6KCa,>3N ֻ0bI0+4Р5Pr+T At=^iLV.^;Hx5lDtF%zxpH0_{s'+|1f ,nd\?S<G!A{` =31XV(&Hx%BkWTiڝ]4A/BXz TEoW"fk?_kCkK[vqї>+*kIXY䍯ԝ`8 V#Cw`|}}y,< ùIAN]-IUp= 4pE+(:<[0kMa1amXDǥ0_13_7;  a9:4_coX~nܾEݷ~ӁOG"'(Lq49MW+ٛmXȋsqy"s3 V Dvg ʄ^5^Yh^~XH!ʀŎDv Za`-M~3S<XT܎e٫d e (vWn}zD87p>F Z>ۿ!?`[?v97oMpCE.ñ&4pc])Krhl-BSeJ2bP$0 )1ٙQHJCDA/04҇ e+s+MT?9te#VVjl6[i5dfUiB0Ϳ%Ȳy0N-X\ebŐ+#u>|&l\xd5j>QZ5sJ`.Ε&ײk+ }F:lzT8p&t+<=9MIM8eRTtBZH>fHZPH3sjv? 0Kⲳ_0k-ABwjZ`6{q>^B 5L!p5ဃ D8TCJ`KpG$6T4o'6`al-^z&߮Ed28o`t}87:;L7#+e:"}h$Qgc)ͦOۊK}C/ >)N 0;B+Yk? ?0(4^0Ʉd숂Po8 D zjީ*;76 Q2(IPDP `B!C9$AT1g1'̹Ͷvy{*TvujoUkAk=$Ls[DtK`>UXg: 2NhAugA}&[RC΁Ffɢ89&ve,U܅@d5&rm:t0Քuh,zMC`jo~'WSvu ª*9+q+\h?sNGD`C@|ut$Ǐ#<>'7QF¢|OYiΡ,:3J`^bU<-?XͯMDn"+PZj%,u:< ,So+Y%Kk2/|ud%<:,.pKfd[^ KQTC*J"3` X23J ep,.e%@KP2h^3.]", \/7]Y/C.tc,a1w.ː*2ȕ|ʝC/{~U X2Ps='~_aj 5!/{9`YP MA3_@0Ak&"lm{iOKpk+]4 R\Mc7ik.tf/"(]i 0}a puPL\zN TfjQN0Z SYam=K?a54u ]'̞fV1 |0lX3TP]G 0[;EaC87fz`c) 6.>4R IԗvN4UkFlBG/y7ō/ev?ɷ?`c\tw~D<)̴@vW I -+^Ӊc8v6>" xh>yyGO\@ss/#eq:9wH 0/ĜJ!V% m0).JLsipS6rLR6&`id.NCRboQQ0zU$@W@- 8D*}{ch%MJ@? ;l!ᚃO2vT]<}p珟"{kWoȡtsxp.n]"ki8}QX\sMhИ0ِFJEP$X9tdq_&pFĸ"e1)#3I(j0gK =t8d4Üo@ϝ啤x%A̓]\K +1'F|Ƈ7A7ưu zs$}P(:[pk|~k<;EfHos=tt>ݭlo;5hDIv Jҕ",LAa d窐0?/nL\ў<7igaaSF_fѓhe-[~<@߳Bw|`./\\iCaXca!/!'}gN詳8O]٣{b!hx7B߽ﱱt+;P躥H0yU}j"D_w,KR5W d|aŘ*>{~m45z7f>]Vң̰&Ήsn8Ta>[ҶMe-nVZQ⫘\4f_ sR`19inD_λp[+},2kD]mݘW cEY2#f( "e{9SB=&"; !R4PUi LWUI{?E烇X\QTjᲮKkDØjgw ˠ^\)h4D{kuj@WC}E﫵>Ils1 *z,nz5r;53{pyd=5;3ßoP 8҉ȇuE'˶ 7e!V-@' 1<^_b1^ >Hvtn$O󸡲J 6T[p거=E-8kf-J/0ȯI~ݭOb1{a.*vdYz>/%]"Fj-ƕa~n,l &ȶ(#i=>j+0}?HgMp9"![=jI@A&N o)+Y5[2﹝Ou`^ kHW`Z@ xA䶉,=b B3%ű3(WmNEE4;o75*m΅Ip)!20T@r/L?ۈ!%0970{X8΋0|i%҃-?y>݇tUD?vFL17|OLJde@h};H9$w>B >~D폼hnj Agi2(/A߳CHKerKk^#JX,ff.#iuu~ Ҋ+ |0$sYi^;y9}|o|.&ݸe$In.A599YX~Xim,K*C`~糧ߤ_|JmaW> '-2ç %]ٺ+]ej$UTU4KЕ-} s B2,3sɍlwss#\/[K 0í!a>444Sf4FzVtu07s|<}1Ai3;W݆}-`Z  +, ;*$ܘE$:f̴Y65tyl*aeWK=ۙZ+&]u i1ǴYV[-iYv ,sl7AG3uP[ҵW@tLr&, $8^OX0,bY} [`bmPsl\з5CWL5t܍4񒲰F)wxo r7^ eoKJQ'ZNK ]BMuGDI/6` )i;B]fY;5HZ%t8p @Mi"ƚX诡{ %Am`eh:\%.r ̗9ZN~0&ɫs6 *Lu ,lrQnc4HN_D-f$TקrK6I 6 .fcC?kbKV >v\D8S8foip ~k f__h!1DXE_s/ U\"GP7]Nx'gŠxDP}qpTc;wPGtwUFsw~62SQ, 9[x/$-~{c}$"$3H2X]ZUOk[ZY2C)p-UId_~/-2.0ܳUW7{r?t}E'/WygϞ=NncAe~C529-l6)}֡E )H!@NBv* ]޶) =V]c)LoZU1o'S-`9+;0' ^(4¼b'"_Yy&0˨e80Ѡ|闎R’[չKa]Ԋ%4$/kIV4aUjP[bۇp"G/XQT55cN^ fW|Ǝ=QD;6]-d3\3Qw$9t:H/oBrqېZވ^xf`#y#si^ִéuK[ƄuԚӮuDh/aI?zkp?۳/"[\2#_Js2DNZ& oW`A< E [E*~eꢱ._9 xqيp)\Z  ;+w( 1;]۰f4[+aGv\ i\dþq-H̊"آysGA'$fs Sym3kavDva^q7L K9S1}BʺBEAdf ad{^\zŗ87+ؔ}GnŮY4'cnq U%LEB%̨/Ҙ vH֙ r.}U+@/!(r0=A,s&b4+yrlm̀47$8BǓD: @|j uų=E@TOkdh˜R8ј*lL!/> s`Iz? C>]Eǰ%PkO ƩeǼW?:gۓZ8eT~DU K5"eY>[RuL ΁r s^pK8 VE@gYf- </ ƲHߨkS9Jv ks`a{Cfa@ 'UѰZ֫`2j`l}0st/sU@k>%X[g^9|8N9-`c¢oD1Fsh/F^L%3=êEH% I\ %JƼ_1e` uKe?s{ה ,Ff_Z a ? @9.[_3wN+! |Ao`)_jUYoD1zU!s.M&kALDRR }W\!MUC9pw2)4'&TCWD+W&tHZ "‹UmHP#<2v/LfBC CGo)*ud 4 Y #SFu%6v>At;az  +6uFs SiZМSE0$ ^b/M 㳙ZZP'u$KkE|A/TtI>P mHHM|s MR"9(˰<0 SVcxC|5t4uGz&+$Sb09xM ]iC`]݅]H?0R«`AOc=j#VY9hoN{F=jABHedRQ J)R' |댯SQЍԆP5Gva= -roT9ȭ\LXAJstDwr(Aڎ}YO~5 p8KpLܸ:NyHPg !)XƋwz>ݼ#ǿ#iI _B<؁cy+k0cyr:DN}Eϊå;1| ǑVٶH/i-RϟHP7 " Y`s2pp,Nr s8~{?'^{:w{Lp$sxJso^~("kb,߸.4>ߛwq]އq# m+)6(|B1lGdi/|D0`[mAk]GsW%殉źDmD#K2 L]jGhFy plSi7e06'07}+.&C#,} iN =(^mB׌)ٰnۋ{Drbx=߽?A3;w 4 "i (nCL wIDATtj8m0xecE k #+k_R$U5]Ϡ~2뻐۶Yt4 s?im'΢i]cM GZV+Yق7ݥnZB;Ajh'gaibM M Aۤb̫© ;Gp7>'v!߂cd՘ Czvͮiv"_BDEdpm!*כUچLE+?X9W "}-XQ mn$#x慑9E-ˮƺ]3| qn 2F&w*:Aq:Sɀ_KD\9n۸r!~,G.M$Hj1c<6XY۰yFvG;u+ )~) ƢllCבlVK^<0,h r갦}?"w_@ԓ,ALQ?SZZY"œ_D=l5VGL.DXRN!4z07@DV6 ,q8&#[`gR+H=ئؔ֌ DXtΔ P9`{usP45shk䉴L ³s-NUUG VeC8ݰR5}V = >+t"bm]3A,Mo 2u;VpM4l6&+a+[Hٍm胯H.GQ-?& f־ۑXtr~0^Y hNd-.1;FBx>=P @Y VбDcҕB`:!q< LOLFXv 5L~0.q-+$O2OdcGDiavfL 7X +9'.-IYa9I^Hlegv}f…$+[t~fq |S=w?X^`Pe+/3C0ð*\?C~n4?`. 6˕ ~ٺ+p岃Jp*<|AZ3`smj{yS<+ݷný垈kנPlUSSSv#EȈD+)ܞe+_5zFT>-~SP 6޾;Kj b22ފe IƩ*X$H s=C` fi/p1ӚNRFm ^v$@xf~$fC̜b._v6 &ѹFB&}q3⊨Hx&6Æӈ&9k'i-AXC}~)tdC)>Yi[ove ȂWӡދHىAwDfQW z$%Λi60^SH,>B\TBA+2L(M$# z$H eXAKU֍NvgA+(@R¿3[ UX2D7 ! ܒ~;SH%ڻH{$nM<ƍpM\pQ0Ͽ{' o>Żq&Aw#T8H=pEGn#/mybIoyt5Db[8<.ڎci '^$D^&([\ĭkx}d 3'C窝),!lN8U0lGZ))@ )ZZ)0u q _A౓q;o/7@k":1\>7zN=!^=6)g 7' EŹ440؎(dk ǓEy>zB#7/s$_*۰e=:Rz"zQb5{QUend9w, a]#,2P?H%966•pDg94]"`-\3BZq>x|7M. , y!G q2@ILJw DkPw:2/?A` Ѻv/,F`XKc_>/;~BߙH؃M"u‰_8o(Fl(&6e]KݽlS d%eaYx }'ZGc>Ɲ9|ֆҎ!d7حCQ5p@KPz+KPX _E2b+\ߎ~,9l&8g"j`/BFп$Lcao&g[1 3k`'h޻s-~ {GϠ7]$9#9%$^@αH#H(Wv4h`^f3u=#]9=H{.#q]C`a,(َU4ӱ kw!4""`ۗHIЉȃCN[AcCcio"2JSs$4RO8 |{ZQp>Ĺs5ٝڪ Pt;R?мVq9݈ HiLA,)ۢO[8R&Ԑއx=H<-$/4`H9\ sf^0%k^Vw{9p*ÊbXМ.E >0)Yh.H83P>]ǡo"uS6#v7Qbö]q h e1l쇮4+kEk&" e\6&ڽSOu9N {Yl΢M4VGV!y>T ><*`Zs/WSlS:L6$CkM$inoއAV@F^ý!Yi#tjW*a4DfII [ރ4ϸfq8G# h HwNkAxB9bRj包V4Z SK/8.Adtzʍxt$+H<Va-bl9fg..\2Dz<1̲,c6a`Wff,X %JNf 1q|ȴr]64,|>CJkJed&{zů|KW[&ſ12Krynsog6ȭLF>eXZ:ls>|e0O-+^>S`hzw*C x];aZ$ߜ(۷rG@EVxzwۢNEaԩf [|T ૈ |,OF(Q &.FxD&`gP5W"C26 49\ш4&҈rFAK\zX%w(7BJ w/ MiHLiFY]p^,"u]F7X7!- @abV0MʬOlbuV/W" $ .'^op)4]^nJĜR9@]'bK; H{E !^٫c曱K ynAph&ňJZPk"&>Dߒ.B;B_19  #`&>N,7s\f(VB+(aوɘָ>`Ml 6r8&xʓW|) ?_ E1=ۉnѡEL!WV'*$ `'NE|E FXo,$L}|l3S7t `9fR 5p["e8;~?";qi'bBr>}O}GyWxX:q >`kpUE.)2'nïy/W`erS*A=EmVM| kG0U;QIRELy- j:0vj_{dWl=O'8td 'OYՏ(ُzz R4oہY ỏن9U )L$83sH9C’Ƴz6.ٶW@G, Z\^mFP|4x` _ ;]KSVESq- 3~K< ?}k7> ~ !]#=y(.]>sqf4 cZTVmEm][[п~humC[O+B U<“8JMw{aW\\ ř@*]b \Vx^AwUX?;3簠s$x{p|tW>}"xDs*%^zׯÛx N=#<$.=}rgµ LGwÕ46BJYڎ}XB*}yfiBIJlN(BIߒZ G ,(A3 ]Ǯ8"8ae6!8ӡŒ|V:»ˈ Q8fÿgѣG 󋷋Iǥ7Ó o8y>wO0+(K Xۅe%nًw$,&YSVRH0`֋0K0VE'-6tGa:AC~4e wVфm*mqgGpK-Oe0" 9a5XZRۑw? 'cUا4Ke 7݊-^x#p! qPk^ߊ ERv0.j6U-᧮#mdsX_ cu\+z"p#XY0IΆh$4#³ܚG>tgb,d| +Q^$]@IĜ$,F8=H\G~&ZNiMXEgw}!4LLy%]N :L!4`](jCˈjُ>,HgL5R{@w s&RXoBkv9h$lFp1d_AL/Spmf*\^BU}XAQvt]@Ҟ XLc&A^fjzp&/"e qp LDB0/G^%=&tQ M! k@jqC741K(n$|ɋ0Ks;O%Eؐ |,kSl`HK5È{M D:,{Lxq:ml6s\wwjD5CsraE]29D#ZD|Du+z|G/|nup+}Sacj" UCHHf[P9Mb!X NŖTl. )m%Dfd-Ԭ@o10wM0" ipU#J \z6ƞ0 1(+ő POQ] /X8fy<F`l,":2KOz2E3Fq2?y̅k8s*N>sSM.IJlyaaOl"6S˰2xSsc\^񏹆{iٕ0q9 =YB/ usyiі-;%_w2! ;33ϲ+6ʀ2(&_ei- Eh>s"uS%3Jh~VY*ePٕ|F 35_B0LK3/ |s2/?ty S'q=74>T$&sTl^ N}!W&jks.$dOo+蛈ߋ8XX=E)Sټ;7nwbšZ1y~L?Zhx23a2?ScMDGFe")~q>TX.ی*b0_[ W"\EĤ6#%gZU _Ÿ&Ǹt=7^itjuClB-Rҷh`oA6 Rpi8i-F,ޔ)rY/BJnR\z% AE τ G% _[A G?ˮPnFLI#rkv`ro|91EkLa3Sh 5Q"GgҤIPUʺ1΃Sf/Ū|ga= >ҘX; qJ%}"J+]l!IqG6bl謌{3E1qB B~[[ $vCd ӽ݃'?hRLđr+ _]rZD 8B (@pY@%u@Ar6~5H@l?z m(lFz]?IInEeK'&n7<\~\{]<>&x_["=Wb/U)%9yRlA_ e<,m/bi;DZ* rٌfѣ$\Nå?{J`{I[$nN8Gµ)?P{HPHm= ׮N!'1m3`_cݰM9|Ԧ%mХs8$ߖ%^)KL4rmK^6nhܵgƭѳ$x䓗xj6?Gb_73a|xً]tw{"UIW"$l U݆];@J_?`@gxٟ_?YWeex/[_eh2rd,`3>g>WœB^8sY_yLĿs_uN6?{8>? Oh<՚ ʎQhE`)Ž%WQ/,9:!٘[vTE#8*̦,d#˿nHۅ|RvaCa=2$ 3l7?殃QVxkE0F6^ Lom,ŬnUa3˱*P5x؊=]HgI-Rwx?XF([ݗGÏ.X_ d*Nz%!<)W`zz}RrEC"z!;PAMUӎfW"`iGoC?Wa[2,%>}wyNdU[4H;|A{ e`vi=z 9x#"`ۦmEHDt?UEP Ozs#ۛS{Y>^O̖ayZ5H>S :b҆&Nk@DMO³}2_d*EhTs8qOX\KWΣX>sZ/<j`#L[%nC[vb8S?. _of@H뮂1llat-ξɣnqX@:GW bSJIo@B(w-Q Dˈ;XF;tz6[2Uڃ5=:C0C3wұA^;&Q%ިgDHta9OAE~8P೩P.nI.2&!::s;|Iϲ&t̽`$+kԧYuHj:X|f[]ۯ5)BD桨e[H͗k7ic#s3o0J. 2H$s,WF}lIeVQf, Ҋ%rym 2SbVLiXuޤs$%J .m޲ n܃̿X$|`yP.$hn%;B3 JS5,ݟaQB.=,=fJfY/[ ~7Π)'EA?si涳U)<;߳EYW"aMyPU.Х񁾾>W"44!`˭xo?k"7{cƌ9dR|,sDRbA1]S@l]#SGGgTp#**_1(JSZ+!aI鏾A{H +j3dZWhIP673b0 9KN3\-_9- nb5l34cR#j,J(SތVi8A>+1 v4Ee9^X[9\ 5Jk)4L\a<VKn'MV+9bT:OJfJ!]:L."`O6bKd9x;s'BQE]b%1b<0}a MaH`R ~2wB}>&Jup  8Gg^ bjAWgQ=8E$\CJjҶ!RN ! O&z 6bH`SHt[21ue,VF#l]Fv>:Dm1!J\79z;FN?hߵ; wOO8s|rʙ g1q@N^;qk{%U"}?H1.”5ᘛP2$!CIJD(~ w!laT6"l1q=x^޼q5%w27Ğv6 jܘ߾%fM耥2;"{2NހaX <ȄS$Tg~x@mCgW m:}/P m;Djiru2D5׀h6=m ~]Vw}7w/wx=z.\?~/܌}xy+IϾEջNqO+(7O[V@wVms y$? кs ʬN,ƺLhڀMC(7~ge)s2 =lehT|˽2f,둹}Y@VȽʀ;e?~o^"Gq=xwR^Y]'Lw’bwg]#ʫ_ti6}`M0XUJDjK6" {q,z/ m}ȮFbyw'Rбg C'Π~^&`lʢPs ~$݊]l?Lw\ٲ;眻ώ3{LIEL`AA"9󐞇s΂d" s9gGg{gݫZ{U}jUjH9gن){aQҜ.#Ny@&QfYVFxNwϴ8&y +{Jv4 AYPږ-\9!bs>X+ :q<L"F|9^rH/ƖaFp?r/ZG3 7s#8^'s|l!v=.hc0GC;+mCT.ag/&^26t b  C!a?BG%CAN-1pVAcBilM!aYHEpK8Tsy(7#n Ql_ݩo2*KsnPn;d-HHom"`{b3a)=+߃Os/>k %t=W"LҙKaf]Gu ]l8(nUd5 qS&M` #/xJ}5=' {\YH }_ɸnCpk, %eo,S/YIn,'> ^%kre\?%}<~2J($3{I+qd]k T-)h纸Nul1q`x`I-E`HΖ+T2pJahd(f *ǙʥEK_)A`e6,9ϰk 3x0/-04C#g:sY$#ɿ |,+yW\`ƌ/,OLf,g-V_5eĊ=w|̹ltvGbB Q3[jz"ѷ3,$kXX{m!OGP\B:@Cc)[(ȤJ,]9JKaJzq-1 u-83^Go92[]ZJMvPX]};RIŰXe5s(XBKg%՗a2,YK1e%HXJi#8ŊCJҭۅNp $hW 8.aɘ3 6 z60\ ؔW99&vsvߪ,,5X附9юԢA|k+Dͥ>WH(ɳ VXAr/Y  o4)mOe;nHYh%t擂Q7Ce1 Cl- 9}bmM\I) oW '(rQ1z.ZƎk=ϽG [tJt)A.^e&Kyy9}j#8*!בu|Hٰ,n2K*Dꎅym0HoNl1a_ن ړ|[`ـEkuBk{tIuJaHrjGk0ҽgds[bd>'wtϞ }5w[''XyKsm/^~wí7qELGsޑa}BgxJ |5:Xz\eH*0q_9[;Vd`h!f/J`9^Ѥd"CQ< )]Vr ĬepHG;q#\y®ŹCw+f@#-Rm{FaQUGO!f,H\Kj3wߚdNEb0ߥ<| <qc<*v<ZpEʁ H:×W}Xctvs &Toy)+ ˩"GOnݼaֻ@a#\X pT?z,hnR4vqQCqd6";;^ׂŽ>~J+?wFOf]#X='SzS ӡs)lFLqkP=۱"qmH9-IށE%}$5N)F: : z#ss1$\Su\dBgHMe͐O uE:#REa+kl%xNICd"dY8较) pFv21wFt>8!IS`i5y"j^A:LqO`iE;j {DϽ Aiu+BNGA(~k|6!aɸiVƑ^[-Zs._FXaEn3f{{՟Z}WMc%VxL2_!"k\ #aElA` ^aR'L$V v 7[Ҡ-xvwJx8r /9 `U RF#|]\YmРc`8'U# %j„޴`y:I^ Y͐WncѲXV BXc`вbO)lVг"za)r;\ϓ\|`73E q'tD 1X5a!]pݼ doap<`|&Vks_BuH9gWh_KᷥHm( ߘ_8j QQ1HRU۲PS$qTg3rT0yb?/C~3G# 6>[b\:69K 斶YJ"ffN04\K^YXn**` 0T4AьY947yXY]uPR`sBWLˋj'f)-*EKptBkN:v.!дC/+@M oK76 B"B3rNF9L6F% Zl JDZj)8O_@j6Tw" D\^?XXB0fW37#X^܇vE`C"7VmN$rڐ0^>E-&e"" E a$‘UANbg-ڐz,{brjMW+88} .I OCt6Hj8'DV^e0CXdGKJR=Vn#4 `!|;vMˏ@[wq?ZEPو377= Wp1'>?^'"+7pt7l>wX|`[8t$FG "׵/Vu(u #v ɀfR0/ͬFSrHDU/CwGv{t2?nU;*۱q..~oO.-[WR]xP_{?yO?\ED۞!am`  0$Z儯u,%"ŝ/@2=^!*iМ Rhrîelo8r&~'aMeu*UUܖh8E\YJy$Yhe`9K_,؂%W3) V>q?޿}'x [\~yܽ  >FH˦vM:}8VG f*Rت,2Pχƨ-jEe$sZ,"}_zW~>GC~?w`mV4@;&XNPfkv1GhI<_ ep\Cc};w`_Oqgx'p'#~d:FNR반] !q4^uw9)Z5;rG?c5>o2z78F_zm6y@e3bKX-EC{1p&:OGӈkE~ Iq-ڏ¾1ڇ]>cm <og*OsvIʑ=29DJ$_BjiD%`ZwA/h̗|Q?)N2K!P;\ x:v +g#%nXM?'o!=/.4&=ӈ8!@Y&`1A]@ _ĚFje4A? Zpi&@`|'O@?È"[瞧PMv^3]^hE`mjd#Ȝ2L+`V3Ӛ^;s/b:F4}v }P@'g'KٚV?O\ĪN'jЦk9)4ƒٹ X_*E܏-b :zXd֋5cz#C^ಥu:UPͨ'=wZA6~A?߸Bk-H=U4)9GC'(K8u|1i<|s41a麂f`S0uC6{~%4cSvΛf;`UNa$X@D7쁬k#X_ݨBsD:7yЍq'rj,h%#U:nXDW܆V|ҋ. 7R2E">1y~'6V38Aܒ uK'jzZ h,,Bt/CJ$E5K3h&ނ5a)FXi/+w+ z0ݖK["i%RilC$Bs;Hp=8oJ No,Cu1qK29i>}1kciܣe ?EdϤwcǯp;uRs OA\B)Yk 3sE-]{l>ts#f -aYx%!o0b`ssهQ^e r=Բ, T22 IP,sUWro\})3c̕|_d]XV.enW2r9Ff6.}g>ey+[|٢pW޲XroFT3pgxp}|aAo oL12|@dd)ZZI/Wi 0 _K+.\y Hb8ɕp=\rܧ?w?/ym[\ƖWJ ԡ2`vwO``k|^MHR LTů2,5' 6&qLzlCUe9maJz02YB/g"\Oo Q#xmp%Yzc֜PRZC0ZzY+V B&hQ`|鯀6lMZOZɵX:ZZcS/[`KiIDBj# VC.V^/`h- :MN[M=GN,6:na֪h;rK.@> m+b M"ˬ\LSh/g.^O`Չ.D :X$yWY-[ꃹ/< ۅh90t .Mκ.r,"86ɀci%[ E 탡!n0'/AX6B8ګC*Zk`&rF!n}! \ e,萐u+"$8I*0,k\5L+LNy(LzןEgC{y˱.Dʹa>zsgNkx9eJ|L_ ,%8yGBkZQ9.Bg +RҌRHgl[0#~,muJ-f{w"m\ad|K=cQKq9{|c;x9^) 1+L}}5^xMVXK?}y=[|Ma}%F'ށ+ 5f?l6³Al<ǂϹcI1)jZAl̛`ma,#N3VHh3y+H)NK03ƴO78<a6B-1Vфkw='~߾wDZ7x=~ ? y{$> ۻ#3cl~FHH.3GXٻlFvpĂHoB8=3lRIy43v+\?Jkj%-ì:yeAʠJvoz!X3r; ¼-+ as@,Y%ia~J( <p~>gAG(Y˨zp$u ðC7 a%P͖e-cX ؅胩3wq-9}yB :Pv+) >|.vL`M.l#;" ] X+B[ H;@2t5ǿijpsg-#(>p\DӱK`H#j&ਁ^Nt: v']tlAc ̬ưc VUrFA>at^sV,t񁁓}a67'7cePVF }.a94OGfsқ{QB[{? vG>DQzOg/cMWga4tuHN.iA!Zg{n%ce!1A`8c0+U0VR\WXDCľ0we>*(HE9,ܜS_{81|[/_ۇbIX/JzġCoDu3cO"9P}[Y%4^{>}׼; }=+JwC+Jyl0S(8q K?fC=z6רaIpǹֹM0 @@%|FjPX{Cs`7_z4jEPJMU/O>5$O]k]?tBSNA1xaN=3aqt-4=V~*Ӱy}ʀGt|s( )$oGGc|svP*X-<,:źp=N)&8.8V4}ѣ@? УghWtHד;x--nD{]XzH,’ C@,[cwÅ::j|kX׫+R_D0Gg!DxmVEaeXAuM,l 7},IW[,9äWËtե^HE4\0f EHϴ! J˂DjKVcOzi8r`D_t_W.V%& A\- 4w!轊1߀T<q7nyP&|\c/rBPXH-=tw-<9C2YDrS%d֑xb-Ų}KR0+f A)##3>HqYɝ1|ђY4sR}83k1~ɺKj> |)s2|mWr.#ys9fPrq9>fT#q. 13 JؼIpu Ik<\F2K7]Nr4j\K}bIA$)ܞP)r$- C1[ B*@ pv_[¼x b s%Jpvws3hCCm!ua\MVa Ʊ^^ri3hj@YŔXJpdt: vhF5g"/k5U[HM" _h;`?8ʪV/y#+rE_E@c,XX pT|9RHX`vu8- eаb4F'U#ߪ 酛`3$譏|c5ڦWȰ<(HѰ F퍱ʝ.v`qkMP(y7 n#MeBmz6q,# Ś N9 FG JGL(ؼ~r|C: U5јG5 .lUTV ];?**~Nkd;GBHAaw&^#jPMfVF-3L+<_E-ó޹ #Qq2H6G8.ݹ4i|won޽މ#0ܰ^ P@;x'Nn\JkEn+TTIRT"k34wm~b'ܛV$T'{ 0 A ߺ|^~L _ġ$8'p@ֿ#c~HhcϞ䡃Ԉ6MLzUˆT BQR(V0k)]*%"kDDʞ>u=S0)P:$ܗN7ws:penimGHX(C86~?|+o^w# E*$}s~9/߉5{ma>>-]ۇQD'#D5ab-mb \h.4#}>D2)V]0,hY}?]n,)kǗ|=&oǟ[Xrf@%ܐY`Ap*c,Y~VI. u㶀֫ׯ en3(34zw#\-evgSѠ>{'+~,V7 A#6^3 ]x]8R)* 1>Z~ - "8gA'oǷKOu0uH=i^y_+ظ-з ŖTaU3)cXش+ZDZhFxZa"RYT  tc]8\Gq홦No@13aktB?|9?8OI0!)G`5Kw&dV#0'(^cVc~@xD>{/"u<2^94NXH l  Vh; (O\BchEJKP6:܁q5LAG<wy^A*GЏN*jWl򅚳P߆9 uaqjq}:xQOA#$*I X\ڏU]"y.'D2u!|si'yo]K4ZYqDwDx׌7k aOba}W(Nα"U1½vedkIraGsMd 'lG.gϹk :`TC6C&đNĊ='DpF%9`wC;ظY7Dcu$/֨.̨yy#ku>)"ഽg4zA;'`[.N/=XNG:=$u! #{bV|;JoR#`<Pʩڜ=q$VH)o~;!s6ˡhrD<|D} '5aiXBȔfj~)hb ݢ'L_Nc|lNk" v G ݧIMPkUۭGLq~90vLW>mGtJ%%]UoE0Ԗl^l #I.F(] C+uaE=w"=3篡>f'ѱYJClB.9x/ NEzE D)3JM/ 3HXFJffd,Wryq{M|̺;$lIPy]Y2]r`b7uJyj 2{_>1Iǿ`eeg^0aJ40|MY)J4[Hٺ+4Rk@m3Jq޸ܦl- |[dfA 凈4ݻ?_G}nAчEY]xf`|`&4HXm$?jr1$W]Ef_U%m( uvr9J-Q9S8\.܍PSiх lx}dJLuW!P>04B+f^aIMP6ēKkrj5阒k`km=W=fζѢ KHF* BS * = a2 XG@g}$̽.^H&H<>[×ж--oYv"leb #{D& 0qYXF.P_]T{bY`w#3[p~bj_m8e#dP ʏ9rDhˠ)h2&ev>ym"ʼno*Aa fn_@A95t62 ^P& w@zQVFxa4u%e+VT~uTڊsH4xSWQ[H a=~oaXX$N<{a]a}eXLgqSܸy[L܏Mp-ڕbrU|,W.+"qKq}ܹ~WsgҼ\7F0F <I#&Bs9ё׈F&%"$[TZi%J;sR9' ] 8uy) Q4u O/<~?M!!>{F06< Ő.ί޼ƋW/z+".v~Ft*`V_GBM]-zzѹ[lQ2EWwhZ@ʖdA )j#g0/s`^ ssCvAv.b>bd2J[_U)h H'C>y(R7qk>;>},7x->~)yn?n|M=p=\uS|h i/R'Y-ʽ(Ƒџޡ'\_u-Ø 0 \js2*F gH aN3.QEH}v@{ kaj#Dwa0 ?s=D$URhXuz;a;V#E2f"H^R 6LF$X)kS>N^Vɘ0ʄ2Pv. m `AՊV{ {k(Tӫc?."J~4J0u[ؖC}x7C+K=a Kwt0 Ea{7ށqDДl{ar c4Z&O|ܸo ؟[FmsaE?C]%$x|V4ǯh V,)B>א~*d^pMO~3:jT^~+5F2 EiXZԎȞjBi,ivL9 3ڱvyܾOXqN"lxFoL9iX$j va_ <}d1,߃9dPR9r >l bmN珃)XI > ۺA3eniuW.Di\`5bR]n{aL@n@㠑 K= H>rKښ{ITO=w-V~#t1:бg"]x r](9v[^MhJi|^?;K15viE`Jp딈v@G#ѳJ@Y 54һm[2 yy?h,_.F9:&7~APTɆaR-f $aV p(G^qгőE $'(6PF~Ms Cu!%Y%jwAmk*d0syD:JُU񅘽1J[읊9XA/uqu#2ԟkZ8ɛ`~7!4,6+ "- uBүXG-z@-i;4Y5[#rZ 4&|&#VTSM"5J_M-v0XM J$qrEkc)K~t ecJpd~CΞcO9Ti~inFcC'ΜL3<2hJ*!3XM2L |3 w\C:g8ە`TZG xX಼q{O֥xsn:m>U.V\>],ڙ+\3HsRl&޸,_+n%e^c~ur[_02TZW:\Q 7_ Bi!K-&3Uۯ/o4-Td]5.E!Vŀ_.]:vS:4%sq{&aWGBwS aEJgVdBVQ-p{H5P=@ ZcCɎ'`ٳ> vZCKR@aQJ $0܊Hp{A;[&AׂtѵÈoNJRc9j>ipBځb]S)l M0_RlkE qa چc\MH-oT ,|Pw 3DlǙqpkv |O d/_'NU<n7޼%G <{N/Wtcz=Vg2ݬf@9dZqzbedt<6Ѥ0&XL g&NrsepJ g+v_PIx]'u9#^D"*@~@+ O 1yU.lÜ<|˪|f$MKiv`"z1, ) MYޑVۂ>G <&OLpkWɣx9TsUm|=~n~޼Q컟q(;cuH']yAo6e֌IeCPZ.aSRҾ2sFHfHT"9]aO!\|@ ;2Ĝ7aNѤq@$4RVvk?F"0m.5sRG_w!m e,6e0OGQj8TG~*DE7t#%Dl)K: yX}闟!]$; UD|aX'>m q7K1s-0o-ֹ@uF8mҵ*CAc7jwE 4q4o j4JC>xF.l+8z.\GD(9@A%! 3B{;ܰ"0+pl)_OLB6|=زsLnv+8]R裷 -\4Qze0d/14*oDۦX C0K;p;W}4&x#e^EmpoVDnaj8>gsZ)*X)#G ?uW\ǜ"|M?o<5X?AAQGΪ=*V""Ue/ :zh==p;'Śeh Eۡ]چD5P)DumE桻(sHVDWkK3VLOҾho8U׏(>v#0wed~4"jw#{ aR3(kG`S,Xz`VH'HNƦ(yC3ΕS&,Fi;;q;tVy"JT!Av,Innd$@@n'ظtNc.Ww`Qj+vA=0."ג! *DFja]f+z`F6ixB/RG5"0g< Y V~vfc{38:Ve bHPYޥ)̈́dhAwcpo6O^$4R ~9>钆N*|;8!S^o7teLVcot/9e$:lPh, uԭLz[L^'͍pٖA*l'^u3x ɉ'A=N:Npu砼 mϟ>rpy>Ȑ93 8)cY`3>f* H |˳fC LϑJo,$ Je%2IɒK3翥_>)js,s<g(o /4Yrl YnyMgtq5ok \]6*D_~7JgϞ+mE萐H@i4551{`O(YH3Z@y1g&Bc2G4Zjk6K,܌jj5@M}9Mވr;o̚gA༆q#\Sv.xFشQ̴&'V BV텛@YmfV멾*D#>笆M<::D9g2ycߎj}`^yieuVJxCN'pohA*GSZkeRL2z^އԊݰrm[s h;+Ճb aj ӔX[[<5Hؒ&kA&mdh$ NQІY%Y$L`_1 ǵ )*a * A^;QԎL=rfh90XTb%:ρbM\z{N`pl Oϓ{/>"*z[a) E#C~W?!vfRA<~sÇQo߽W ݥIuܸO`|r}|xMp|'{GPؒd[Ђ1ݍ8_Q`.I9< F[E0y Iհ$8%Sru<1`q< gN|c'pC@cn0< ׮^tw:}hqHvs oXK%=H!, _yD:WbzE*wC#⣆?Au_vhμVeG+!|s/ X0(2r] W Ǥy9SyeL&cӚ[ׂ4@8n~{8~">#$enWrt,=KIkz8`M v%qGryƂߥn7l}p!޾~GSœߗ10WoÝҧC>r{NcMC@~8^|9/u8^E(AEVwC98rw5 BE I {`?Z8cmHZrzk4.>Ʊ/5Mlރp4'YD,(V 54iihN y|0 w. #X} ja˷"AK: j(e¢i Vl;" KoX;˖KBϺf]'/WUy;sgm%IADDQ E &%眳d$A@$JDED1alc}u߼7}{s_Z:?ΩsNsI U14YB`|-Ub:S؞Dӕܟ["~C `7 Dẕ̌lEJP@$2lCP3>:4.Yn4/J&Җ!1>S $e<}`%N O VI1%-0o:K̟}̄\O,>Iaɿ8?|\O>&YKH_,ÖfzM_nj'-ey|-!g%h&ki2 '#kNbD|# ˬIkpe fJy)<|\ ~l^[_Z6fxz2\K3,rpñ{ϥ_1ш|&&7I`f<=#|'NM?oEWw;-@<~f0xSf0?f >ix7'1`v)VN8tb}W2@ m$I '3ғr&򖁘;igo^JN#rswBLn}| ?~ >~F {~lIxMn!L~c_#39z'D`vqvބEavcktq']vųi);CIQ)tz{IDATʋ}h>&oɛ2C>L xźa}PBq}tpp@>^{{{!Nx Ga/x5?]:  3eIcKr4\O c?Y/ߧ4!&E/_^o5K"槱#|x١s ]CGT?aTc y"T~IԒ EE cl0& ,kХ' 4 G0ߘcؠ~bx &hwSP?H«7R*GI A/B , C`myQ =t' iJjuJ$T܀Zv3rC8l!!ʠppS-":0)Cy`KuK\'1ӺNfx˻q`&RRScDly"_J" 8XڀCM؜[CN_){8 c]Lb+^R+)oQ9]%[чq$\@!Am:\\@S O/m_^G݇ myԲAEpOw>G$6GbsJ4R ]5FPmD=6&lj\b>t t "^]K&X D _uxQGiU#k& s n+!B8tҸ{\̫Y;ZcuסRk7T߮qwS+X܊RdƿV I'kK/ܯ78>90vlͬqj)|݆{]:!^ 0ao$_tL KP}M ZQpkEGaE>Nz#,Bj4v 3q7y^;^)]v*wjʰd|ezSFԎj/c Mp~WưKx . 7aUR-Ҽ!5 |R#f0d2|ܠ<#šcT ny?fmkfYc\a>&iyesCH,q^X)7<%>=^#\RRD#s\+^Gvv.A""#X9}ſ]F;@W_N?`ΝoE$>f,,̏\3Zn?UI۠v%tt Ks8o5N AJ7G#~xx o>!~AK>}AC0{{w_cxjd(k%,AW40Yuwl/|$O}ӳxx:eS6ac pg4~ɳ5ܱUkč)ߝ}ӏ)$qKXwߋP J\ H׈- HVYx˜)O2Za XosU/?훏xxn^|ޣ5(GvfJU\ikk&%'R3OHZ[I;ʠ̀)͘Jy"_ukݹJLͩ9_|ŗ57"3?$-іS3"4[pXcZ`sY_~V)4$4|>\-Ή;?Kd5?']|J#[sj`8Z g@ТW$L.d@+,^336]0ʪ9Z~N$?*NǗ`g|a`޻X'ܞíBZ| -X Na%vṰ $9JB[+ ,aYhl+WaWbP9W<F ; S}N5xc85j!L`:=@0rc aBL}TOJa{a ~QyÓR D#>p ҌE,_Ji}뷰%;i<[4n-Z yjkmjq 81P%RgH z0腧—5m p` u^|/#uLLN0 J/,~ݷ4(dT}@ыƀC1zfɹLYJ-ljq.nw;ߎ<=7#r`K`x@ɝt[kwX >aY?:<ahA?#s+kNMI1zK8_ĖTy; Άf7G.a5C1 z9Bs-]7CܧqH:[g񉵣rt xڑP P ehX6 {^=p/nK0I7E xbM'R/+#8P(W+DA%qP: ˨2t‹YL}z&r>pɦ->0; S'kMT1iN^$ølV'|`}}":Brߙs{. = BP5ۆce͇ah&B.+ L~w zGcSa`xj;D?ɚ_]Fkx#0T ׀<| k~Uu? %CPQ݊=`k넄4\FǵC}/i-Ÿ@B4>7ïb@=jCbp?QfD8F'fw11y]x0 B=\ώ$AlZ3/qn]p~sS7='$|0 ~ $wO<3ܵ{j#s"O!` ӟ)3`c~nY\VB m.`P&L.'=x-sᜊ;di ,o%3Y͝Jf w|3+Yz?|λ|}~o=^p˦gVU8^iUЍ)af-sq*` 8Wu"!̞! m=C7Kxl@xy9`>9|cch#~J à%M/"1iL913< *)8|=0;o7MK; < D'-v88]w`X%^#X߆4`NLcZ#+) 06-7::HۆqL.'q+@ F0YM`^-C 8v=j%ʓd}',Em`0: hw Q8&g g!6 Eȸ rT^FX}VݸqT9tݙA-E-4M8rRHq KMP|.eR8Xye;E_*?C'8\ '=6/e?13I dXפ ւȻg3p |Omy- <lGqƝ}.wC9>#;aQMI5 _K} RnB]?]UcEXPփ$;Ⱥař@o=6>u}K`.[3L؎ ԏu|˯!vT?pIB. _E}laI~4:㗪'iL$d~5160v^D }Qk@/ ~G!K?z?9,X %T? iu^#:ntOWNf&;\` mL#~'dXf2}K;d *^qA^':^PiY [wtl mxGLuJ]Hcc‚R5vDC>JX_gqj I^*>-Š K$+]GH5rtr68웋 ,ɟ^)uguG3acq-gnO j+Wlx5$WN,Lv[CPn%17!4lmē;$;ŕbjmK_!IS[ ~%kI1y8/U Cus%/Ւ’+09V,&1#'A.C0׃s= '@32Ik|9A\$q^.q~ ^,JˉXZP+Ѳf߹bl̂rD%M/ Q lFǹ"_^i330NxZ~YroBK3'Kb:/?7ˎLL ߐ>SO#4$"X}+p`ı]]Ś_6{$of*Wa֬"W_y&B JEh%'h7&N[$xt;{`]PR%Tqw*/NnTFhLA}#YZgV0t#">A%Fx|=©# MN "R[q"֫Z@E0U/W|]=SkL [Gnd4:Kyex"" ͈!(ȥ cm $1 CA<(^/LMmB`f;"ʇqb4n.;XSъ4@~^xv41P螋 z14 :vvtՃ4#{;מ mbiDD?Hͯr'Yy9:S4؇A6CIK?Z'qwxӭ# X}3{ׯy||g@Ͳ&!j;&9L<ׯ%OQ5s%@K ]BYۇknCԴxCܗ>wx Cc-/ɫx{:;H_nZ"kW?i, Q?~[VɃ30JfBkK?f t +'Kqsfe/>?ߨ <WoD^$A>Nd :*Jc$}S!uh$tVu7>XzN8z)A4>}|_/#z;3kw{jkugf ^x ~:A{tC+|VY* Ru|Cf֊,>Gԭgj#7.4wÃy$Ĥ !{#x >U]G.u>f^ÿߨZP:EpF@=xS?2+?O =Ia92,98f|p> ,º"~)Ǟ#Gkp{= /{"ûi2*B{IZt! bt^"iC[}`Ӱp\ 7) +G;ƹNh,eRVj$ b0  5#y`=/lKl2.ñ`z]©U8[v`uuV:sH~FpS! Cœ=AݰXt~DT`Fr NkBxmѧk -j6_n6NRyW'f=iDMz3X3 예 y]H{zRZ`2ХˈG`y0nSE/42 V9RHOލ"dҘOQ$P:DcsQPbJDb3hlp8ԒNx#0!e]'7}-CnULm>8+Tx^vQݍJ$8jB [mqB" S.ONZ>q̓'ɰ5Z×35YA/^( G9`=a=qwW)@&SZ%'{Jӿ4汀AGKn&e,I`., Z`>%-GsyT/䨋J8בg2 ~ז332 3-q%@$t>'7I2# 4o0"œY'1rcdX|k%:_XRu͓ٙ !Xcji=1\!+u$`kIޠY# ,qY ^lֆ7B?o\]epҭa ͷ{I$%׋x!JsyA!Jp)^_AP$Yxcx$,| /;z! }HH~߿gZ&ͳ<`=z!^DwzLqe'3]h^w/\LNр"mv ,O">W k5E'<~Ͽ/` rh'a9˗Ox矰M?ƒxX| fTQgw`8Y C2y7σ |_, m勷/&yw3wsiKw_8Fnu0rlc.!r0Kn-з7nVV-N6: ]7y>Y}/Nқ[ƛ/;|&XKK˩[*ω'>~fX2I͐riM4,M2%[ɳ+x/>yO_ٟ>|O?/_?{?`G}'=,?#)qpIr8sI 9?7n5.8Sԅ-Y\ʫЫDp9MCؑ 3D p ʯ8_[~%@JΧ~2>-HtmqUͯw^9 Hp{ zP_ԹL@0O.^º}t%+C~7A^NSKU l[XbqX4(WGhK©yuChOI9I L=݃otC'i,WOѢvzS9 #@ډ@Ȍ@- MP!fUׄ:[ CEʧHzI,[#{/sX$R?uKh;0{.ނ9=Hl ͆R\,^ym.?+WV~5 b{nꇅϋ!y?*"% +n-w|y3Hkmt Z O)#v8 B1MwعӰ%2˃Z\.tʅ앁IDWN}>3;" isVW ͢l.nb\ hC}Q 7=sKݐl%B=lp8|{؏p* {DR9,NXO͈#%!<+aLE/[n¿..8Y?$ڞ)l+=Sתa:cJG 1)'z&aWn!e+mX BKVEPYpKoApY/T+4E}p$JW} $y #߬m>5&'~-VPR܇Dw/ݣK9>+w;~z-.Gǥjs%:c&#ӏ^bf ƿȚblR{EX9F;n$C$@abs!ev L)L-cp*[{x:`;ѸvSmMWqwr䩗PC+VNܾ=%K- 4 nycȔ`VI2cXqQ_B,Hlĉ'y›Agb~?q |m b$-'/$,d.oߟhex1,e7s/5̉̚_ҤKjib$jipɉ!X2} e<=Vnxp-`K5|/q<-em3-rY[!yqfXL9ŅTNhԠ |WXrΫԡōjبJ[ ڧ'_Y9 (czA[[WhلZGGOEU",PR$b*)@Ey ۠ʪWԂ>%CBA~'M }ra`x[nvVt^Yjjh j d7бضav*F5Lj PR#fpc A1njjGܡT @IF{H8FMKȪ:S(AIkd@k5tp6o9e}Pڍ߯ŷ*;hf~✈w"ʛψ5*Jv3haXR]8Ve-9IŽ hbq^ױ ep gDO ]*sXitOG" 1JU(U?Dh:^ lvOC4 `rQtOJC30@1PЦ2v| E=;0Pq?~nݿ#J1#Ɩ6bb<`w:BɉEƧCt<6~$& w;{qgb hqhj,r |OM.@7'C/Px|1PִfKoqXe'1Ͼ30<0ƓE[|=yA ΀_?ã'ԑ>%`/E$N_2a`{8w?wbl޿{S<ӏŇ3!%Ӕg6~xv4veО\2ǖ෻0uA#][I?؃ VK߿7Zh:y=zN0GtQ'(׺:݃17偊'&%Oؒ'd @Rm%x Oky/NDh?Ox9-.9]~wukܛ[xF{K sb׏'+R$'~f `* gTwwIϯrX$7`auvY`Afm/ , ԌwCܿ7){ѻw,뜂@g\> BFeȓdX݁ͽ0+0-ooLcKqC\^'~ ķ{[Q$@75<{ftcE<=wEp t~2 +xC?F-^*xC6+p:2 oNG:S 3X4@r5ZkP&!U=ZJ$l;VWs-;Y &4Bb`WUYUUva.Az*kƜ(4A9 _&W vRĬڶ נ]I vԶA+:B:G@u tNp{vwZjT" p9@j5ԍL]WRm Ps+UZ؄%Bi8B5y$Ϝz ;=zXTjOMjWcTŀ4v^ov4`Kz%L]S?u)1dPK.rXt3*l_My,;'ήη# '8^ bv:EP/r`.Χ`0lpvb!t3J ۰%)p JAP(Zlt4+/`skFO}"NisF=LF 3R/3iLލNژɿ3į -a Bd`'=kqE=cp4' ySD>}y}dqR@~Mcƈ,C',*(?WU0/~JSiLK(ݟ ]wUH[<BooOAd %Tj"ȇRQ4Ru3źaEEe@%:/UBq'y` _2r`VIuXg8Gc+ND6ֹEu[+_ݸR6J;U8bZ[b LR9e֊5؊wŔZb}%_ InѠ ,vY(A7CR e4hѽPY;.cB5t];@r&djab$Zi%,.A ^NbU\0gh|q{!Ƈ'03Ar“wVΔ6г>ҷK/ _ki(u zVA0!%O@< cdm.P0@(;[Mknwh¶Py x`v=F, {7oBcc8{Z垒-,V$9/o9F?'9eŞ$0HÊ@JI+Ke%J@)Y2Q'OZe9dVZޜ˒4|=,I)9befc!-A||d$h>KK81I%Ӝ7׋Z`Nֲ^7C0o%/RaIa% K,Pb(eЕas($2.[Ye.[o: o cؖꑚLB~ȳaXB8b@5 2䊴AW *J~׭QfrXz֭7߬f:|m+(CFFe  Е&U{Q^Z7Rl܌2S2ʷ \8ڨtThp 3.'J ()AQ~@Fj;CV 'va9Q(hRgIIsP5u5#Ȗ:%SPLi^!LU^e/uAV}~W9}3(V&:MT.r!:l,T7UXd [!z(Ec>/v1ԉAZi VU:T\[&rG`hO`(:$4n°Ƒ8TlJDhM'q}1[`B#ŧ"ga<y ,/k޾{%~o 0τJ"~$G bs7noqm ޠ2!irgIlm83QUB;4IE0!D" k0*ia'6@_JWK׏gV`qZ6Ғp\k=;Ed*/93DJ0,R]cn#i:z'qzK_`tp 7b~8"ונ{3'עz5z^􋡗Nn4<~ku%WK/_KN l`m,}Ggg/4`1 [ x쑈ugR)<Ұ=l$ sI?Lj!Cn}vW9$c# z6+?!yW&6O 5_0?^ػ:{fFB/<\R!RCTЌ/[<,ZQe-Ni,Ml9F {k>(i^uA* 8qU=P&P6G}mQUmY+M@鐳9' "(" (@r9Y}w>5{5s$o'BKO9@;XzVʎY^e]#0Ԑ<'a$`ӥV t{%mazօ;4S `:{a,CLd[Ӷc~KzfS4x FI;>0n:>b(,FdV))8G鋪l>qi{Jv_\G (:0 ͨ)3QfxXO.18TP_}P݇VZ@E9t9 bxXk᳹az7eT&9n&%E,ǫr¯8Lr*ŽJ%0)SOb|w(`mE~MwfEY C ֌Qc6 pw]Wgn^vLͻ)k,V䢧Sz6mgx T~y?33UlgbjpH(DH!ScM*6l)zʽu~zԕKvyY.l/ɀ}tMayYU[IUpKݪ:b[Q ټ:~ : a -dܧErMWA >v7w6L:pAv,FqبZoEa6k5:3Uvw+/wyz{w~xc91nQY ˽9˽9v1l=/ld ٬;GDS y,@-j\J*1Nދp\e0 MPL便1NuH  8H@4mlz2Į&*&yT+ȣt*ܮǣ^!0z4z>FLc7>[xZ+\نbq%Ø$G,7vaP,dp3cHG&0Tnh1OéP42 N+3;T8kfnG$lj@&H'$h5<=Cn3O.nG@{n hq<7\\uᜌiuHXn!HcjW' =P` _B0_.paT^)ᓅ`Kh\OH _^Zn8,8c>D]ܖPݪy,VX۱>xM%%ER9G0x`tAATkRhl hpko`n2uWfnV6|0ܡcW|ewPGpk GWXȱwD.>0Om ̺JTeow8 aJ5lc+S :'p pУȼӾG tn6^37>#b`<4=-\'oٍwHz [~3k*,Mc`́PiE˶SCcGS Y3>&>"]#Pki 3fl4|9u𘟮]ˁ CN:K2> nWc*8X ^V_؝Ol AqJg"lXDm;śPtAXM[U*h 9x./ϒ<56p.Sac&C7^>_HܥZgn¾p~ڢY5>hG~_(uU4UPE_L*wWvtaJ%@7de?PիYP.܅QgODeTkj]tFe/WǾ*(/qN&RwQ3<<\Avs&sݟm)ݪ tK@gj]s t\y^~imDY&.J0yl=X_B!_B(eo p!=|<7|?! [kz|8 |xm9#bl;sI{' {}IypHBf+*]ˁpމbW[7^-X]۷T:| z Sh[69k%~>XtwSw]B1 Mos_ t _zn%G`Wq5'`ˌOcpo$>v8:>zQZS ǥY{7mnv-(m\ pcpCN8n+N$Ź0"p)xg@%b ( @? cAxm;E~8DnB @lB]Q Gl&,YW)v>|x1o7,d?Izb,[QwX#KaY) QJH8e%|WU"@ՔQ|Uqqҏ-m9  (ڧm1Z[ϥy0_Ǚ`-mx5DgN)Aya:@tN.Tʲܛזj,݈_ǰ5P X]5f2Z)* Xk$r^Q"}Dów({`? E;A35n&يN`?`w> [ ? <n6ߨD=gul&s*B qpueGQ-wpm\?I%L8xp?8K퉗40'B%>ugNp䉀LhԅG H/$,4kPj3k|54F50R^3hXC*kuY+pkՐTuqqC94 a?^*w= S=u`; 6~saWAaG?`>s砙0'%`D X8`!1p>C"a.`۵3{׸(A:lҘ^܇D?\1oC:ġt؅& ҙDl{:HC>#NW/t N~ 0=E $.I0jMpΆt.Eρsb.7c65z#e( I}}$! I:01Tdm:8OSswP.Ĺ[T:›x&.Q37ow7{(I äWu Ѥ{'>7/Wr){r)n}R( qVK"4SMXy'nqFoR럶 }dozH}Q_=U¬ Mr(G5g~>~qh{M)̬ȆTCc` : I@ cgBuS6M@b<; 3,?|@ 7^+WrUsc3\GŃ__~ :M%fgy)p2f;nxG4|/޿@۫x8Lܯ ? Eجp,Et\R8G)'*]y to$ N=*j aB)!cٳgM&.Z<S~YU@dp^=5oC^jknni³j56~)m.oGw<!{Ю޴w~ '] Ly0aa]H?I+6?ǃMhjmQC8=|Tgő/0@@F[`)T}v%GƸ_ ,lht z.@9ʕCp!["Ƹ]|WhyA30CZc@Ô%J ,xj卑!u2cr$-6[naQr6zz Wjg,w^C1?A'ocz^2~/SCTuGa0qZv_Fg|W!X&G& ᴹT|ˎ |OqxJ=: 9 zW@p@^t],^[>GZ|rbw5k߆LIp: . ap6Kr&'qXSY+GBn.%L-RB[q Ui>ʶ.ҝ/߅)k2a5h`iR_s`>fl*w^[!80f( /ح>x KxX RʠՄeոvRR'v{eEWF@yfћa.l)dEѰÂHXIiz xh/ox;Fw,nE:>KAgmrúJd}[ lp]Jo++UU O%{*΂ql꯽ + w&W 亝7W"H^eZY]ٯ>oSplzs>2ͨظ.Ow LU{% 8rmG@g.S-vbKpx1o/n+̦y/aQ>k+R+~) sڮVimӥTva&J I5C58So~]I.hπ\# {jrn\5N3~i/~k*1 *zB8S88H˂ Vw\!ܥ W8m5Eؑ}#S(W-y ބY֋^]xT,]N3^.8\zVh 3}l<a+kt;KUʕv֪/I7p;C#>_|vFK&R5y(ŗS>.3\x?Ku\ӧ@Qawra6P/zvW_k;3k׬S_^qm4>hB}}3rkЫdz@]G^FiWKuֆi¥_,7, }`Iֻ\:b<~Ʀ;a0wuJܧG:^ەpձ pz ^S64A xIv.&t~a m=~ĻK/ipoT]j&H[p`(e+i]殇dJck ',aB%cb ϸl^%p_Z eҸ'c2rLC_Ysz*: ]]>ѱ,،\91Azx,l.xUGhcwxG<#c EA}i] *-^oRy.%{G`@WT볦Ve$+}eIq5]VTD>}=QD*6)XS_*F1>[ũKg uL1kq#^Q@?~ x o,ki}??UajJ}qW6Q/-iB Gՙ\+zoZ L_΅e^ 1)cR6`_|'|xϛerJ}sJ( 󟑛W R0Ϫ/ĩ'3pOu_Le!TD>q3fԩSt}f/#U;{RPJ^.JY`CƤk!3÷]zݠ9bLh%r,ڽ^Tx#o?zt{\S460&3zI=3 Lxk+#jz !( ~VW1s;=I۹Spv [u -X[T0GTuF9䀂BQó@P`n,C׹J긜}^a8L{?{%h&uO˔RS;5cg"|P0 *SZs6U` U:b+aXV11U ~ c'qTu>1Sa?#fMд ^zv;ΡO )fg94/F84eU-mV@pe_ZM%&ũ`Jt^ fr[7[%mVnbӜ +B0KoyHCsAU+u-Թ6W>B\GbE·p/T3cqWd”]cTh?|9 v݈^V[ie #XƉ_ ڴGRW'moyo,-ѻ?MᚵE? =j2^b>_^yjz l&#$}J{u53 5wG5)+/z!m8@I J)Ӣ-.+*]6{݊u$RU!IE[ȍ&:6 6Q m\7^lzQmv]&0>>-#[}}iP&"G;Phg*,H4kJC%ܪWQ{nE}c?AJ{yLBo/U^/b _*TCuS2f͚wwwL4 0~DK.]km~Y8O]SmCх$ϒ>?upupu} Eع?RCO;vn tz4q=a03Mx_z^c*F/8s2l<8AcYkp03R`9k&q2 tU2V<0 f(`)KL[bp&$_:A ݖ5: X\^?dXtEn=bRhh C*'p6> V}1rJ\k00$ z/ mk)֭%##Mt ;ώNnK$PqSIXכ7o+E1DDZBETȻɏ+ xʰ̱#sk0V !b_1[car"nI㶋7l Y#c )z| D|_x$˄Hm_*yv Ƚ}?WHvcӔaK57x-~Ί lt}L1OLNl}[W{:v0T0FaTwZ_;y_S{a-;c>3ϙӮ<ߛwoy+GJO=>,?i~G&5?W960?R45?Ýgߠ;i^_ B.W+w5p5JU c BG?Cf _<#<ܤmVnvOY0{O]p}͸u^},y^ Xy"D:ohA]K z,kaPWfqUfw.b'vT~7n1E2~/簊܄/q#\tfKWR)g?OGq܉q^LtBAkw֪]֋6 RgB)NHP±e? pu/~XC\POG]LnƼq# Ap-_i*̋΀eb ar ߞӖXe9*svL4',Ujoi8̂&w&,&8SvWd\fvrt2v#`Aj!iBSu*쫾ᶊ Iw7qrN] >c?=}f̵8R w_|Mm'vni~WVc _ |o 5˷pP/\{//vwÇ Lc;܎PY[z^L#:ᣆ_/~a.aN'Ы<.>@Nǻ7S -CiWC/Z]ʫQߟ^)kUylǧ1qH꧅z}qE+<heu<>63̊P)k &~ څY_v[<:֧xN~<^Oh5rBͩnB/WgY?΃I>uJL(&0d67rafhBLgz_r&RR r?O/h$._/׵[1\v[M~y9~эRo]ŅKgqRkޒcRar]N1v ϾRk?9a EW t  ̄[Y 4v-T 9$&i\Lc6 b>x ggl&lWap Gщr(=A 1 &-W l=]A/y3q 2VSzϜ T`ň&n90׫/^~blg*MW iJ108G]ͅ@_LovWt>#sTgYpuf1Rcs*̆q8衏t.}Vb&!mFz\G ~< |rgkj<_fc~E%豂7}H/([b72oG){,T̂3t9,.<]WS,5 mĠO.x$314yUx[<{O˵=DKʵK?}ee$UŨ59ϮFћ_׆`WTgj!XD;n; Si8@␜>:  ȅp! nWnn+k&N*s#}m9s dI܉J"8P߮y1<~_[%qZQ@q=W=IZܥ'݋y]a,/Ä3~a ,ݍ vBCRB4a'l sY,Zc_&}Gᐾ>VgX2:NWTe&[ .+rќ'n3#6&WEp\'t=0n}0dQ*B3ajK0*b FFu0'!0tl&Za sVcb@e0(O[+<5l~m.!(w-DܼQ:o˸{pKko;c5= +H8] (wu_qox"T/ϫzQ S߈4oJ >{;T#P{.Wa?;Y;na+mx(U+W.uYkOڲhGy?UdUXEVLڽE0!S*ihBY x>I֡w}gK@0Hnɾ/a skJt+01.}ʲ0gl 3~c{F'׉0󟉯 fbE@G\P.֣U#x6B pz*L*!e赺L@]ο V~~rv9->Vފ z,Lt)iMxܮp:.puj7o:5ϣU򡦧O8F^GEuc8+͖]wIpLSz3S ʥ.0}6)Feu_ QN צ$:ھ_h濰0_߈dx.YclJ= Mxx#VjqgxI5z:~-c4?x% =CˋVzJ_˲7_ }Q)Tܞ29SO*٫W_*hoo14jkQ 1ᐵ=`fa@ἃxVsD YZ"`qIrBxagu,'45v#1$ 3Vh3l2l6Ewhm~[ژ.߹F\p-[?"Hc$>N} L:ߴU *Ö3hM[t8.EpqT\i!{ޫ@>[ qN[޻j$lMՒr"pxwnXDeX,T.Ռ Jmp{>y ;xT\S3{a*6*'h8t*(@6D$끡p<n:O g| 0bUl⭈*+߉CPp^DStN\Ǝc/[y'",y+c˶yd[u o9bdǥZ+±?{76#86c]* m{~8˶LcVPv8HIDATư3>͆cYfz k7f*kf ȺhpsjkpJ/IK&ᗅif}o:_NjW頋k=0L+Z r^uB,JhQ.ЄOݚ9O۲PիW2 VK35xh5_\,\mbUhV!sݲM{jq 'OVPia޼ YOk)ɯTgs[5Mvv5{3F=l~˨a,@uvye~Ed@Sժ%}c9);\c{KWbj\~.5ylG=L@M{,\G6fVAK&2MŰ%;0yOm<'4~ `ޑ>p)O6ٲ"`?6,=h [AQ*>4#9bdtfiQF&rY k`;}9zKg4VWf5W@}(GYj̓g-Jycfg-m Ըq4,ڝ]b=r,G.,רRYWG~ġᓘ9O1 2_nA2H 2$#L¯FZ[~F OQ챦ޫ6s } oX"9l&׽' @:^_1u1Z@̃fuǏTI&.l;se4[_؞9ZgrIX~P`"%BQ$dR;f2"6!lV+ݹj=ݶ_\1~}展"-3SB9AǢ:LۏHIKUQyْ/(g%75(%>xt}DjUX|lodK7))IYtTAF;6uEVnͿ$߄ruZT WxN`M>||@@L)әŜώj2KjȨ?|G7EL.DܶƇߨ$gM+Pάwroyڤy}hO8Ӳon=rK c*sq=Y&fZ O~Ծ3̧GbƃT<؊QehFgi[G-0Mc("L؀]W/Z~(;I|ztܹW'yj]a{Q1,i\Y 3tY\_q|26ƅi2|!meɫrV%Ɯp;Qx`$wg xX*C9i07?]=S]%C-p:1HDŽz<$\OtmW 3aqC hO Q39n6L^4rzØ*VwBrkcAQ%"K!a^$W}wCy6CȮ:=ɫ",%v#iY1<- 3fg\:{~t8ss) `QpEջc'mk:n>%zV ?`=pap`!@l,:_#,(SaL08fȯj| l˕QxRy#*Z"_~2kXva^ ,vsidՄ,7(tCKu$m] <}w7I|_&o^S%\P_SwnQu v={>|cih! }Moߺ7oA[^SpGb+:4wd?[jX[7MܬN6^]9~f[7q}ܾvK旮\q ֊&VXٯ><{E ԱH`Nc}Nxdp_nAXs֮ZM9y5^4k׊-k0ժ3:#ra )kFTB{XYG}u2}k{@M^ŻEލWpXs g%Caѳ4U(+( -moM`\ $) sT1\"T+Å1V#LD훢`U.4O>|7oU1Qߠ$65R'/a9K3?>EMDZ"Ju<)ݖ'6`֥Yysbd.[] .yA`TknëCo&-WylWPVHK>"D1_SjAlK1 (<lv%W| fD7[˜5O]u:J)dYX0 `;~&lN1|$,FNPnѴ  Fdn,-VL@9yEmNbm^^AűK(=pe{ ێ^g2J|VLONٌpZ O=TL^|JWԭ (6U XV50N. ]`<4/Gf6ZLr}Xp+? KK`.C:Rq[j`CY3b KU>awGXr1潰c$l_j=w[^3 ρ*8Lc:Q@`ɉ 2I(RXzmn8vgJʪR0Vk-Ӻp؃%'Cgs  Z' 3S|9zkRT)::qo3e6JMOw%ӷK;w2*d˷V^s18| 2G1=ơzl)lX ڏk*-•zl(6Ai )Gep5]90 j5Č  $er*8lZF/M[%T,%92)aT`Jt;PS2OlwH9+ Nr=n˓1S[-/p-e%xIM42vr 7cpA@Liܻ#{QMT[K=Pԇ)Tfܴp;(Kgq>cĂ50c>v4F 6ܾoQ|98{W t=kΠ:.?] +]x2ꎝ±#ۭg.SI:n;K2kΠO8t,-qZgcolWЭ,,Fj, Lb$pQq6.pXM8X9LdX yz`0,-eωUpCa: -Fh6K]Qj.^Qn2nWʠdiUΰr ZJ dJC ה|XS.^k,D[ɇ%@E- ukj|7w58UBxl떒d^gpe Ea pR1|kp?䚞}UI-x:0){ " P#NH#`Z^›U~כ?m{hB'ASYAuhK*l+LQ YkxtPd{LpOu4t::/^'<Y^p&t?^yjfO_?w\こ5~@hniN{W\aJN&{Q)xw⡲0sp]iWs;ro˻\hO~hۗ/T֖x o~D#>cQ^ '9)ۇO>RJrqO`́Bp*S`8 xd21DuK٤(8Lſ[$<_wVQ./QW/^.{8sVƅ& {2tU*w)*|u>zHEo55qPMeR)\'LvhMe*%kiW!3`&l#ߥ\v{DfY/aXi0̀[\f{[ƭʥ2E`\ ;H}!pH,Uew.:}emh2)8e\~Pw_NR TҔ؈r_Sꝱ~ɃCrI{uZ[$@/NJ"r0,ӈ;!r\*N+ Tnћj)[?yZFe|kS,3JQ}e&L$Rd5`9f+X&S)g*Pn1r( )06r1g 6SCP^ׄ>(+(=h25.Q(uAzˊ\VT}Ao.:% )KS򚲔Q?H%ʭ&{YU08Q T2^Sw럢h}[i1US/y,Kɮ3vH%]tYADZXvf4hVZ Кx.K<B\Gۯ-Y&jՑڥXo:*^SL -@XTa< n ^mJq:n ]uaEEѢE;]wzݭ+M-zAGg0zd@~77B)Cƍ7T],]]bniB5zķ䚆|F`h3V3aC<(>?.xXUl8nsag,hz I W7.|b46c\ kpZ ~`0`gGs %&]]fxNBO_*MH6:O@٫;2 }6-<=XC)o|]-Vk{ 7Vd~a6r*ʴݲTX"diLW]pl01&*,V*P~"0$Ew! a%rNU @xvRoݬƛ |squ:WϞ++)B|>q $tOx"^/q(n -s`,$ ]\`+m\(Zt Ŗ.X`ab|i"&Yی<T%KFo1!pۤfǩo,Ô*'|ۆ7ۯk4ՀρG Fy9kK+svߵčBphj}}z@uk)Xv~ㆶƪw'8~*QnlΣK3adxQB>ݙVg~'.YDBs-0-Ä_^[{vk񓛶u?:kꗧ/{o}ZA{g vcz >y7{UGUʒa՗a jNco>{OΓ»gF޽jo-Zo6޽zrL˭;x=}+?OP{l އgqkvg|moϸws): [h+,%(@wCa9!gP)®\(pSd; ܹẔi+ꋏxz<{?r#7 k0z!4:^[o`n"|R9?!K`2:-_QioTLV)Vܽp8筧zί[JJqd t8S2k-㉝ۀp4t/څ!բs"t Sa5b&ρݔ4Gy>!x;7 p;".ԫ|@yWN@@pJlزDU#0wzVVpϞaa4`&̅$~LCbC*k!Wg_ia`J+\ 8h7 ` Z֨uN}vVfzF3K嘘y8_zxnaXZ+K%sqICn8۶y{P5T@b8L!IS&(l0ϨW (3G0nY kz K,2|hY *sŰ*ez XN1pj`Z$%cYrʅ |^^u*ⴭGBiNۮܶ&H95s]aьZmXܾ#esUw5RNG(fU\[k/@L%r3ߨf1ݘ  KW`.U5S~;'$|ZKmE)6_ $)*'\VQ"WH@nVuM幰 ˁlfS0+a1j ncd njjVrr?(10e&5sP.PljҿY{m))v߽r&je a':u=8CD؍ _*=_-/Ti4ʸ]&:Y n\l#1T΢I;ȱvmb{) y;,]Y2Xü^Eu5ByD3xN0 =GYBʲ~;³f 禡V[NuvݎZ ?鵿Ǻ|Lջ$ Æ SNnݺ*fsssQ tZg[wNcGm5^=ˡ{ZQ7?î-2k e_jX/ ?8rT^.\3LkWn y]01CQ0>`o~{0(i?}ÔLG7ġcCD͸،UJsx@A00 KF> 0Ǒѳ/zvsGQ*ӄHNPebwv0jJdP1ߜu0#{;L (e\2pxi&: xwۑ+`1h)XN:m:`Qβba|[}p``/l>3N^Ia0k>v *UR!` 01&Ão|~n|G ΠrbVYm%iwfm:]dj%gL +G`G:1f}`P|>b*%c7..N(=J8R?i<KeQgB?t`**l!`Wk/A1Pه.֧Auj.qǾe9^ o©߾^y& 何4GO>;NcL)g&oMrWa~A N d?7zZf| ~ kj暳kOSi3=n}8}7Z~> ^\3]`k/]ۿgwqSX ;]g%xl~>_ofpEzPz z o_p,֛s464zc=?jEQ뱺#p#|kiq+~s}"wii*OgL)cq2Sv22[E5_1905]RKo4z$ Qt5tWXuq쪎mQؕ]vn'౵N>11}ZXfT_{r%~?5Dw0.gIX@nm.U}!Az)Jvc}}Bt4穴HfAvrn*ލGP&ۆm19. f㧢xLc@ȹpF8V@֍Av+hg$g*P/|WXeе.bVPnϞ;N±\k`-ezle2s˸'To&_Fc@acJ2]WW*RAw9Nks>`|ڦs=c'QJsi~r%"&o._ňp0D=ߖnwea& (4zM\6M rM#S/EtAyXNvL/C*9[9U)Mvؤ%6ʬCnx lKVrhHa886G#Fe JeI5rV̀8 ZC?VQ9 =H`T~U>l#76r VߺJ8ǦIh5`t;k$} [Gd+jM9=HW) "e|{J;mMa"Ueٱ=#VFWƣw&0"R3, MMn[B0a˔J~U ]TC`#r[s ׮ڃK\w9Cq٫`::Tu}$;nmJd7NtFK gkW+0/zū؍-* k3S^xsʥkUNbJYlWdO9K]P}Y[1:#˱GаM[ . uO7kϯyC[YFgUvKfyJN=;F. G[zנ]y<m<$ k~סYUG1кAWK0LHH5RvOm%5ڵYQYNt,6՚ Kd9c粃Ϻu,Nٌ }~޽;z?O02,=ێ]*E]|[U[]}W*^>{,_(ZEWCˀu1k;XY p[Mcpၰ@Yh-l$-F(b6\`vÃr?LF.@ ͈(Vaf4l)Weaa<}kfsVx|iޮ`+ݮ`7VMek҆z4D=/Ac8sNim_wJPk"N9ڿ_3'|6kƝ[7pGf1gnw^Ƶ0uCh tV䘅f+7.F{>*ƒEZyJ~?x! fS'4 IKSXɃƭ\GWx}C14o,`tLזj8وGh}OZZp|:h$z}`!i%TIښ*{VKL!}||:x.~j'aT^@Uyt 3_~qcu/Ύfl'n?rz.Y_Q(YF.W\s1=/`¯\|nmA_U{~^tmMg<{^Q)/x%@zRFݖg2ѵx8gݦ\G7-$Ԧ)Eێc]|>J{WI|%;̵ f{g[ЈhvzVޓq1?A51*Z'[?MWVUO^a>. _{-VD!uEzH1y{z%n9ϓ hg/he}.7\E RȻ7 q5M٤t_tq0r3c}d6CvFhDQAw/Rtpn06 ZPg]=u$>^ UziUeYyj]:|s^ 9`8^QN>r9$&W_iNb2a/]RpǭXo% ΅T#13MQ5'1cg|| _*y+چJ;^+בv . BnZaS/;ϯS&S/d4taCN![[Y^8vimӠ~zaW[u+4_~7 j:47m&@X:@#fѕdtTgCցX^[}TY TѩӷĊ<{L0Tٳ3+7=6LX}Nv河mis_ DvѤ<7#gKu iĄkD7ߚf,m'z2,]E! h *:bld=6c0w3 *p Z^xEn C8JZ`vJtMeD,.Dg!0ukY!00~9L<&l/'"fFuJ0;[OGP-SP1tvLzKa<\DH!.R`-2Л͍͢$lhoB"s۳"ـQy0RYfӼu^4iXթ`zE:K?𞄡?݇̈́4_FȍH>kOG?iH+ڣ8~: WT#Fe_i;K*3eqF5jnrE`eПr2PӫaPqK__.1"KuT~1rM9+n0Z7T*%9*{uYJ{@(7ˁY*wR) `/ V^pvxLD̳#F2R3ܞv?THݭFnj9KMBq:xg |5 \ rǴj-l8~iUfYAUGfy> z2gmBjg06<ڪE][_x϶pf< gvۭJF捻*F䎣0CEq^+};@ϸ R?T xxR.4Wo?L9x l~GG}Msmn}]>˗,I1.\_~4ƕ`dGgQS/ js8ri+6cp -]0f';.'6{S骿3.->}#uX cc9om؆QJs*8"z1 [D.x͇XZiu:ǀ%XTfo>xhnޫcV*k+ 6Ȗ2)܅J1 UA{JCu.>R90+*y,Z{&({'\=S'ÿY֖}XUUѽ(l +t<"![3ڴ_.t8Sa3n\f(?VSaRnCtQ%݈-*ۆU" 3{wGl됳8^ K`&khd( ~ʫ`l5aW[}u#b\iwgmQyaTڅuo:aQ~;~ _n_~%), ßx_~`>maU2E-]WS01&Ca2 ^ a srh`Zra>,T3C`?k5\L#E!0u;EcYQ4>d^$Fa&<~DOWXy^Q9;Ke$]> W(·ѳ*4ȄǏ=V Z- yg嵷v Sb /=+ߎ(p و.~D Yհ%BufntQ& TƔ)STTf$=@Ϻ3BK/e߼.n%#@s\agOZ/l`˾Ж`n<ϩz>G &೏TPdr_?ŪU}r޿ī>Ⱦ8[ߊ( D, X W\[p-gki, ٫~>śjT '>z "\[*PVbiĒ]]z/~c?"pgRߣgxc@ӲҳZ~FbC1$<"(aO~6g(oCN<;*MʜR|3W=N;W|6&V8(Sr>rc G7fCGݯNǿ޴s uxGoF}aŇ`Vqbfm=|MO!0!*na1Սkoԃ1L9xZrsqRPvOߍ[%!.=} Qgoc~~VOQ pM):յjc0(cYrSw<`޺L pbOn8vV 2c_MPt:v{F9K7i1:=%/Bj>d ^Sk j/`@j&-ԙp ;^}YI/{ak* sL 26e\sS\p&]l¢w\q0`)8 |%xC> Ѣ ]%rOo9 3j 9y ;1$_?s{ĈT\{΄mZ):s[wvon٫,Yeb/hf wl?a=Rv[)˪ ȹIGn"8܀0S%2 Fj:` [KН7 +cˈ1[UeCﵦR~ޛ*p܉ekĊ0i]|DCPqy0M*B*br߸|,,:#o@[LT%0(F\bD$nۨLQvoE1Zpv|2R\%{X&sWYt A*P ?9T?ά<}װ:eb`F,0N򎻋&1>b}hyq;0cq[FoLwqE7z`F=ݻW*n*c *P'9Kkjx}) 7=K <ԽPQ.S(=2ܿ|_A7?%cg0`f(@c/_/#L+`a W%ʸ{b9&| N_G;q lswLi8Șw:O GD6,P<ᓻ [ @ӏ} ge;97>+[^X  y ,.z lu}Ud9Dl?CW# *>\}/{+]aPuA`_|w f's}Fܠ9HHr7o)9'u]&XcH'e ' nlń0t:\9෱ vomwbM~{ u:'ZyFI#MԏG[ΊY\8C 3gS Q*; Ckef)wK,'lڒ]f60iS 8y?-CmAr[> 1lV,E ,<}77B)". =ePnLds"r+ӫi1.Vjb_,vr\~i5XwB,4ڲA"njt1pjD&V#n~DgD`Jzz0sτpG] 5+͈>!40V{D /_ew!T7o/VV=箄7E3Z pY{vy*8< vEf<҆7/^ oHiƶh)>WlxD[@U:uIuv 0' Ṁٲd3URJ1CxO֋>vQo -دQ2< +70' KN0# e7u,{Zи,DOąwT^AK<۷ D҂&7e|IYZ_ a iIm1`OIǍ5 |_W Qʶv\Kpdz1A+>>^\Nzi%[ψicQ_~}yN;G8nӇ1qc0xmn:3k׮,a>wnɣ6gxFZG>={ /nρ[0w݇ٷYgS}vAIO-y쇇@Oԁ:Կ /kx~V=?Oڤϔ#`mQ9oT._Z>g}NഭݭsTpZay+:*m:3mq.rwBa6/ IpI.gFW:ru>;~r?xN?'o*A^+\mjF߉ywDĉ*@/ǣXLHD2UYoϛ{n=LT Dd09Hs P9 %@倄"h 6=3=֯?眳OUkZZVۉDwɒ4%26"\ƹ93s>l|my4N~,4:3H1Ϯ jaQjXXEҺ ރwmw p';]_8 <ݎ&x% T3Cƺ [a&=~&XV 6n8q{.&a[e~Os0U@t^Z%F/&p.EX{{>MQ&d/|N0?u ΍=jŞfL _Mx͗:Z_ 8x j-Ir%嘞RWv=ച "}Ƿ b<S1>ofV U`K x\t³l\a)°2-WxnR6l̨IP21.NcRx6,"2; <~]a}%*Y',ş̃p+F@~KNcaw[b`N3% ^( }A0?N߁gmǜ-Jk15Эp}xfY)MܒڽjMf Tvûn-ؗT;+09 CaX*"RN`]:/#Q@3VEa/2<0j{ƟI`؊sK*đX'0?iO>(^f=+Q8۳Yَ| BP1uŢ=} 7Cg<ʍ 8J)K/ݘO ^\+yJmcO#{+  qExw c(31;, pV}2x]R,zG8ŵ_~TYH[.i-~7bh|?AO[>Ra1p@AIq橁ҫlBAaˠ"ǃ@-3O?Xi 0NϖpztEoڴIMҊ˱IԳ>ٚ]ý:V tMMaY [ej9 KS|7sU~Q 3>/cbD_xYE5>ؗPкFԖFY0 MĶ;s a~N5L1W`n;]\/mMpH,~3 oݭܒͷ!b-P}K\ZavCuv #_C3oz. cop4៖ df#"[\o҆R,`>$޽^-X[z +ΨK N"2}(gbg4lKiPӵP(&-ܪX7$u;3plAhU>~GT,)됾P.<؞׀vWtCqZp< & F9D½|ùO=.,ܱ7㽎p&Lұ94|.[/an=F}ZYމ)՘i>I81Ogi%V7>RWq8&^ OOS0y$O`)>_W`/`Wv%"N=ar RyL<,úbwLJ|abtGO<⥀]"ewpuh6*T!?Adz"v6&q-!8HX0=g@?6`|Pl7֗m]%xCe5lK8\?Гu rNwD؃38yZ:GXt/xg.Fl\k8FcYkjOe>,fxs?&-{u۝\nG0q~ ˁQ|"fd'ZbζُߍZ+&b]4>&ޤO;pD]bYcZ7,sdnGFV*h`+fm,F/>beX>') kNh v {䝁c)kbE,66BW'6I;}HoI`>w6֖{²1kVhX$bNo?ğ V-5?snj D2-: os R090."|zaX7&ۓ>!]`5v C3h|wg/銊}5D%OޓG!LÓ0+.NEL?.ڀ}7Y&G1!"[9'Z[˰Tlȯ{y*k +0#r-ݠN!daM48o+vW!,:hbui֍mB/몡um!WŠjEZ~_'wA1G#3j+cEPF9m~ϿƊ0O²%JyIfayy0w<|!e>QǍӡ&XW/Ew໯ŏo_|'>? nK߻%[nn;S7S@ӿ =nQ$};HAf甠L£ۏڭ:n 7 #޽^*ί^_/;`/2)vpv`~BZԶ  QX9a>UHk0Yke0wf˸ a} T42 Si8X XV,T*ZmW rχk \zΤ#y*ir),*0' [ 3h% 2^T<,jIh-l(kya-L Inkyv'coC OHĄu[ae' oVܼcm]rR[zp(8QPuǻQ} r[{=wP1ty(nV#[}2 _ c ; ǧ#66xBLYwn4t`ԛt 깊] R~I8[ݱ6|arjmM {.aۉv(j¤\q(\-]`]rJ@ gDC!%4p f \}I#v%WZEc"3Nw4 pHCa#p9A޵Y%jTyr$k78H[pg>;sp&c8 FzL Iáˈ:![3kv-uQʪr^MwjTpEy,p>~VgxԯHYg%Gr9neY6r؃;v8PҌhP,;a g t)v9p, LqЎYGr^3^A|"tW-yvޥg$N~ɘb0~BGeaPkg""l0\K{t;$)Bؙ>M/S,3U! {˺aq(oor>"GVu>%/yOsXj3ox~eUi2P\gzm˸x-hKm1Q_/hu7S:۞t,>X&Z[IfB1=V[d LcE`V~Z : 3- zIV`Ɨ !伞XjƌZѵ ! eɽinTH̃+ރ9vv^g9te94̃ ^"v]gl1gnl B%au0_K6'<pMOvg1a:s p k/:)1vUh.܏!(\pԕ;cggIxW7 ˗U%)ʖMH&Š[SOQ,bk0YyN]#U4v9{xla镀~阴fU+48;+e }0a :މս3)NX]u3?Xs:> aFy_[0jn/3k7PH%<wfh,Lap:V<),TQzӎag~3s[ רx5 } FQT|)ۃ0QU6nÕGRin>\g5 $S;Ow:O tab`+}a[.$6]󶫨"ֻſ~4DTi&19H5sS{ჷy ;1rw S'ƌ8d;/`M1V(D~k/:qjlZj+C8>x[e)Q9v46]轊vLk(0ڼ6-!}2LIDAT0iKQe87a$±s(xU#wvUͽhFG(0pHEPy5Bky,NqY1 -r Ov ̶a2ò?a.rn~Z=,D&,:N|0+"~C7B`QNo8T XQ "Xisϩ.Ğ&PSja)mmV>k}mi@P W4cR\&&e´e#l|1 u[ja\&9}Ҵb?~Ng-AX"sWqS̡B&:GKz;̳hAȅ.{.1ZbGFo,D8Vu*4jiDIBu:lcmdo٘we"ysW͞0H,aX^xh6_;^~y*zl'aK \$ЧoHT"sy aҡPO i5I&$횀?|_W8R}>خQ8ގg{G_?u׸,\q>VR=z\ڻ)][[T|.砬#tqɒzQ2UcҮv([(}}=9'@|.=u/&#xo.L ]xnl<;IE0Ap5,VnC=CpnHyzp]B[խr05:Ȓ9Pii<9MFy(OlkyیyiCVhf.lO!0ol]6}/X[52 dU~>n*kpʃ LX` ծ0Y U D1πGD!\b/4}R1= aM4lMDCڎ0QDRA \MXjQ׈Ee}E;23""Ezc:/o  }0sK ,7r{L6"8 AgaV)j;ct|۰=D0XXR6 D{Q}'L )c+EX6f¥ye9n<#W~$J"{9 BUb_y ־)tC ~x/\*LN:vtc<)\*|h+;'GeEUϏ5U[g9r?;XMt (m5< k, tf[>~"yxkފ CO8+|~#8m7~ _Dgo⌊kYۋ1&)ph=I7g v٦q\ܳݹq1Ӈ  <}ZFʻ5$8@Vc?NM}]'/ߊ.E~Gau~jq r`&ܤZfcebw.,M Jc`¢xkwgo}Y׍!O1qAu=%xXZr^i~Z+j!= 3qy݁ljQF52՚l#!Z.?#KME7MT{ , 3=PګU@DƺnyD`Yr5,Nj̲턟@aU |o<%Ux{?&\ƪ>!DdϦ۬ae7 VѠD71IEw#%8qgz7p Pҍ.Mt} Q= [R-BpZ1c2x".YQ N`Ѻ<:vjnCILIc| !XT K ?)z J*ů٨-|ZTl AʬP{2 #nOYޓ#*vkV?I@4V3N.>'aCWues1H)~7 N#:{ayf &&~sAӳ ZϫIyqyX"_kX)ydcQbʎ)pسH%i5痃[w8Fb_ _`U+RI8Vd8qK`]\-R׉" <13 \c@/m{YLDb,qbTãZ3k#c0 Ȃ@,}1F$8 3=.aCI3ä|b.e/ܧxJ"sgebG,[FQ߯bo)hh0a;citf;`NxlLȕ bnp2Ɂ{~mp0;SJU0< >X.dwoP40=!a'cPe\v~^T@|ߣTVXyp̷˜EgX7 A8 }%d vx"8. Y}햊/r- ]Fk[Ҫܟh|U|~([z9)Ku^f=@tLC`5Z[vf~d,~ LG&s\l2Lgvf~Lϴ̓/kvіg :=魟.,;a?ۇC~Ѡ2hf:51 秆r؊{ifKrf;ϯt L' y1$Fb>N)a  A p>zARz9C*l:B^beـ׭<ŘewU,;I[YO(gyqsAri^Q 3l|m%ȲaA^t`ahd0ϾsO>RkntbyW^4AM]|Ya䕘 3>ck0q~-rShA[p{ b α2 >s<l&-pE"sb>E@}+Ƥe oZ}W G'=5x{jm8s-':^I'0tN$p";Ȳ6X0F`{HX G۱V`8E Mu on{ӷB?{`ju|uG=@YF9佡0RX؆e=p#/~ky =G!0cEPbMtr3ʽF%c|VaZ튏v b͹bX{_ Dٿv Lc2"]7 S[peѮ%)J n {Q(Zk7Az]k8hnRLԚSI.طoAsOAòG;{1B0vgly ?88kcc^6zZ[rY7zڪv<@P6sy%`t9)F~SB(Z20N~F70 .B`#9հ+NcIc֧_/ƕ:7{]~%=_7 un ߺW @ڗ_(&onp{k]aӄ)\:/@XpiZx䫲 k1/,,,yOjtfíd#̂0$ rs1Vqn-Qu ƫ^' 4No[|`x> V1fDe1>o-݋J[鄰SpZafzZ{}ХgV :LH,S[!M͒qD`Wbyn=o&H9\K۰? "1۰tafa; om0۾#p 4q(>x km2:Ct~p(W^Ȗj)o@hձ)pK+li<oZ1X[ A]9}\Ū ßV;KwW|>hܲۧ1Vt5r/oR$L/@<X.yLN;YU]'S~xB;kNJnwUظ6̉QP&fac}/\NvYl=nI7fx%1/w@Y#:M> -Q,9-\_3^.s{2 )‡n0:(&+f1qۋZa"`n.`=)0Sba)# T.זp_ekӂ_2>t:9"Tt8S]N=VyrIi"CS!}bkd9fȻ̀YNEu%|OQ;㝥=>G)n6`=ϴJq-+ ?|qm7^rϾP) (((t| s<{k+#]U$n,}8 4dX8 ;F}  [[Ԏ˝xo`̖ޚ &x柁ߩn*(V"$AyJpDSk}DNsBQpk({=c1憹>Y],֢>oxgZm%#JڍQ3w-OID vïƮ-MeaAbKv ̐:-$.4X+ xcDXŕ5e- wtgcaH̼0>O8#Q +k_OíqkѾ`@璄I}/('ZYs"@Ͽģ6z/>ë_dZy::_}`eV%ݑv9"qx:ⵄA}Zm)o |~} d9FrSςuS,^Ld;#,+j|x1500PEVz{ihg(PX-[8ۃiuyݛW/o]<MAi:L̫Ēs=;kv(ZtջEq^b^bRMieĜ]0džt\ox"]>rM/k#ۈ[qS߯~g{|ă__X{ D9R+k{ QhzP"V=w;ʘrŃW0$흖TYmcLڠEM1R.Q>rqB '׷cLv%,־)/y7W8+4ٰpFo-1Jm3g/ˣ*ZXn`;fʻ%16c"j$N'8*pyۛz9x bOm5ŒJ`L R w ^cmc/,%MrA#&gbv@[[ 32-$lrf DZ`_Ѥx^ eKZ 3hWĹͫ¨;` ;d^LشK~;#8"@WAayd 6w#Dfq[~.޹ҁ-CR6< Y^bނ,b52v pvԫt={^,ј^ت&KMKPߥO{[ķ%IH.Kceue01yjjLN`t@2VW~ RR6AFIHra#4]:〜/onƄq$.+£iΝY E&W}KYPv q@ PeX&cq ߄w ؜\2NZ$c LrDxu#%8g]煷ָK W`uZD*1-2p bw} ʸ _yczL!%W#e5Y݋Q9p0 g>1l nEM";&>ܟ8^`&2yQA >MZ`)ӳZOL6 h|\GSj±pmVц9 U!e%o؉%N8\y$Waw(wDž?,mj8$!m=R[=i~튲_UC ZCXPPfiCutZ S% J{: 87ȥC8׍'gL؈q1in|8HZfS8"} _P:3??;щ.Pb2xh˪M ¬;e67!yi#s&s^OʎۗohK0AU8+#@yhfe \yņ<6L%L7V «0AzƄ^L7>#Giy0 Ηdx=AXF3KdZ ڴϲ ~if?;ǗyD̻z{ԁu;k*%ɗytH]ep (w1eFL4Z%+3vNpt?Mc:{[_a2ga +TqoWP. ׸tGL6lZ; xfw,VQ`2e+}VuSk1\$R`lTMy0iv>6^Xg?ì]Qᔂin`r ^g)JBDZ%6Oޟ6 eN*nD8er!f]4s^VF>s՞~ýa֑K4MK,T' |sC0 \cIf6A@e7DX*qL&Ea*# a)XQ/Q,RZYdJA1%:˽.~=rf!|8 +JJ+pf[c]|!N0^rbztA@\cwS*P_x6`UQ)tp!>߄T #z&c S[aw z_k+1] tXl :3.bfR%NaF,s\ 9jK/ڵn众T{LKwZ4f,q,mG톱o>ϕaZ/WOKr07 V#PE36O+Y@9w& ؊bq7ֽ0ظ K}`}`Q|놯H>[:5ؓ-Bf9dCmwrJ_BHe\#:5O"2IEϮm5Sk1+aG*\C~xG(X`g:FG擳뱨46; ;U@`4&od^V j ]++f"F{bet-ՒQ|1΀R68>$XeZ_>X5fLOJKu7|qPJ\?E_eyCWqf+Wzw-/kaYE+SwME^yKCjzxF^qr.ДzҖ^ Uԍ)(ӘFvUfCt&p3ǟ <@L[YtX >!E>`XtV ]FgWƝVTVێnttu*,c4tQOޣaiΠ&މ()O['aLT%ϳݴ+l,&x)zu]_[zŘ2O%f5xk dB^˲3YF{\uxI6^μc34;CH{BB#$ĝݚi=w5W_u)9wSP)sE<12`<|Ħ*e8w'YN[,3SND 04j5/T PK͟Îqr(hi'YԪrX;Ԧ,cup`~1qXBh>gb^ 0N<c^rX6qaj`,Id]TL\f  sO_弳] 56Mmh;ߩ>{{b(zoABBN_OŴIGn<"q1kVL4>+`m „0cQç 3Mq<v'*N[` Ƹ%"?d6 \ۙ𫏍1un|*W@{)q 9{1}>3W9dA -" =0n-ƴ]w, z^N3rĚ]6k`5&`8pg*=R>Xo0fBWPX,rgLSG0&Ӭb L  '@Db&s\h̴ ,Xة*VOjQu0^g0$6}q΍"HFtU;ɧ+z#\`,LTwǺ|&2/x.5w£T'z}wk_>Rf/~^>֗b)x4 Sր-)OI׾3uTj\aP1y}9u8<EC:w, XW q0K2jD %@1^}X>`. Ӆץ(˛2:>Z *kpn WbC<~ --V2ϔ5镙0s0K/ImD4Ke/G O}J|{ Z1]-cn4Az)FShzr>p,}c(ۅaqL1f,Q{f[7X܇Z HuV~80uu2ܫaXcAphPA[ڟt"+ygu=&xc(rM, H̰ JuULD6uG0~1l @ \O?woO&j#, j5!++Z۩yOdp@K*Ҡ8MHOӽWh2pVo=7 XzYxCM4>F`sCאүq ,_^7 OS^'PJ/kPF d|73i @;e'mjb̧q iMjh5n`X(p>k-0a?8U'gY7uL,z5WT)Gh16`r|$9+MwS#37|뵣kt11E-M '? iGc,HKJHLiV5g4EM^]YA&]j Iv@Wk Y'2zb?y^_;GA. &!gˏ53ö /IEk q<|XA H) g'Izs9W-܂:\ᣧ{@=xz7P/5ky1'_ ?v9V q@>o‡L1G=Mۋ&>Se";-#A>Xp>-*0cnoy;1~6|:~[<8'i{0u-0om9L]1i3Ưv扩l`1pO>(s{=CXk S5 /Sf% x.2njv4\X^x62ObXדxwf9Ql6wl.r.3}Qs>2.#y򙇌9YD`c^67ي'|H([ mínkr8Vebs,vN\ vVv#3'|eu0tfJk_ C8Q٥4&kf L \HCupmVG˻,DqqjaRd 9]M/ Q,F`]Qx_K5ɯ_@TYaiؒU[p ˮXVӲ 7Tf֢Nr*BheU>Ĕ@ft:8VՎE XP%yr d.)Y7m|L8}S17k3*5 gߎ-#X*>"oXF$4Zڶv5xo?#P]qδ0N8;*:|: ]ئF:'DYi,|/1+8e ˒\ /C)!O4@O L8]̣]Gw֐9&sƱ0˦{+K AHIlH({G0.S6rMFxE'\ra݈%?sd_6Ay^N]y쳪$ I}K/+w/(ܛk9oLZ֭;ù&C}iLskj`ћ7pa z/Whjs+zw"Brմ0u9*ocsԜ|E۷+o֬1sӭBs\O Gy]kq'`#pT@kN֧Y9nf6`؃u,yV1ui+T&1ZkpsWui>Qa :osbM[4Vrz/kȵsM(>Rw za iu5$>&hԓIPM夰0A iKLDi/Z;Wcgi:x9+k'XZ̅ONX'b}ǘT8&O ___>Ke{r ez8n7_ҏplzs )˴ [?0?z"-ܸIOg#P4~)S0擥X vn18gfŒ]^oOߋfl#KL1<p#ND-P}0邙Ø GVl~ >7pX]c֑;hޝĬN88c+g[ܕVz۱0X q N$~T':cO ΃G\-<"Ly `.;|1x qǖS9/Fx~7K74@L8阉^狐>X6"z>nq*~Rn38U > C;&B绻.W-q$A}Un>8d!W6y/xg&z`pEl]7;g4,k|+R͟~kJ-tK\ab!Y V)N@%L:: K DȽx\Fa9\1)*]yt^"T-wnmgeۄXb4.~C<_a1S3,WE)G~ q4 SdjiX b|z {}Rp7q/VQ_71K7}LȈ/R2ɮ5oAЏM/ɠH G5@f}﬛H7>U |Dt@iIw@32,M yHHM/i*i%@̔&c;5z5gbض#ɺg|~bX}<*[p( [b[f l9[E`|7W X,ge~Y50)mrkC`kZa^Ã8p33|?O_V:H]=lŃ0hl-FLrf]0mƎ.o_}\~ ~k;.`^f5&Vb]z3V,PEȤV]NxkvLquj\+z^+u0.lؘL|  +aw..އG8(s\g5aCfX)0P& d@Viû"aЦfƖL8F)닛8S9xGŤu@oF͘!>)Jv!z=@JXLi.:Ou?X-ch ˌz 0MzYQ2ʩ8X6# |:/­n7ôǔ` ìW%GmmlrQy29Ls/^U^oŕxW^}G\2u-BKO/DPb.d\l0u.L߲Vm-1Tx*$! V `,瓌2/Ӆ&}|oX\ cVэ J+MJ,TLK‰ p?IElZ9W޻}, X n ֱSw>_ĈTL W W{ [/ pKL,*Ow;a[Ώ&JUUz£2*X 134p.퀇__y+1.($c r/FvTtu]»hU'a^J)TwM:C#>Ti'EawI+G;1S)=sH(|: }3#AʉUs`W$,JĔtUfcfD$l!u/0;?ec^l>fK}Iy)kwoS hcrjFG w\RqJ;1: oہYX&<0V=2?IM>n[,":]wY# E֙~$ЗA&Ff`YX*O96I%pʮS~0 r+_ԍՕGt$ELebf:f0)gìZhCB(2k /Q:_O\m~hzgU` 6 ~u c 4-O vej)jJʗ|y#ko/'e2ܰtkG\487_/Tmn8}}s-;i pCI@W[+S[OH[KckCSf,ځ`1LZngǬ609{՘VUnc[`+;b]p / K8ap3b8 `u? _$,_wcu0Ÿ嘱\dža`/.0&/=(@S ZaDHiDpV+gy;1y!Ǭ9m]"xu' ay( 86tdޥ<#L['< "ۜQIz`C>>Yv2֡ؓP4gI>)(hHV-VqV*{I/F#B>SxnL@=y|"? c#`QKiGg`[D!!6@Q03 s17 GlR)Q?]y~W7_(S}tOC&W7* p1T2Gt2?75,/6?^Ɍ2k |d > +ٶ|ƶ 0< (Q˻< tf,KkǤͫ p9gZvy@:[k|K|  hm؊lt6TtbO2`^,9ǯ_~@܋/15)r*D=b:7[/S9akP8?/Jzq[1&q$ >p;۪1p .ƻ.M~-=@sƦb%ބm-kJ,P@sg4.2a3?S[{H6 /m96?u2baq2ЖSP"]E]$L{|މX_qZ~g>lyr"{?L߈_|`̲}H~kD:<wq b7KJpcs06c rkT(Ы>p hg0taf\WUhAq V6`_Gϑ38 +.F-e#4catLЦdfYڅ7`o,';1xk &a)VcIr"@ԣױXxߥ9X 49I}mkA+N#s4c>l9u.YkAY+b}|a1#NU݈뽃8^~Davl&VƗ`]8~ЌҠm%gK1=!Y>=bt^qkamI3f$8:}>*:ė$)|-XX6=fI^+c],;,X0Q`U_d^Ѿ4&&S)k6W.S.΂9mMDa st_xMklsq"w98ck-Yjv n) iSDaO{m&0NdG8PvF+s?>Y 3 ܘ8!lc9l[OlG>g^@&ehz͉aL[12m VαrEqk3/8|}E}jUC_$>aa~YFw/^U?{•yMD&bX[C4Gc4vbfGAie笶5X cEq!Xy&G°=E9mN)a)u8"X̊8̞]NqS`:lo/60u&H0Z DŽrXeczk5}ԕ'`|(!E}ʜ%GrV$ULΜSTfs7al)YlɁid|J:a+g `gT ޭRޓ0y%c:gaӫ+$qP: hf-Yw֩UpHmf=LH0Y;(`#BbXq[1U_4Vf0>u!p;7꾄_As<Pqwhv" aw˩?M̉υJ@^tscF07;Q-"I[{/`U Vb2*hqNV702F1(,lχKUDe82%cW%0 mF6daSYYY>i1[R֨W4 N9[_ۮ?f܋a;>&"Sα_5yt4ikWd?6f)}ƾj&z 4?ɨ5C$fb;Y/Qa[=|Of@?ū/yEU辂 `|kҪ.\pI"$'_|PT5皱VWbWQ7`^O̰ ŚY"ބK,)÷W _/eݼse>} x s SՏYr ["(FʞMsܣIv|L~m&FdL|OVNvq[y]-HFB[3%i%XUӆEYئB-;=phAGޘr ,Mb0A8arͿ]p4l~5QSL1\3=,ܱ^Э7!x8v mcxŕB* `"tJSloYEiʴ2|,t]ؗqa0]}ep뛺Vl s$W3#0n7>"4;:NfKy3ZG\WϐgL|33ϵ8- y 1(@kx Hᅠ4ꐦ)W߸$cLm 2P B}NK[`3wabt*On^] cͰйuhp2{l~25 f3Mg{ ^do.Sڋ~ia& dO,o<@u4[?tPhf 0J! ~Ʊt?9uHY'I=-s=UΉc!p+A`eȸȺ=aZ~UP 6*:\ gYSɥpG$+VE2|wlT9ºxq=^͟we%et@Ԕ5Q)4t{{'jj1ׯa߻wGXrw^.'L1}.,39Y_w<5̮ ZᜦzWj`F{MNMSOϵ80[92'a^~L0A_L|1a8N _S B>ׂ#iˉfԃ'u}m.z01?Ƭ)^dNO/u3| =eI)StB:8 ! г;K3up1Pr|S -٘egUƈprl3D+L.ct`U\E#.=xL Wv<e-jom2mQC^e 1W캯L&V4c Q_yXXÓ9X;_ֻVsY*;`'`LZlgXf>1?n6ʜ @+K,}𩸈+8R{l0fX:x /?? *Ӈ!z.9>WBʬ5Z̘̄I1SIMȌjSec53J-k(ː05Ҥ!t[LXq7a~38:jye<\$$#&]R~N/샞5o&т s{"y2R=XzCG/WKYTx\Hϸ X݌}8Vspl%<:[х^Aƽg/pyk13QDQ}}gEn"{w±Mux]|!s_بRka8yo88žg;Us_3T@Mޕw޽r, 30tE'-CQ߈rU$frރs^k(OХWotFWS$@=w2*>@]8M.`bBx6(*{-" !EC q;VXO|?|c[ +C]v>a. Hň^]í9 ~Y#7s[7/vMS玏L= p,E9p ?NHr/Bp&Y=d6a8"գznpW.Cw| 3.6r5P?t (UC ([ i wn]pÃ0nTl<ۀ8P 4]@*ڟݷVU0- gV)MZ}~MW©|;8Yxai̗6WIΝwzܚ+So*BC{j*4 ?YaŸܯ֞aaZf`0,`ԅ,,~mz g,܂c/AYL H,8 軭a9)gfIYn^|Bd1&J6)MpLjkJfa 16sNace%4"2Rj`]6<2DעMm"TLVB?`DSCޢ5HK\DޡWKi3*b i!x2ћaXn0z]aN>Fk,+ٿWo,{ZS~Cok;HI9I\a^m%/8S)(sl2/}Y>Ц?>fZaF|8kK1jv(C|]yO'g|y 9jd}AY>IkiQ q^e~+4.im8K`c>'~/5dc_[ksdj.h2rEPR32{gIc[qَ oL{ՀG oR}0M, 5ͬ V.-eX=ՠY/%r=dn}YhWqܺ?wn?eT֠\;"R `}^qsSy8 WTx/ QƌdA_|kBrxU/Up +oRܳ;qlfFYsa,rq,fe6=v +0fMYw?Z#t:7>\ot!|rv?_@p#6n5mt -Axu"Hs\e ʂYfnp?w;Dª :wë : ;J0=gj1-X"D@_^'ܥv+й N0VnS-p(GMDa+u_2z%`c4>rDD, ̀<FeX{ =C'0q b[H*Dpv0.'>j\Ps Xf0'S'BM>侮)݄0'츎Aɘ d8^x*a2>AD%@WR-lr0mQL32,:)Xb?m*cfӚɳ> Z5vu]־oU8TuZ{ArIG4$K/m,gZnD0 {֭җ+ł";~0=/ < nEFR7)Ü,̊boWPT+VwDV]GDu{ٖ@OLgT Bjc2< Jm zu$֥0R|NL53/eb>h@Ϙhz1/&Fkab=0@ӵWi}X\zXM)hknZya`FgW+ۚq׮\~u=77bg5څis6a%K`1SMg癛0e-ƢXiI,ふNqX哆n z$3E`u4& cKa8 ZDcL]ucM2o?]'J@,hV 2\eF1(D0\둌N⃘yÎ>Y2?1X !'ӪGh/&`HF Ф=M&aEv cS05 ,T¹<$`^YH*Æ JY43pOvUΰ(lLi8k `S>`Zֆu9+;A0H,3X_ Z-ڈ+QT&EX:e{1q~|bdܱ)*l9V`̇0Xei0HlCa03cId2|*Jqg1>{$y gx%>{ >yدoO9I&jDK&JJJB6j>fTcs*|,ɨllwxWLtn0I(HGHG9 r9,IEr9'PB,rƀ ۘ wֻջy9vU6=qKUlI4zJa~cҁjڙKp#yFkCfp:jT8NkY\&U# )MHmۋcgx./*>{tVqh⎊:{ ."$هLށI٘%p[ ~B'ń*jUMYCyfw.VpBɑE5F}Z`/JcNJDWa \ډ`y֓#`(#Y/KhXL<"kFU]1KdE#B_0>^&Q%Fzݏ)"ȳ`zE6]'I*`RcnyG[q@ol^ : Ln;0HΫ y텫A+&˷m[.ϱ+|JaFFﶘMnyNc` JxN-AnkR1drE/ w4cM I*zUO}ifYome֦wY !㷗`u(͏~ۊ&n}OWAHIm4rEO {ښڣ D/]|﮺׮\ݸxaf>ӗ/_qy WDOqו1sx Nw'p]ܽ@_s-i8W[YoºM^>w[{Voy秆[/} ud}<ǒsx?\9O?}C1u_h`'Sik+5vV?EnuFZAtXo -[suꬲ@3`B3W=s󷞧 obnpMɯUZ{sn:*gX6#LdY<2 l&7Z2&t6KUF!S6y"~3b)s6~ӥr/ᶌӳlCQ( ͖tqv5qqC&\6 P@)cz KٚqYJ9DS ٝ qtQjP .V">_%J6$Ky:ỏ0D(c Frv ϗupQ/_9c 5ip˙\'QؼEQ0 ۦW99u|sKlYf8mQK=[GBa3\e&8ي; }ݪ=g`'JPpYs&7N6Y!ߦ+p-#gn8W}0մãb7L50(RVimgSܘnpɬ`#Di-j|NmF9!ޑX}~{y* 7XXݚҫ1Ros!> PЁqZGfby6>p0xJoJq ؏~QOW;Nҏa|i&#g4\֮x; ;Tdmv <*;9c-67U6ѭq^,ǖ2K9~4q1fa"UՈX3kRr0'"[ ː҉{ unIs {?Ʊ'oW;7w긔CH:Ҋ%#7E[qmBpNLaJe>wOQ =ʏ`HX.\ *jWݪ£]Iko0:H,[L!Ν[_iߌX>܌J݅m0%U#AS[.(ޅᩰ䦣.Y0,!Ӷ 9.%߼ ܺY\pY Ǥ*@vP 5u㓕Jn2QPLM'a/ߚ[qUmt~=hm Ap+,)p>^J]YʩKX3Icj "r^f?TKfZ:%?}]a_ ߿ȶ&g>ޕbߨ҃02,[ML~c(fEqCE7l]Nx ;fB J2kaJ_a+ ҏɱ!:qkJLϢ1MdIAIj>iHy/gS+CbLs~j\~V^7$s7/6b%Kvb`r|1WfVVefeJd*PlIic,V&Ifð6+ǃ7?ݽ%23(i58j$R^EzZ[.B[w=}U|=·q[t:NIY d+Wo+ʘtAtX;u\]7索,}RϬ,d5DI*>5Xj^T)u<,:˱= Bk2w]wM>.>yrr c%W+k5kjPqcMvfj`B/S^:;bZr5j0 z`†`V.N6Z1 C91K30te.Eg~B3vr*̒vYt*fV çWsM&|y("\MT/8sLRV0Tu@:e| c6iv?XEBZ5r3ྜ3`1U A7N*ۦ\U1VP#֡Y87vba cv/J5u"-Bq'/r؜Ʈv$tM)/Q Vs$ hG#AE&S0Hl|5 6NQp眜P$W[)WN7Qޡ9QmԈ=̾[+J)^YlesF#ٝW0bEcEc6bD^]6*3ĕ'C`)IeIb(0r>0j V8TCY s\GQK05E) 9̆yWKgwyNeya. Ufo| -'00mTL4rG%!p>L0>fS{N 8nʇfp1)0y\fyjZESaeJ.֤!4EN" އ#gWz{~C_ ԜvJy(nkEtK;܊[cX[c`%0dٍj*qؒ0uZOPT|' vbY~G\ ϰ>m'a< [yvn Sԁ{1dR(~OWD)FgG@rB)Tх߬S}jc7|%lE.{1!0jn[Zs=&+(P_dWA'ܥa=LgfxQi pkS?9wG:%UQVZFy|>\] R^>5 S~' ߢګMawYsj#SdÊQ+KX4$ŗ L69Rem5r+៽+QxʄǦ ݡh7 "GymvU_g'w\?y7\+;Zӥ,CXT zAq _7&>.T |w O|&YGL䷟ 6S#^.;i<^ 7j5l0N݂$ح̂Gc[ ,ƍ9p{7 {/ Wsl?y22I繡~Kǵ$u ӕ޽ vwN[jǰ> ?1,k]O.zf u w_0u"yN hcm`߄W_îހ\î>V=uf+>ԧke `1o\a@E'X'j/^B-籼szqz#^e \y\4@@ehqpG G fò <^[}yZIv:Aq~x ~u_B ge9wq>$9<+Is[N9/(LXb`ơ@o\&u \u!~caNfbU茣6a  >`^˹`XStx.I08N;3b1TˏZ ",Q9w/Y{hei9lm]fb.MӼ8 pW5$mE*@uYgnDBJ#@:vkǬ0HGcB`!@4A8Zwn8̏i}:rٰ_aJ{ܕlB3-I{ѵli"L[EW)8ܦF['i<7[{Ȋx8)Bs "s:0)m8 E%B=UZ8L0"ml%4,U)nr}G[cO01^#v%¿ CDhZ,`+J(#Z/…өuMgZZ Qh9Pҍ]kBHm BjUw`tlhf.DG˘.q Ny_~#}A,VG(+O x5ࣇx =G^mOT|ӧ=sj(6g~>Z^5wHLLӱ[ gC Jx.VXNMľV 7),Nz24k`=.EfkgGdi%j%լtG^)7=Ix aexKk}?>yo~Ox;|pg, {O-]/|/߾\p}ܗ>?x#C1 yMXxl_&aL xFW~v}8s\i$y0rz't}'a-cpt ] ȵL`ZߚCp?07s[T> 0wPM5Z#J<{R˷"Lǯa{k=g57]`GwO)vO&GCpɪ]]x(UCgQpm|Dž{X _yN>AY&whL]E p0bOKOnخ;i*em:,|}r8  DNnF19,V\r(Sd L;k*2` r ܘj w1ZuR5wȭ=0탓7Z U3{3xjF*GmYǙ lR%!l$ {m*l[Q_AQdD%=塚!pZ7Yۇf+yMCD]! ۋU8wi]+cbax _OnhΟۢ^#)߅RjP:L:?q;7 h^:ܨ_Gtm_ݸv\[7 y.Sfs;( ݛ5jm]YӮF`=.5Vb woocRY&:SBfu8(و5d%\{o oA~]zku\Sic0EDb3X/ak6>FDkY7Ze&XmByTx]u1-:W}kgmo>0mgqs\ ap GCʬ~Aе~P//iES?~T}=|^p!4׫ظBФPYC:K?aL#s> WoA(< La2D|8h8ۤ.IRV,aN /LXq[0= e]qN8ƬOd {;3` +BLP`>7Wj,0^zJͥp*4a L@N7f逍_AG$'|Ȉ Zk3fr׌kHUX/p&Y U  "IτiU6C8Y_K+w "J[|,P5ffa"B(d.Yh<0>-?s1G**R3NTICm[TlѨU1rBe_27UbY&BpYcv,c+TR.MpQ vS) qɿ?᱀7?ǃw?W"_ @> /^~?=7wWOU|ow~3 E([s&Qj/<xxO_OU_g*ɋ30cr/<ƳG ${d^kn))t\v̽\.6e]  [w}|AVOvmʀk.xEnp {y.r\=SyPNv4 YslKY>]5R6d ѫ[ZP9>{G=RZ0NȼN<j1o\:U\oa; tV=<+ir;,RK^gLye35 aXq]kG*@Eط 6"EFʤ Jý@ b ˨WT<,E#(-pM'_*PY=M@~F+P֮} XƯG!CڱXΗ/vmZKUT́!K:"ewE`94Ns1(x5>Z8 )n#p.'/pЬe6Tw[`| eM'5#@OGoJX&xDbȢX pZ .:Xx-Mǚ\˃a]6Kaܔ 0Nq߄37/8~,V*s!i]m'5%%FvK4ݪYYHcu5٘ڥo~As͇ty̗ _b=—/~_n>|Z5>v$Ν[_Éhlr0|:LX s7Z~ |ka^8kƬz>KEd[9 %ɰ 2iue\. ˃(!pl'nU.Sq;\ [oBewa.p10pqv8Gii,Ge~4[O Q*jLÇ>vscT\2/gsV) Mp 6Se' mq@xN̠m%wK>8BL /ة u].[ [}JI?}P45֋v dgDV1l8,I#7f_.tŚJg!2Fv)w7:8Ė+EݘSFNJcҍp ZË!BNjt-#JQV+ O^6A>UӮ }۰}{/8';ڎCo;'O<}L?}j?闞XԿ!w+ፂ%P W b1qܮ_] t&LFFFV`=vщp$|r_?37?ruFփuK/٠߄pևkʴr@ֱiWqrz$:'c,Ǽ?swr汴݋G~_}8/TޡpW8u͸=_qO 904೐t|Sa]<:N¾t7E~Ma%m(*]i+\r`\sH ws t}|f;0I*^D)h~{>VO#pi8m; c! 2nY 'itQȯ>0YxSi;t+KuL0su"8τ& 'Z :Na;,EY C&oV86ø(nEKB~0$`z 7=S;,me* O*8VcuEy$1& }iYL_:e4b/xpx+[mcJ=,22j0pf_ 5U`9fp56uZۊ3x?x`G>[Cչ[Hn?CH<[* #C"a7}ܖŲ0W 8)71`cf |pYEy$T(045+ !>L(p4rۧk]Gᦓpo> s9`dG7TgcvG,mPtئv2a+mm&58$TVk:&rCYCmw`b>e)w-@U,tkޫ>Vur;ϷLdYV`?{2'ZN|G6OA_Nu`n<<*(7R)p :j4+k}b5\S.h/9-6NKwaeeIvHUnvK+@&C(wJZ`S NhwS7V =PQm i%6n[Do.iZS MWZ MPVtΎsca#41w[n=yzRrPe:mPٞrl,:֖PtwgzA}`/Wwpy\Hb&+3:@tv,yzfU Pi߼.zrM;n2 oS54s[U Zm&r-ƄW0LIX_'bڂݩWo'-ŗt2,61XgC1TF,u5і\>`6~=j-̇? =enܮՐk|[{L7.]ׯbxZ[д. Bgo~}"gfabX{-BߐQ`3a648] EQt (5,MۺT79xzm&lQ@nj(qR>Y6<`1CŜ@bX y~ڌOVrJX_qYj1& *~ a1|-?D)cN10i3L0XxL:%3e=v|k{*8o΂1M FDL,ʠ%6*Qs7Y2D rM(X>`R*==uqBtqZ%BGCvQEJQB]`e"k;U2cˢETdfvlSz"|MPjA6Y0EBVDcΎBvo__OFԮiُ_?㪬/]½7[Ǐ=Sxo_ŷo m.jEj{n:8- +3? =Gx1/@+0c?{f5=VE:? NA(;0|&RkK+aIh/they.<&hh)}JݱuE@h 6(tL U峝ײux'[~YO°cY wo+˵>' w/>Q9_)yxk_ t(lVS0 Pn 8wM| M1Sޯ{qE ˔U]}A%ywm ^}W`/쐭(EdJHtY>-&.Ze1n9*s +[1jyQ3_ h /֑Q:QF10<;CVV{F}[6 nNZQycBpxKHԇ9oP1iیES 9_q]'S(WN+J]aۿA^,=g"nh؋ný3Mj  |,Cp`  f\A3^.Z1`q(^+p/Ű<ksR\+\'02G㨺punce~֛oT,ft;Hs ]GC:aaLOԈL/pxLUm0wvc$3 ( i9{a=+ Aᥰ~.ti<*eQ{U~8U¡]0 8eܓ򈲌}2Ǖ1ؚQ_u*mxA$m(víJ ;UdIY֎R@!щU?Noes> k| /WczJ*6!5T;) N)*d`^8絫`B<\~Q ?\yKWe~ 9 y0KLF u ߹m6nGyl]X>³1hc2\R fe*:a"q;,L +Li.=#g4s7yNxL@0$ɰ Yp3R^(W)(C~ܮ^Qw.L`l枅ݯw/Dq9׍wos{| *Qy"En޸r0t>)PzK㥋*[Լ]լ+N=uS~W[t` ڲK_[u\f lr>qUl+9c:lge>]50an`4̓t8,5rnj @5&CE ?,#Ph@n8W [!10vip~@3NXxdd hfHifx zd/R-vU&8)T Ɲ|<.DmY<3m<ÜʵD-ORf3ӚXkc+붍x1fKLˌ2V)3<8k%[41fh|1hz8̋T(5gR y-&> +!+= SLVY5\("ˤ2;K`!ʋq{bYHnx:zRR>6rcd+m0m@͕x_ ~3a>!1Uؽ]N^/x!^߼o;_Iܺ c|a1{6X:CQx06ϞC-D׏oޫI>~>?)}<ŋ{ Ү\< yi  f s|y,G)dPh"_]l]PZYnTt 0k/K L05Oύ꾃^Z ¼6!n۶mSf\zp@2~k4~NŅk%\Z[߽o^J[?&?W /?ɳcO;/՟k}?v.w9C7`8|k%'p .Iej-aLsR3D!SE6UU8 :E9Uv FUx唃Y.]Ryl'wbt% o< [Qvtl8mg!CLF5Խ_$t$:)=JB S끑|s2UGϊ6i 3}c|Lqz:,t l?rfQ$ D!E*2å#mǖ(ˠWqx6 Z#!gl'^YTe#F̆WH2<T.K[|3)jNVG;4H_' A9f7)Wi~{C! ͅr;0i *+o5;g|!UA~]u0|m?˒p]\iVfBʫBhy36!id8.\S1w)o۵^sו8y/bEObAf!'ayj)FFvBV W=w.jFk?.Ɛq*~ <7-<w׽{'N7}rn3\e0W++ooW]fuڐ]Logj&3iýMȻo6RYŢTe-%2 .e%a; Vn#YzSz>N ؐG.< ~rVQ@|.m@z,s[~>'an>'sdЮ3K MDnJ;ydsZ2YƔKZ:l̄AK4G-JYHcf3h}g6j=kۉZv[Ǘ^H-m-7pg.Ǡf/sL"* BB4Va;G 3.<@Y]s%X ^C%;C@9*T{Ⱦ)"۠½Rb4 X SnCVp쩃au |D1o-UnΫEW #C&Oo b|꽒> jMŁbVDCZCeK fu暃4q޳OK oܼܙir4gP_/pepZy^yוe3*4ݩ ,kzk .5[W{2;kh{?u~Xm pYAC5GVs;mڢoV_ SɵkװmAu-ЫzV5i40kfo1R{jek>kG븿ձ\Hu+=/aTñ,!0_[ z:"fc&6rh 3-<_'P=1?'V>Aej.ř iـgm֦ަz&e]x,_#0\x~2jEXwڬ*tϞ+pe={ u-k0n;wKבS܌63Ni\nkaZNs`6pCT,Q We=P:BxGJϵipmY"lmp5riQ)`U'lm +p; 50L Ϧ\X/(wg=htM˅tp|U3HupXp!Mp_ەIpOEZC1Ŏ}7d(JQ4V%8*_^38W\ rhL=_+zx˂?;nۊ൭DAcx "0D:G:3&oh%\|j[}v1r ͆c+BL0v(m#p=p]RGd`@䠴2䷩8(fu(iG=* p1?{YY%pH[aɽ; D8PA>zI==Z""\#_xydKo뗸+|#<~L >{Z w^ZVu`n#j]] rZP # <~:Xj˅J#,2)!teߡ;iB3IA4D)<`֕Y NǾCaKLg\`rXiA:^K xپ_Yr~N7ӿ7?)O_ɣj#o1tS\BR`$Xـ==E 2ʎsv+KNOD p61T#J@X\kSb čpPʳYY'[[l()pۭp*c[ϪD7t8F |;5 \&]L|{jt%탯C0R_ 0>\Le o={O&7 1JX!3]a9"i EgR!v_q3o3,܂\_@ͩZ ׌ U[6sWe2x] 4{  R!܀Cw Rۏ꿸+7Qw|_|e4_]Eӈk`F#H:y%X^YUd6bPx7Sf5eXN^Sea3 s5z+ Z`YcZupCAr7tJ IE9ʒO}0I& c`d'C1*^Ius.vjIr#ϮPYzS؇n5W19,$S%tLih&cLQ1&il6g+}k@!1-]Օ*$ʜ ArFQP H$*"s9 :3s/癋{{緞d~t邁fBՖ9w[ʽ1f2oB$!2=: ,nP৛j2]tTPϮ2vp>UQvE1ܧǩ6V5]<`O1 DvR(qFVe&dcUyXZ/oTgfgO2|Eu1߇]ui}$quutyo;N񓖠U0=gdXMbw[N37:skH's Gc*tc. @ܠyp֓c65 ρ01Q;gQfő~Ďa# Ea!ZMu&GX6&Mhv3 >I-FX ݈20?S9`1%N"ًK89wfEߌtxƖj&^ e)Z:Nd-E_*s]Fd)GT>< qD`ZyƕA!խôTa/Boe-_/ay׋Fp^W˵%ijMn.ç*az¥m$BMaÛ %F[ESMGP> Ga;m%N4~4K19GEnܸܬr"9M|DWꅀgy?/@lU#6c6j[ỳC[ h1 ;AMp"{X8`$7—/S_=ĝeg >OO`pZ`$!W5>-'dC dM'k57"ЩJTSeMSX6@:g3r2w^XVPMe;X ZRx78&)05/]v }y]\1Y7Mqpo,Ohdla~79:X.. [zy0<Wd1\h`>Q)ݢHVkv. mFMj>b[FUI4,ްGx_&Y1`95B`aXeU*#v`'76>W~A£8|a< xÜVUVg\ꔻn3=y6E`N:e8>4e.jp7HorO @{38 dm1QbMT?j>6ԚfP@ 3 ֶaLoi >0Dw/ڝցu'`Diqed@^1+(1]\-nMu;^5 f*Xl؊#q&t^1D+`̼ȩ͢ \=|>5Ub2̈́p4CVRHoPp 6;X/@+qO`v"*\@ 5ĝǑָ{`z3nǨ2ẅ́e+SᰉJ^O& c3xE2WyvkMd25ȟWCVq `Ʒ0r 1co?S&{:]G}(˟CWy<}Պ=Dͯ@NK [Sk]5i"6y5|33v7YI1<Y/|?#=e\杶>Sɶ} ֡}mk3&kQ 'ezjմOv? LvxWh7Bhx51]>dsn]6GG#y.>%~#@&PQ\h`p+{vρp nSa)t){>zz΂לLm_c\z%g,Ìl.\O0ENsL-FF  `۴B# X<Bw؍&oX.l\Ryћ͊6/ W8~<Ο;;7Kx={_;8|&E Z%"S%{1ShV\Pe!Jw}M* |7{S\ܯ7 .UOMuUԤ 1a,u>qcǤ`e)<0A&КqLT_j}5"4Z>EӜXxf}BaAX>SϮ A\h޻Agyo0iW:;a6P^YՂ|-T>ڱ[q?oi09};Gngks}o'};_.fVW22F0e sbӄ׎yK xYZ7;Lt`O^75(Csnd Bg<4ݜ8YΘ@HGq:z/ Gpy]mϔ$t+a-ͪ5i1aqy MV{\?42wgIyk] ךv]wsSݖ39K^n|Nh#|> ŃVcٛԇ]i4҇ T9 X 52@߱Q#Ȁ+]\׿ ,O'a߬j?EɁ<#4vO$G*bI7Ǯi&W dn:ޝo|5@/91S>.8loN v+rY@|lÚt!)jaLO3Oe|p4='15t-=:SM9Bj~9f).ѣ`d]Uٜ@:ZE8gn ,u2sB)Ⱥ~?nj juof l#qB֩mwxVXu`|h[.q O4;erZ>~iWV] PUSe yH,P]5,uRaʶG\h`Q"&a¨F\V?`5wVUj}UM`-3@ 4WT 27PKfGb0ip X> 7J LoZXv2;XW՛7 /o><Tj\ Mp^zs@\iVi!qk~9~W}/7ؘ?,mp(.݀P/X Z8L};,g,X8΄0x LC! \Zhazl,'\X1t|k$|yb {<>2XHԞQLBR-Xoa2dk4D^[4eh]@2y3<+3v* I7*u@VɃCt.~ ![bRoGd~7A"3mF;[9V&bVIфUD5Pt.!^U?.LSڛff'/0x07b2Nb859Lts l v!l ԢN[͊&21(5]2+4]s*Ơ&okg> |6> } qD!#Y"ƒ(`R:vo\wӟ ~\|\s4czK7#g.(~?CtQ,av"y%S.BvrYNɇƸ<{xh_į1eOX67+8֯?_iۚ1F\,派M1`I#[$ocxw~ ,s0-=F:w°SrLNEkyF8a*ZFܳa/@5A &,5>;`IdJ9z,ςeVw?=;:M6Ln?EB-w\/nkey\J_ub ,hO7Ag+TyV .qe"3:毞Q%_s`72zd·  fb%oy}(c&oImYa_dL3c/,iZn(x;*O`c(Afmof>t:X `X$UpYK`7lzz]HXxcMXR!fIiTՌԺl:r [dq.v=y{OP{ :|6S;~+w!~k ַvbC+\W`a`GPIVD&oc\AtV4"׀g@+e&KS JiGsDIyV`zDG8r=˜-cz[LnɅ&Mqqb@'D74&_2OUz:.΀Fcjn ߩ ZU U"ģ׬xm6}fzz8'&u^3Հmr}E-fak3K9<0j:H1o1vCZ5xl-^ڻ<וYjhU#|=-[1ʅ;Mhέcw6TiY4Jw;E~d8x!X:XqQ3CޱC"A`"OއfG々X ''&}Z!4dΦ|ט:8°&R:X9Ľ:>|z ( po2/t=>pe'.g-تk^> %9p_m̵{4<*ϩLXMO}RuHf)f 'cy8_T&F{ RO5yVHTg]lU[sqZCRQ߹OǪN9\ 8qƶSWMnljv { ^^.7L(*[.-S>mS0yj_Un6y,stYύm~ jip)ƺZ*)a} 4w1WM L8U?KM/Ik^_sĚ(y~t?UXj~O^ eT;]*X(kThL5wyzT8U;757fbWuƗmjc?w2N^tGʋڂ4TVf9WnāCo#]p 5={zez1p![8c@<4A~,&cШ8,(n'&pD08N,gIɰqI/0kr s>1f hL /3M/Q&́ վ##Ɣ)IHƠ5&l%@4oԸ'½>EU&UՎSm xo.~5.gy1a2]S0xLmv&PMLSVda$q6vRG7] 1:w7Fe5'L(n"S^+\wb| ~21 p "5xu㣘g``D}v0K$ncnן3W)",jph lj53Vs`Dž /çS$ Hw@{3oq:&vveq}\qT 0o}^oK8z򄙘ܹ,G'</+^?cPq>b{\60,c5Oǫ·x8 h߼-O$K{~x15R%ЩV]}_U (=~g=Y/s`XX=lgeS5Aum1d5.5o6)8 l?.V:s8zwTú/p}&.63k0Yf*8vqs|`rLJOR Glgy F3_@о3& :p~= =A"hrጹ7"w_THvw}O,;XƞecI+\|0m>VF`1l< r8ma|MGq&bSʼ7fk+lpQcSԀz\8=kp~`193֠D|zئQB,~e3TxDx15wcr&U0FA,Dȷ)@-r72bp_*rɪ0]8^25V@܌a_5p/j }fhbw"%dC桏g|XRFm@va q6:cg%}].=)dT# :c]a+(-X_!RcTY( =c4||e_+FiK?sz-;8콀;3hbyN[_v1%0_nҿ}|;aSnf]RZUQ&'ogkdn¹. {nn[cLЮ5; (Q&e[l4Nk[֙(A79i$v"˂? SeL| >[LGu/HZw dFF&my2>zKmv0ؔ@hwYwf uT`R4f~ReVGG@qBL⢿xFL_B/m54ߩFV j >5}tG3S[Y\AeMΫgl2w1F{O&ǡ[H<\ ^LD@lTbVX2ysk0̉~2ʮgSgs4moU@a# 0hK1G5%ҷ#bTNX")މO6&Ψ*õު l.0 9Ui.h ª}]'E(9w?$6e4OQWpn:xoO3&΃^ç5薽E(c2 Z?|@F! vF N\2{~:~6/pp eU98$a$ @ 2jT%_}U1 \ [ L$,nڋ#Nt1vذ^[V S?g~cҿtw"3>86 brj&!~_=阺N3[;gP^"H)Ăc70|k4>>IFPF nb﬋Q0l'kvʬ16ݗ1p;Nзt7xEwƧQ?}}f.\E.u2]u&&|,Jƴp1nB0ze$ ˀ!ǪmVC'(6]BLA|C*Mj3K~PJ,UVɌ öcML=y[dr9_N {U Jn_>[yfi2'2'IFsU]=wyrJK?ncB> Z#1hi ?`^-o\o]b|8F0ʩ7;L%.53sjs2-%.:ؤv%޸.8 Ϙf\?Ϫ;z욶![w'cr|4=k(i3Ɲ<xz$>>|˄&W2=*kG)(Ñ'ދ]1`ĘJ3 #mZnb޸?,ҋIr>:087V?qXXL2/',X,YfA\Y`VJet0;Lj˕k*,ίcWm=<ݿ~oFF~IoM@*Nj?~p/y.ՋA _- z9? /\~g?_> ?W|_2fj+ _5gOM˭+dXN$KN͒dybG,M \qbd=m!@>QC:X>QWU@u41Ag01jxL _Y.zyzw!fl+GMX͠o^d;x}ǎ<?ox/xw ]Qq{\Zf|~?Ib } w|/v234~ eȂOA%4ëfI_CB@ɫ7kǷ_Ű0$cX؎G.dX}#rp8;,k4PG_D7Wiz'u>TxJdrUJZ,px9&gw1Sk< uꁁ$ jwk]";( +,]Gjj8,JC3)TՐL]֘QNxi'5Rqt׶ÓG7 Dgpz*x/r[nK:葺 %DMs\b;SVU5?=I{;/,SC0bR,MAlZ_C\T(Vl)Ev!d uG^QT_kwP}6~6ඇ/}CaG~׉"So LB)`7oz_yhZ>k*Wפql}UF{/{c>d*=37knxVs). $n cG݈mkCdYNK_ hbVإ >[h 6kN+gEԫRZ G6k+=b5X@.ݒa`RP8I8Wf6"򌦞tӢ|+$iM51 ]n1a`~\|8v dW³d;@yq:~m=k X)pflD3ͱrhN"W0.I+q9O̽L @+A"0GU5wTm2N : |#'g&Ux -˂UL+ɠZK̢X`1|B(xh%ԊI͛y 1Ц@}z°RLVId}ao캟mbٵǧKe]1]WgS.7e=NV`9 aXmN>IDAT֧mcJxZ?^3e aL~W^7.tFnd52yFl"ϭ(75Vs`L%v ԸXyjEI$ F7aYK}h\wX}Չ!*$&7Z`}x _}b'ufEnXFԂ-d,4 ʼFa 1x~*gab̐mr$5Ʉ 8(fJ  Xl d/ҀR3P"G20Y_|>ψl߾s,fa4}ˢ6Zmx`+1""@@wLsj1mc)E'}RP[kM@\A%8jZ2v` Kr`MҲLxae'Oc&#h2>co$Wm':q5BF"=ppLm.ѐ{L"3sc `8~A& pu+sb!\`-wŲ70semp pbȁ2HG˸p)NkW!32/6=_G?}2)qyhh TFuy/=GJ{g/ƷO< Tϟ6O_>oF[ES2BaՏIoL@]~xFcR#K 0l \`gW-5A)2[ۤ]9q`}hL3| P 6ʼnOA0+r WU`^j{yߪ&|6\>^U}Oweo7ƫ_O*ѼY u{3?ӷA"L+ه '§A!p˔cvZ 3"<N_ì}W}̢VFngbx 64"KHy |:֙T-=2¾{L:saFE<|cO2} R[ي15;vN#0 |'$AiK~"vʚ1eQL܏1R ScPa+rv L&wF޾3X![1%i+s{^"~;nžBp&N)ب8y<EQOYtf̾?I ۍ0!ga姈}2 ?`vu߂_ƇñhIq N`ma,(݆yXE8y5M !xoT nS1un3\3Ǒ9&7s3C=L9v٤ql#`YVh{b8 {g1Wcqߚ洵Ez N%tQ2F%O[ppq\ (jS}_o^ۇŅ{0+:J꽰ݹ.M̳.-*:0Xs1a^,ou 8_d[_&Jo~ɻ@3Y/ U,}k: ?3:D`TXbz1k:M0k)Lq** ̩4Q~-h}`h~`_pv1v/[!ɱxB 09s7`fNLϮ-͘#K11gc>=̂(-JŒØQ݉g0D-A"\jY xclaI,n:M'1rk+h!pSU&cb^%K[Ό{A02Â?0^`#ǍX]Fqb8<c5̑O4fŠv~l6W̟z x ^U }(J9saRnpyEM8+ji7YF&TaJX1<_,Wmdq x~ey<MUӬ[g:r,$RK]doH)/brVpkc18SvZ!XlOUîZqmg]rxlkf/5tZZq7 ßq?m܁mX,Еu|M;0A-(fI9|4u[We:fbU'##$yWt"d ?vG)54tGܥXw9REGހf'bTql;ߌ[ᣡ3`?t*~ ~G<1/̫\=pQhw~Owr_@õ/1*__ `k}0mx nFo#Xuն0 !I1|)d~m|R.\Ê=/uy]QX<+#2,6㴌)WAO=/s=lrMUIxջq4ZDZs7q*\{#wilh?,[yE/Ƙ?qsws iOG? K,9s.Ō݆ ROAM҄ O`I{Xu&2B@mâhfiZlg^\SցتHwm7w&Vu^Ƃ}*5 ; j:0˅"=vl}p6_됹gڑt\D@tI>Ƙ)n[t.fEGX4= O4WDwN9sW0 o='`H=)S,; oZ SJaU YqE k9WbUUD쾄ב"Vt~e&>\g"6:l-0`K#sxbF/B2Lsxs YQa.rI$Fl!\@Ȼ Om5?򟃞";x~'LX_ X+`pU6ڈ|ŅWˋ8U{:/#&46Qӝ2Jb85Q>f liHyGȺz/"Zzt "J9cZmojKs#eu^^_W*yAYsץૠՄY1yȶ.2FSXe ]W*֥lU= d2 vCa&bVvrc?X+#|~uNcx<ɶ/TxE%$j0+v.+P7/FX%7QjRl5njv=^$sը sCWi`7;Uo<b/L1e0)sˍ}惚ICj*&>,sc;Yשz>~Jt؏'8zn޸ 篘r^>=ܾ{O^%]Oox x B;ՈάRDeRQ2b1wv6A/?+rj$&`yX: 7cfXM2y?sW2H)AXB>p4wq2"a;:Š%p &>3ѐH؊zDf!eAʪ2oj4 ҍf SeP^r*bNN-"V^ATQ c.d~0&RGt G\&ݬd,EQ+;ip xN߆UG"4؀ERɂd|8?ypI*67D8'qƈ",TtbֽHm>[.)p k؎}k˾'"M$]sZLZͰ*ӖZ3Xk"Rikx)D-3Xs9&K}וn#3+c?t 5$x7ldinOAϗb2ΉĄ| \m׿@8P|&W$kܫ\DlE])?G>H_܄EMXƌIq;qV  ]F#v.lcW؃ԣבv.ǔ""U1~";nWNlC1YSs<2Fs\L"l+a[P lgѭ@.얓pݝpsXz*R=D|fk0>(C S-mĐh9tg~5~=?W\;jF K#h~<x'|+?\}'l #65m3[0ن_a=f7E؁Xq"V]y𛯐߱ D_1oyxQ>J{XB!$Kv _GԾ#Hm;z lXd,YѰ{N\S)=>Cۃ/WU{{g̝;=]]eN9s%3$HT (F@sNeUWUOt]c~9gk2nt#@;:߅Շh8 g;{xkZ"D42֧2+߮ބv.8 ߻p|a^5FEe,|<0-+ax ;pDҳ;aટ[%՗`h3Nw2׵wmx\ZRƶr1"_*6N LM-ȤLɮ"E(| ji5WD^p^Z[u^$ϏѯG?rpz 4n+Ens;{]^œ+m7s1pںXHٵh]W.[V&aȤƁ!nX*u<Ȱ.o pko'':?͏[h̋(XYI`~ KٗLAh0#OS7b;FU"%,n|84`gLծЕ=m !>+>Qnqе;'߫~lˇ@f?cK/_v~k|m||x*1 u37}HO y#nFmo=Q01k &WA ق1z_Ɗ5f|v607q 0\wzCw/pT{Q,a K0OVXn>)5؍!bij_I83 4J]lǐG"z~L8$T@[~36&bS6ڈlwU,Oİ}Ys=UݰI; FEݢG1iZn!+͡[|SUtQ q<i8^};caiN!/ v9gX ggpƉpw\qgoaau,`p!7_6Dh_.8tĬB N"NI.mTm?A $`cQp -N5Ky\AOXv"OáH{Q^&`g79cf;L=9tMEx_ǂ&xUsm;hS;ͼԄ#ϩv𼲺+7xj p-mD å>V}^QA@0<"Nom vG bwD.6}rlcLx%!kK`;Qm a'ڌ Loy?]^8WŭO1W͞,iQuV p<*۴O (Wj Èt9fI/ &2cl0 \hǑa}1Lҳpu`Y98Y kp1Y_\{muM j[VT<r,c x\#֍[üNbTpk[ 0 :wwgAx=w>]RK1ImXVҎv)29 '\ENtҷyL-ǔ 9wG0  YmT cN`©bLK9i OƋhǦk*`H yaB!Vfqy>qfޭwvKPyN"lZ17^ Ƞ]ӳtP aԭA9<MXRQYZưH)ʄㅛ sQJ1;:Osvǒ&x6vpY0HvG3z" +-e!G<?G7>^{ ,@G= Oac osLfD26oQ-fi>ױ.2"f@xlK_mا9 ;t)\Bp8E)lQ`Ii5^ypM8V2n ͢˵cG];XWX'!gōX无 <0>_VU -Cp>El0ee {K@9CYQV'(K٨,sk J9r((8!|X! Y߫[KYD]iяYcu#O(,Iǃe)6 )'Ӱ/TZ_XL*iY 65z]93a{xzFL,Ȭa^S)g{xهD^S7ӳOZeܸ~En XY(+Bue nG HEݐoE>wgg4Gv>- oD7[r=W5xT] NPJYZKY] ` UM)k%s\eza~O$Hgsgjϟ~WA9K4 51yG3ݠ W1c/Ŷ}J`=FT]YEV/rߦ4pŸT <1X* \^H'||'އhg-ZNV^,QWc#_n^(GNqH4x a>ӣaW {PS\WPU-Z$gVXȸbڠ 9e(1k0n1|W\Bѕ[H@藶zȬnD|p8njbpR{WxbO6gTsuy/Urz2beR Rfԡ)w$JYyi (+/ˤ`fLtt{ (!lGy*TQCYy0<_e#g>ܓmeߩeULܤSm` 6KՕ>=~<:),NWYz\Yg-="I]E#7)[PFR֛:2BoUW} ϴ䪊09LLG32\k5&WATgyn\FN /#NS#.Zy/+/柳·f?Tdh8<l;Gͮ̇*+/?(֓)K/4,|ٹ|A2r WecuS/*"4R%<Խ̗/ zPZ\ "|ƽ8QDa8ofn΂0s1K,>I%<u7cߌ_a`U0\r ט߆` k(ecO` ƐV' XU`z~L< sczډ[]0vFwq(mt.O=IL,Wn3RkqT wmsx=o zM| y _nj4]N bѭ'&0+.g5WfRxA_>i)fA~3dSF1_ f&h&RrNjbhߊVw"&fYn5\ _m288K/`$|_ VRM8ƫ6mS{ Sʴ`:'fDk'.?fvuW) aL.f*&B;!ݡ µ imKj<3PрN4COu7 \1-F"Edc?aO|:EAx gw/tw?£ÇKǟ]w ҍë7x3(輊&1h[X~=ܾ{x$e>|k .M =, m}?sewx7]mQP[65`qL~-J*MY}xf`]zm7t{sQ5_'Wnp UIĞie\"bq{I;hxdLM N#VރZଐf ǥ.;s/;;`9)8 30/#=c=gTk28Ztfaҭۥͫr-jkX,rk\!vx ,>/0x瓘P ' .ބANf]ɘ< [nl[`ELM6-Ab!\ÅnwksR0?4)4go@RVscIXUq\˰XjfT&Vq 8}L{0LL31I"( O@C\[K|eT} ff(s2 =; &u_E_IrϺR86_yg/SXꟍ`Ӱ$"sr"aE3]a$2{}|)VFc_x ]@2XӴ͘s50~Kyf/,1Cej]Pu~r,X!Ŕm4̈Hp쀣Yc0ݖM<9^Q#H_CPK1A'bAl V$c|S#TJ+1a{~/LggS-Rk#PߥNN=.|3Ga:LFKYAjِrG=k4(d歘AYtPN2_{ޝ<ʻTcj/uw2)cl*(}ʲ,Jy3փc{6M̓YfzY<_} 4.o 5)e|5,[?|vK1GMz0"`XWTu$@=P*:l\\yY `A*y.ՖGRZY)vdG:-jLfY^^^>̋ Z^,LA5ev>C©a" =} :f :^ۭ\4 W.Cb^ ;b`^o/rPYʥ[[R9\}R؇fY:[QVx@~n||\#G,pwK<. u6@~ 0f6L 6a03wffQL5&Z:< FYߎ\Qp_c"8ͮC78au,.E1cܱB'^[ |RS0pQŗK<& HE%9 j`$ȓL04Zk%"l`2e%h{4ȽV}X)&÷9bw~5kr_{ r/S<"E` k&;F¬:SyBRmtm#1) Nf2A՗a/"[b.7m.QN O&QlR}GJ[}@'`NV=u$ڔ<4wl#%"b(=v95-,/ps/L`OXcajd^G5 A.zw iA%b.7-#(|z'\?xo_~޽ׄr'~Pwokܸr uY0>y l~} |R[?̈j027Zݧ{]W!ХO˼ v"b*'i TLYR1`Idu ZSA/-/ Zzͽi}f.g^')]^JFWVr=ۥjm0.u]s4W濭#V.] f.?G<|6qCyx=i}ZTìL,P83^Qln7Mi(Z m5n5]PQ@d $J΄"XVQaZTigo~ k5:- X$u Үw_t~/ u\y* 0'&`NL͇N"m<YiZg^ĻqPxVU;f_aiE>sNXm!0$0:y#b 0Mc^d`UB.\Oki)Mccmi=Z |ß?n]>K͚bTu~?^EpMg廏?(Y[w~ď~+OƔ08"Pê:u:$c_,5 ?R ɳtkaTgT¾ɽt[}3<O '/y QpMLC`ylҳa ohBRKz{Hlж=*orgTbu#;n\,&s]nĄm;1b~,5m{_kauF%JwrT!OcJb9DV1h8XM/{pvԭ\fbF~ $V_~"*/`uB Yk ,{˛ϮRLsqA61:2 :V'yt6l^yrB1D Ɗ/ 7.,náUsj.`zD],qkKܟ^ GYR㟂y).za|,Cm7^mUt  =u 'S1&$fD ;ybm0'ai\-f7aw$6&z{*[ r\7m[8]YU3&77SDǘʨ⋡S1oeȆUX)aL=Xh&ImZŔ5C0<쯹Y³H0|e.y KY;^o]LEDC/" `Z :sDɭ C0 Fä^íJ^XHOI+m@lEWY%sҶ8ҷ $y@ ^qoʣ1%X`JXe >o7Qt_M^/;\.ԁ Mħd,Թ p(K,|9̔{;aF}t,ԔJ&)|Vޝ,l`U_U`PוK/}L+ͺTr_?4 U(_ke22FK~OՑ-wVkA8{ '*8mװ'u`.Kŗ173K֭^&))#pq EeDo?'qwv}X&350pƒ?xfz>H>x#|As<|yۡIYqn@+<B\q}}~?7x=|mgx̻;Wp<.+eUVFwjvY*0dXB+^# AHej`Z_/) 4-L1c ͱH~UZ 2yZAAn2a9(qlU` h~axYw o c5F?}<{^,#=QK ;N&[DޝV]8yhAgM=vTQ,̐lMđj/V"@`@O?],;/7[a-2KQP.L4Z/ڻOx\s^/b9Vk^]5fX)ʸ^YԢF,4^h B?V8^cbP" >dԵ dQ90PDU]sy;;5kĬJ+iq_`xG(/+Ҽ >OA=xGoޡKsz#*s.> ;xG'96 ^y%HɄUN>⻮ï(zK" gP!Yt& Z.mt<~7zPy>bql+Ҳa *-;{Ȯ]ݕa/Q1Z ;8.,SX[ A9^ \$2~"-{]ke`*Ʈ8yan5Ű>'pԈ`$63&O3 :G`bh&,29u^m0K'ڋZ*~mƿlſO*"Y`Щ&,.btLw_E-MxJ0Jrot`vpKrN/61RVI <faS< cS, -21Vƀiy09qeX#}hWZM.KǿXk[15×Sa#8v': #78b 3m V^@@m,pq cĿ鬒C _C? x(ZM;>j̧,,S&Δ|u x(esaQ++k$9I1fMYN-SVUIt毠X_Ngy\y˶(+3Ӱ} Pwa]x]8e+y|+믲R_0)؇`߲M̃ub]Yy(f-3_ET^(Od}e9ߪ.|x *B _*~ e|D0V&kZ74`KfV<2X#Kƕe@zuZ@XI@TiA 0%teaGef[v*@f|!ԌZDc|H։y3O~|h|Pml<6u5!ZO }ysA 5g&>Dzp 1eb쁉3Vw#f`0C,ÂpJC \Oa>|!FZcWbj ;`FƗc.vqp ^ljKcJ 5 =& 1؅`kl#A1a*w_cI&IL7 S8Qm' 4þڌ5r_/k9,JW;0ϳX|X1]1Tʓ $[i,p^{ "[蟆qБ< Sb1*BF4pD`"G*,Nbi>ږ|HȀ"0&aE(`(>RVx$@mG>}nC݇x .F{o7 =w s2*. A!տ &X*c6|'82Ie%MytD!6M48dc ܓrQyx?@SgoL=Bcl)EljG?'<3~n/cF)e=0u 0.cO`رx- ;xiH "12e?8Vj} a^Ez_ie'?_=?"ߧNԜvH<}|s}MVqG; m>ʹ'?ۆFk?կuU;7 |n݃ǥ[X쟀CoÿنmA pP>݂MP׳07pt8*¿{߿EAQ> CG{0xĤ" )+BԅN#*%QzMLV{;o̓OQvWp':3q0"eX߯\'> ݺ#qT`ϱ|]LJp˯QY,*nòȝcI83s.~EY`nyL;_s!!68ܟ]ف"O\/c~` .*&yDc84|%|̉t $>}=`ZRR1 T-; k4YnmI.XЀ\D8z’&,1 :8݆mE؜!ivDz"O`BXB?;Vl̋̅e}o¦"I>fAÄ*K:jJ>[2"$V9H> V|CWX@w7&v#( LtSе°Uvp6k͇fb@嚰"-o:,*;pSۚI70IZ?BdxP&diӁhE~0031:yհiEF fDcN+A5A J`ZWY7ӝDީ8d{Hd)G0z~$_p, Ƀ*3r/l8 mGax(s[+kmΘLpC#c󗚬RF#<|V̔crUY8ye.MZ3e)Q>ILQ.J3-H٬s̛hef;  &?QLPQl;ӱN2*+23 ֑e)K-gէʻ\|x:< p7}~eRLX1YJY(u>^S}Ċ%*JѸUsbx?YnCMn0=۩Y t?&H2fNK,!sm/#A&骬yU$hz,eVTG1?A+4ᕍUVeVKeY_0;/ӱiq&j",WŶ/YgjyoTZ©pj 0?ƏJ9Ј+;5W2Қ[_h|03E\Y;Z@h~!"1g6Yk SLKOT>n5Wc !9~&arsN3 1ijÆ/I1{ BGo&Lޅ!Y$=`]6'0} LO Nq0u?5Vp>J8rF8!-1j+ ~l1Iia}8Fv܋Ea;͢ARnû:Rމ!"rr}[n3\sU~ =1E]Dǂ LL wh9_ƺSe'8#8``߯?ۇ"7fb68]6NbM(~[- 㜶Oߺ4 w ߘat!$bYh*\hNlq(Z[Wȯ^WNwb1qIXQ#gn:aRւ1)PAgFF`Oz9+E.by}?7 tRPXӵxǯoP.@kV}Oipx>~EZ~sj3^~oEa2f~ bnAΫWCY ^<|& %~j L;w7oLAWY:ye3oKVY{_)mϵ< O$[ʽG @a#)p1uRӄNB8]{5HM),5q&pY.Z=X?̶ujpc[xW}K 0ۦXrb{'0>|'x_/fsW|1l2"Ż{>{yׯ{3?w?x u-+պBΩܨB|1sF݅(;3# 8E?{-`*0- auߘ8 }TN|鷘~?w?ӢѹmzȠrnqC[bf{~z >WoɛxG(@)y[ۦKOYE`#bz?EfU0iNpi L|OV z><DiI> rr&H/DDJO 4HpQ-~gv/t?Beu]G^k An]hx{maע@Ws=N{}a(fO~c)9XшUm'8~cP[sT)%׌M!еS0.iŠxLvB[Xu~ʫ8$ruKaS49F`  ³/ PueA' fNZ-V;\cܳY/ ԝQ /n\es'xcJl &F{[rLO.ʂط$^k LDSpF)g0* K (&rz f&Pa ,aV)uq ^6WaZR| 9s0mim.hAP|Xdl-`Cdfnr̍n_匱1y5F؇\,E\==Ì1!30# W-[0|I}K.;,u脳)ܾluBB/,z!9 Щǘ:S龉08bL 8s/%NtlN(Т;Wu`<>qcA92]G`![\)yȘgvf(A@ ?ecAb^>VF L:r=F83㐿=&wItp{pBLRJUJSfeȥy%P)gOݝ^-{djR:V^e#[e]VGYqUX'MӨ LYuu+@e02)^!G׈r hzFk4zt|;rttV`9X I1ۥ=z&Ni{1eAL:Swc>z Lmc)BN>??/3W1e Yc2s~?wބWCǡw3,dl|z6q:mqacnoN+Elz ֶgEpwB &YbY tO#W cqm]ZYL1Dh:=0$fcfhȫNVhE`2&EaatUa隓drw1_uEeOQ\:`~ ;'NbZ1fb(>ta[K"l/b31717C> sp.F͍;xino^ă{=hnoCuwx6D8V|9)pTVTr MhROd^5 3VUSf|9}j>eq$`(Tfp ۴ 31 ⢹C GV,dV~/e*+5UV_J?WoUֽ޻p' wwB\wwO#8-O{ƻO}kM_k1~s9WO/?w*6[xs9[0aNF_IˉXs) .csd.Fb{k+V,R0?RيVX§x? zG߀y`(,G࿡[N]I'е܃gY"hւ/ /7C |FXn\ Exul(XKoCխHhB'1H%܁Ķ[E 2{;WZT79;wcґu.è6=(Pv_Xz೭f# Iƌ/񥍯-McW VaV|>& ͏$]8~| o]лFas(fH3vslp2 ҋ9$Eru@?>SJVYX^O,#.s|")wLpWwR}\lWj\4J^"`jH<mZ|ilzxy`L(&`4m>z8VwIrg#u7Oǘ KNX_Ѷ|m:bĆӘq+ uFo.:l͢X?[y ݢ0?EpsJ=NFb W̲=3>k߂<#0 tRfk Y~ NTh9 2' Lw8ѻMa  ;P1"C3"8aRmOx Jo<; `CnJLta&l)qv`>̣wNtR X,c_L9q-/b8.@ 㬼Gf>X`{uz1̖qa&=vOYXr~Wp7%˔Zpj NqzԀvMY_yT*1Q("YsL[ywL˼F>b6κ(DSTVOe~m2SV0?e&S1?ru%>yEYCy۟+˰u x>v#;)X!Ǒ7\Yn&w1|`Rl;ٍ<{l5W`y2O,rMk\``0-̘X)*Q (gZ_V0]gU nnn;44 /2ah&+||y@LO-)8祐M523,Ffփ/°jbzhVV\,yU\ +oͺu!;d6L-n6%gx N18t:X+=CN!:[]x | D=:a3;}LA');BoLhk0|1qp ,<&F:AW|\ګ /m'1taK$bM;tS\*9`SxO;᭭l$`K}f#6y'cQL9)&Xw&Lۦ4hEo(wiΗ4[yt t.;a~~w[8 T.zFsqˮCLFZ`EFjXUñP pLaOimNܳ/#s1|Fk. Hް,3>D 3=g8D !~H)jduTm2L`RTiU`BMWhGfZ,(P󬔠T yfY>A?޼ƎA`C4ˁy/DQ21;< ai0L\mxRQ0=, /cNP"Vg+/kM1/kCvt`N#NX]\\xLci[΁}=ov nxdCM'AK4(&358d j{'0A(yoړy}&03}+XQN0' zaڠ*T6ä fTbg[}E{]{?\{c3c1`Uڪ=W "8e6+b>){߽yp|_|>(l52&ΛmS 3D񾜁YkYU+ oCw= L Mľr<׼B3@9rD0D'&|L,2*ka-|*& j1'`Uˤ &.bj`€8J(Z68 7_0tuz4^.P#',0rYC_iG``dpOCֈ5%cIb~+L3*7 l`/u^,PF=tu:1PʽYyf2JS7m.ۈX~ed*cBvQ`<^YYaid)K>9{Lf#0/|Ecl_֍g^'2PejzbXi j+-ӚK%K2Ug V^)ᙿ@ t YxaggKf$m1 Vc~q6.KFe֙S|)2̆cLaUj$/4͏J)|tqQU;ۊ*qEk5eI{y(Wte)WntVvC`K0dtC&|5.8mv 1dT zƍbɊ"~a;Vks87Zn1z'UǠ˝#1CwML('@m3WocO~ & ӄpc?~ Kh}Z#nbO}Ɖ#F t1ŘkEbenq,&N-)iն-TQGg 6*aU{6m\e95X|ZSj<஼G='USorK <}0]ovJ}^ca\u/ &XWV[+TVe ?<+@fN=B iP)B~KLe\Ǹm N SLiz(K7mO=ܿ+d? z+nkOw*< _o;Y~8}MslY!k,F>Xj q_`^~)˹o}۟'k{hs?xЏ_?'O"TVV Za֌gs'RT.& cSYp>a|mJ=f򿪪5ig?&d0gT<G\R"q&GA''|D8oDjY%BqiDNO-?F$5k ,m_z>ڐ!ת>Ff-ms%* 8.-}1r6,:ib>sl>!&U޷Bh f] 9sɘ }PtYVK Рֶ͙`-fs.1j%`'k],vbc 1pAf378fEkVyF_r;awb 꺵МT,v|CHd^-,΢ũh{ N)xV䊼, cVR)`S(F񥱗&ϖdc{^6ץ{ a QO^_3y_l:q@ޫS0u#F9'[/p22S1{L-L<^mBpPܡ.0yhN/.`+0-Ÿ:;61Gyp&@^rvXUXk_?ǜaS׸sĖtL|;3?Qka8"qэK;-(c-jgO lg$))}tםע nIz"XyO" /aI f f.kF/E73^$>L2N|aWVT WhVvŒ|1?8Bw>Ius;'9W/&7_cM7spD>Ύ"OmaS0l 2E3p~2a%Flƈ1vN2؉li iO܀S"dE 2'|3m3/9ц1j9ǟƨMg}N83`Yr:^4So̴ xia7-1d!&J.'"+أð fwE nMr2i-zqi5eé:V? sm.K@Yo燭Y :85`1v)&6|I f%.񤭦XvE<u؞\Ѯg1+(g';0Vp*w8^w-|wYOvg`z6O?) rZ4`8ֵk[6X_kpQ&ެs-է>ߖ`@s1U6Q}eg{TPjPC8?J_{fxL?_-9E/άlʇ(`jߔ6ke,~) saY6Wj 6\Ȓ4ͭp48Cj{a:^<>Ojn׵t}:Mo!,r_~"omIza|_0;4SD9y~O};޼O?˯Z@L:i^Qؘv5mpj[s|[ԈYW0!P[`NOqZ{NXf-!Г&YcI;epF؝EAy6AnB˕=AoN[;x~<k13:E[ֻ낹[V,*Aя#%gl; ]хWyHOyc4/ a2o# 9Yo"-T<D|YEl _F@^vUEc]]~u;9!Kߖf84Los2fF`&c LŗVgN82$êɘz1"R0=[*ٌ'`c&ߓE`"LB0)DV eܦQeGDy-1(RTKa5#QfX'SP3NDC0tB2X\yIY,)ϩ+fRF~`uV#%Ghf9ԈkWLO~,ATY~ĆU. 1PQl(LeejAY/3_5:0,uetwGjXocA}+uj#hނ{}샋[l<7cX067 S4֭5q+1vR|5t"Mz3o,H\ez7c#4wFN݊yΊm:,Yk c.&l8Yc&XU0et^-a }5m.=KW:c!m1=0'Y|#h>~1M`J9ˬ/`&k Kn^#Ӫ\fpr \m Ɯ$,:kD`ɆMN-,D٦5vQ'm4ƴcwa>gL kvK+o4wҁu \]ocD QEB*``Q@8 y4`GP1(heI}|,^&2}e5%Vf<ð^K$zۥ@c\,V F5 ^c_FR*2=e*ۍ} y2?ZL0tm돋`1`@KWkJy`(4)Wut緸u gwEK0'D;3\ J^شu˹;kL w'j2;1,SWy!/TҊWqG!k/Gm7ϵ 9{P6yǞ5ŭeC$PY<<{=~OFyE8Ys~ 110;:zPމZw"ѲwOߡbuP V&OINqfbaa9ԷjZ{t PpEx=!9X".܃%'pXmt,9d&!0GȞ~<x7Km/{8O{? Oߠ^]yDDc(07pS !5W1p҃5Wq /?;wڻ82֤cwi=5ê&M0&04>&fpt>˼"07s}0<3SaK[50K`Wqu}+\#+Cړ^[Φc9C&c]Po `#`{8,:/Yop6^k՗2+8z11.!Ra݄әw 0a;- Fak@bpѭ`Aww ɦao8R[V{߉EۍDǍNB|7nG]ҧݽӍ{W/kEYZeU$HR~Yؔʵ)nNʺi*٨`yiG.)aez@ef,JqIy+xSSA(c^,b;4D6Py2Slنm4FF+T\LS[+3/9HA+u'JbTYW fj`g`y 52zb\}W&+7`f@X=`^5,-\*LG6 z*-6 -ɌCe~, ϗ&aX:K*> O.˧^>x6 l |CaY(+V/_hax#d3/68/23,_C$y^c^ }8@]g5hjuFaj ;su yXX2yb4y5F zs`jf%t.Q3K u(<|lګ+6L:pJgp=°_v _.Cט,mu jlV" kZ#| :07E~ &8"Ix!W~GcvFfi3DY5@wp-+X}&La™>p]u2.ed>̃`3$au&q:/'EqpM JmoMےfmJ+(V8˸+0(i09A8 WQk;)30OʱHV.8)<J/լŧ`Ut #@/8 KqDy1,[׶.X׶|JBs}tߥ8q__ MA} ޼zÏ~o޽֠F[ (dwvx%ua(T}`&#,1 !uJWp|U ]~{a<*0tNrb||2]'yQ%g嶬Z&FB)",+U^u^-.VYg}Hm/cK`_Ꙩզ |~ʹY>AYyfl Z^g{^ཀ{ e]Ñ􈂾|3C3`xw`Vt <uvOC ߆d:o(Ɨcw Ki0;>8q.wh﹏xꥶ75~“G/{mqַoAy[:Aݧr9݋잻n L{ UP(:kPen- q:6W;`]݃ab cMbKH|ڊΡ-]p臣}k?b*񻥻`!2YЭn¬-`WҞK. 0aEp̹eJ 'tsiw*~_i@[(mCmH)T܆Um@T=n(~d"Jy'm/_;q ́]J܊`{la\$jcJaW[j7\En[_<¤>Mp-ƢAj) ]B!%Qx,(Nq5%T=ϧaq7tզ_M>0/BW\&X" p*r\`[+mIwMѐ\I[ýL*lMvZ`C0Kl/闒vݸ#l{]q@uXVނMJTmUnpKk!$_ʁWQ[K`&qi5Iv /(2*|O\Qc)v[C$ d3~YpqI>Vmfl7\[9./g"#aZ8%5aq3c',bkf\k0 w gnFgb} ɐf71"*q&j̝*<2 PF:>dW&X /\y{,FuüdmkI07:67w>Q%kw̼zqXe|l.-"J`ZH^6up(|^DZ]^ i-`u"(]c`u!N)բо}I%k, ;#qtAeI"2[Ea}lq֋lsoMho<.da[\X s+¹*\-k<Fnp0#$껗oKa}g/> 2Sh xVϴj2>;f~m1nRFR&mq~cp6{|ˏx8OknmXia̠o.f>:k)N}?"7t >ƃpocq NTC8胹均8ُ%x(˙,0V-Cyʶ'&XX:wG>I]Ӵ0 KäL+똛-1D'WbM.|~=o73~wcO!Jݧ)z=-2rN?O-1z)W05 &^J);V%Bm߁]bu4pvrXAgiP͊-ƽ;wK k9rfշ_Q*:D}P"@}Ewq-yM!sa+t0?^&`S]uT=D8v 9uxj[p.Udt0/k[u 'J`lo ºgkBOJaL6^ևpv tؙ_ x$hYEas'j9u<ˍX 4*N&ȡR<t POyڞXfL@ڞ¬{˅~פbAlN|0 }F0zb+<_L:Q{m1~x$%_مy9҇Hdۼ0t]8h\vW 2>ٺs a8/^q vW9%@\qv5=pjќ&m;Ʊⷆ&0S>&l<]Oo{Mm-›o֝cg00v8U*xfh摙(w?C q[*ܿ\dýmMJ)(T@ٯg]bJg&P(N%S.@PCA`> ()wef\er)T@gfduN2 DzS`^#6Sm`Yu'_G2H𬀖03b@[yҩTmGaOYF"szׯO@`|K2(jK50PQs_̃pJoZif`*D<d9bZ *r)bǴ T3cZj[$Kee4x߽5Hl,rnRܘŘ*!WO(jl.lɭ6e [j;0[~rIs\~! [RMN1\:KXbhtp3ֽN͋hѬڊ]yϟv꾅Ɩk@w`@? >88|ܧՇp8_P-oXu^ySTM٥]P9yS{os wT F`KB!6gjm:j bqe; 0Kt>c+7s,|nėb\<9&0# -X&.?/|p2 q&6FFIW1<.aRdsK0<kڰ4FfG _V Uq*ٜ*D5v[t(x'0sbO<ԫXOC?33j1;* Îdk^TلW`޵7]ac&tS;~py.uȽދ[Q$Ԏ.[ 3J81o!:`Ҏљؖ]V]/&lwN_ :7{O~)XvrS![-FL=Us v8cm(\sXz|SYU^~A^+m`s{ҮbGR<M1$7At/EGe?q^@ DG_qv'Sa#==mq>a51ퟅVXSEB-뽓4h/$G"Q`WoѪMvi}]";GwXe`oԓ f4DQSP(<,QeԄ,>qN4UmƼC=M. ӪX,#+e(7r YxM_ĶRgyK80̓ U8^c31mYփq|e.HӝX5j,/{a2t,jF2d 6j%^b1n1_M^svAo)|=k7_Lc: o|#/8e `6Hɋ⋡fk ciwGv,6 L1\ oէgãVƟm1Ow5&CeǡwwXc6YaVl ['o&0"sD ybG(m1 ~s\1;ӽ⵽&MKqvz1rk:|3c78} ܏l\p,,9-ٜn-Z-:##.1/ƙaiQnb_#H;:X 8](J(E, N?SB9=S.E^xsD`>27r+nuk<} =}ڪ܋Q?@q}mMqn4r >vR0ϟ+fHx5v` |ٙ a +=𼦠`,*{I]y?eؙrRP)6JYe础P0/R.FžZ^(a"h*0m6cjUݡ|s{$^jD}$|Vi|'f|hkm=w8[0?/'`|` ŘT,N%Pa]$ݻivg"9 L9A" 9`csDQQQ17{y{G=tWWWWw9:N2mӷ'n[+&Jx( wj E}[Mϙ#k_)jo]G] QnyYoz緯ܖׯ+fIg7u^/6o"?x,oMvXqp 6"tQ뻽9ؐYX}?oӷ?߁ X1.Uhw) 6;U+sUPi% : d.l4(\~J"ڌ^$3Ng^9́ |ao|53a>r{N#=Toiw_Q̻r_vGv~m$G΁HG5| /Q p^pݔ Mn9St!Ry">8 6.]wWǮh6g}xK ![铅kB|zXΉET"0we?¦{F5<=p*]N ;k![*PxΩefvɰ{ٺG$Idd#Oܒ6QG vRG;a""m.]b>5sέO~[c;{<#zY-gU_fN[k"T/@VSn5$*lr Ȼ-R@h2i [[<^ 8x]i]jzTbbtYl96WOs^ !:sRY{7uy8kp6l|uw \פ_qn;ЯKB;1{qL,DLLA+<?F/}'BvELPg)ʲ`xNDՍz\x:ip] a-`#}Y#pIhlGOXbV# XK_1u=eߎ#)9s:vUf%7WcL趱9砣Cl}{i]a00hbL˥iH/kr!l ಥRJ$XusG*HnJJqv?cł:Ӧcth.:p <*mFrE^_=T\]Ӏ=#\kSNǦg}*cȊ҃ סоk? >g%*EI!̜N2dBеqזAGyн8 ˳ \KuvBD\cs[³Kr)smy<Ӫ;4E`Upk{B`~yL,~ܯj@P5ǺyN9z^ ʼ&g9<:uYmy?&lS+. Asֶg~ 4W-W&B,!`]Ht0TWVZ'seSEWA>]X&D64!PG%XHy,F~f^u{VUHUeC[GCH(BݮՊN}5 gO9'NpR8_嫨ڹw=Ą3ТGq [0X;C 88@d[;}~)p[ p^VsRt: Cb`![^ I@н{\̓$3w.\́CIO#0x סhCLZx L7;f-EZUvn2fKIY8h!\ǭJ a)Y@npl $RP}1d1mOVx6dvMsn/Ct D d1BSJc=YâѡaasvոyI"4m#DY$0XǨtf^q(sAȽ6T?N,X\/z;^qFxH@OEh9޳a-eEݼD|&mRc?{§E(K2m7/ޢك+6cۅZޣ` ZZ~=}tױo`8CĤLwg³/iPq}:-k~i ^rE\XϪKVsk;ۀv:d<`7na7U5Z.y9j J;%&q.S5܋ONΩ}Q(΢;vt crhyPk >s3>Oz|3 / (o޿ƛ x1b@o{۷x_P;\S#!`C93KM;. Mc@FtQpGT}5}"|_h؃y pc4?Px'e|GmE]Y ^$1]agvEyZ7GPXQGQWFu VreWz&cJ/w:I g{<̈́ e&m(:oa-[At?~]NW=f*NH*8/yOSw}QfXL Y>v2E#1{Q$jNS'{ܺ]Gfi9"}}kq ?zm:?yPq^H:~I.`ѓH?yQ;1s1+k09!-}C9l0O8)4'puX&\WlET8!$wB=*rly˶ &0Q}JNcC1:-HWEg̽spU+\]; p[De)aS $q%G7~7n37 4b3>r>~7xm;TݍEpLy*Zmdp+:(лSFޅðť`/\pu-bENU˳> G[x=v@p,uK/GP1t)>ܽFm{aZ ;r{BG.͸e)d:<|3U@hE+np.Ipۅ)d2}d*go4#pZ"Z +4y '01DDXX`}ufpRĢ3+aT-)ax7mgrIظ[ϔRtM37kCwsα뺭H,͗ߥpZ.fA*|0zkѹ Z?:<ψ+9 2t?[y 6#f{JtY ?i+If:ENg9(~$7y=3p)2G #Bp$,.c ꖫrEV婫4arE^ϡVeנ1~_ufR{y2C,_-z?Lkj=xux\ua~`3ịlfY>Qk0U')@jՁS뤀|[^_۵9+ 3Q :(­inʄY_uA.<]*LU+0:5|3g>CZzF#\/dUX]iUZp?2IL&zy}YSG()]!ACbY-|xltx>\߷Ǐ|/^GOaq |ڻGxع  l9>S=6}}b3+t":uqp* VasaclCf\sp̀e֢ G˹1k ( #}H4Ivi&][6!==Fk:؏_iGd\" XzGo˼M۩X t+F|$3HKp[j%9A ?_bB6=eX^#bdZt]"@-~"XEA;a;6!+-|&fk`#Nˈ h?|EѠ[fyzڀN"nD)+8Ӹ9WOܣ܋ԙb+JC(EinByo,o|rN½_p5x-PF^e^ݪ ݛ&0=~L(`Gk>@'x 3t)QP" ~ 'l'NrO{>q-Gģc(r[v%VvDP!c\-6mCu 03oP1Gѣ$F [փ͜^1%>Bmݳ捯ܽ}ׯحǏ?:Qܻm"߻{^?on]W OA#4{oO ܖg{Zo־^z+sm>oC'Z6sVE?s #A[ E5p>]sNmbD_{grnӈٌ7qD9G{z$nDLErio9>kϘ"]]}` 9FC:;ݏ]Ew] ux",l@] Nv}6E D_.9F+} `>행rϭwΠt'}OZ}V T]嘩: >& hT|5= ¥%K{3?m*@(Q]Qqk`]#.AK8-ac9l<~Ig/ %,޾yUH V$Sn>6$M]n"<;/J7r#Ad`t7ʽGw ՜x:_/Ev m/y6t)2s> L:vp f^`9ZaQM_@VE"3'<*Zݍ7曫Ly"liC5o78!N#b>~-g%)2 yfZDn*{ MϜD#;O[ Yv1&X_Z]ZFͻVi90)pWqX]3< m% ̥90/ w-xʻA\n7E)f G[_)Zqyp#RNt;qN^7>_CԲOEkJ̍F!nsV 0<.7svo;qhg*­qu|sܿ{75G+{ͲHW7qVY:γKYGVPR_`>B!jR`,rK-5q:ug~PX!9@ZnlX7Zu[ĹόҼl/*z|cE&` :'U]ybW`uGչ}`^' Z ̈́_0k3:W+q-3atu֥ ZU oܯ~uW6-uu5@c8Zs0=z;wEIivص,rGa(&!O8X~ k6 a=G@xLxtv ip@\ǭ˨e17CMp)?c/>lBHٝҞ`|f/g˄t6̣m9Ǡ3/MFЂdWɰ'Ft6r>p,ޓsZS׈Ґ pHgdIV#2a1m(>w@p%볻\+)lʂ2u:xGeua #2Z7IG0z1ZFIa#]%h5&\cba?a~<-| /7'N7&$`'/:ܿWki-&*3+WK4!P]DN hTZ-K!PH9ƿC*+Z%[8Kmsuk^(yLh*Y_sYp-ICŨ̴Μ9C_a)\2m92bZyνfΟ}aK/qAb Ӿv{al_ϲbgL ~|fjf\)zY :L^b&% ;Dq*>klϢc(;nTr)59pί]fՄ&QߣYEK`loA#MGuxR@޾zo߾DCCcx3Л07p塚>3k2oAcG^{<7I202)o^m6sbX/\c,h{ : ׃gu9s])r_ЈgOpESF_1:9KD_j u #D@tޫC]O@Mf8Jfs:R=y9|c31i ցZFF#4NFceȕHt>|xˇobqv^݀W2_.,=Og&-5CpN,n?>gᝰ'  a2×!rY{@tT_칾nqy!uȋ|t )<| {uL=k[!Sy`+]-`  ΅U8^a]64\a&6ksDF˪||8 ]bȲ9Oe1oޅP$m_yL%5~i Wy~!4Kly^-"읰z{i>c+PƊ΂|0._.m9fjF砫Ե˖}txY.dǯĵ6^+2f;>O]Itnz*8Y/6 lc87pDAyZZu~EtKgSf0>YL/Gg}CB)Oj5Ǘ8$0 ;`qR<:1bR Xt{l3}gPl*wU*EprV@=6 Nrz_T|bc8X]u777k΋\3AQ:\O럛 _1)cԃJ`ԥ dc gԛ)w *{XaHy(xM#W-/^W@P`Vl`kY*j55s`Ua}jAW8WoMjee9Zg-u1e|OM\deRV :ϧ^GFR#/)y=xuB.7[U[iC-ꚬK% OUg&AVg1x_yjV Z4"tekr_+p\<&m,,]{4|/ϸ5pc{BǞ:c`Z{́W 40_XD>Qxcasf&>gH#c(8MZ 7@Y<#,n3f̹ Gi"tM7;}VڸȒɫd3cEYJ͇Nϭ>Gv* gQ\D9Ɖ@_/ ZL9pJGaSѮ85\˩a5}>:[u-N#Wet" ʒZf+UnP\w" 6 r_&B\#B֗dՅwi}C1>rNq0 :"ňh|0n|23Sџ7Zzc~&JׯE ~րosљ`ˈηF~P{,>7s|a"ҝZa2!H]])Tf u2CȪ{B^C-nM3o<\};r oY#_~Y.Zqb4u&CL:_\ˤ546BMչ̼u4 4RU4|:o?هFIK>1ʬc#>.vtaް`/ >C$ G'kbR,ZEC1| Q?3^ R1/cϏEhc\{D!d>Ao4 && ]K#z<E$|T0BN$]&o/w7HV~<+xx /'ATj̞6 {wI;֝>ύoe}zO_"~.R}sY;YPU;%3¢(Ƥ6MCXGeO*%vCrj.G.8 0qnh=k  P텇ܳ[1T@ ]\m._pOk*g_|N[+nc6&ߕhc~:D^9 m\2*:vE\u'5-vS*$`^ppm+TVjح0^*eU>aIrd!;{dW-pڌc㋡Qf:C"dAڲ3L`;w4ˎ7h9n%zÚmf0؋.&per9t=~*2g _ciub l%q`NˎZz]-CҪgc? Vs='@SѪN`X"ޝP6N4QZݑC#/R/sebY1\n`OAW#;(u `ݯArWR`ё &8Rjdj^ereX~/tyEj%9Ng!s ;Aqc7`1C2u I`>.:n9ck>~#lpP=h( t> ^"C@ )S>$ ǮAϱhe2,(2m,g4=b 2q 8Eq[^a, p`Q9_m^x犂V.\eO^ВO6G`-܆{uʄct LjJX'GMp{;`mqvχA&:ew1( .Ň_uѝ \%޼~'uEȣ[`rCѥ=~ =Iddywozt+Z] Ay_ݡrDxqZ}9wJ] .jրZzMV_`88uUf6SKrHYF_&ٱ;!)@+`zാyƌ36Al Vf0,F&e;( 4]bCe,9ȴ>yW 0ӭ28~y,ܲ|F bk,ɪB(|-CvΥuN!ճbU6QElu-CH TK-cq^/zFr><3. \޴ rʅ˸-ڻ 71%ޙu~hx"ط?F^1)+3-ǗҺr^C|{38Źܾ}L;`u?#095Wp[ȳx Ƃǿ`QQoގ}G" 8esR |U"4+㹔3s4J5 !DJ2V+έK;080-E0Љ0{5z O<[Gϲf0is ^K2<6c?s2+\_9J$\QIo^btt,WWލcm# 4Ƀ%73j=͂WC=bܿ"FDQ3h]/KV-_3_onc}@uC#t1/Ŧç|<_@^i9ίX Aag,%y&ONqv<#v8{{?řcVû:f\f \y.]_);1Mvf=sVME̷/;{W~ǬRدȂO"gỲ_LZ:JIq޻N½+NN.[^""@w5M\*-&e9=g<*$2Ӛ\8 ˺|ӖRz},uTԟ Y֣z?3V6[i vrγhaDi;'GMl}wǍ0=ųoPu&BZܖ~O);P`1Zײty c;ośWp%p7po7.7~#2/97PFQ혐F}Z I_S &aIWOaS#9S: NR.TGgB"uk+joz-ky£a4q}10}h <ƶրMFlL7wgfRmѺIrՊnnVx}|gN|)#kt p)3Ve<'e0:F'Vw6_RzP|> Oބķ~b[~ sem(LasFOdg DdwfF/[0t9}e)2Β/z8 ;k6_)k#"ݸduZ]hPpyXτc-Bh)%6YunE[UMfzyEQϔJn Ljt 4* Pα#0pJ)[vQ$EH.ApՈ% ͈Ik^"82Zi; lKYR!4k? ({ a9`>:!0_M 1 ׶l*Є_.~Ӵs$9&`?QU!xjUZkZY1wk v-ePi˲^XZX Y,۬K<6=μ,S]yZ ;luRWg!k$inYwc}ٴ&1o ܲc QFGB%a>ZomW*Ghaxiy&t_ |'XO.mlG ۉj 1jew~3Fh&ȸrP*fg^8 B-28g]b!Jw۠ w!n)/i|hyRp3\~W4׮ W_M]i!`_4 &l|r/~)^}Woٿ|b\_{g<~jjWoKΛi˷+<t,.ᱥ R P?B*yuZuNŇ?% *@q@pX՟ _~FZ=?a|Q+LOFb_h%g  pί#8˳Ѷt|?'.3@c9|:-FGߒ@QxKo|&@&2$X@U4yJd W[ 9/`u vzBd zx8¤n=6Ds]cgv"0 F΅)p6CcňA̢XGqF@usjֈ   Y%gZDsH| ݚ[h?(؉c;G&t8 X]a<zTGBcu pgnS+mBWfFg< ds-#'mA#eDuMH3*gIR&K53uux}>~3}7_r^ 7{s|tM.ɑ.M.9y5M&ϊMw`T~MX } (: ?9[Q8-Ʉup-̂$l=%>s2snq{a2#I':)%J=n7UӚFukVt`fhN g5 XN_q9l6l5+A>%w3 >if D|)< 6/ kaj<ڏPղLgVbtO MM4[J2f|O5f9$ m;l., JGW5G['2y =(rܽwdž4c l͠"ӨpǸ;\z[V|?c]pe)*_ZeoMKP`*[6_݊բIxON&MAs Y|]>Ha:z;UaWQOa9l*jRVxVXWVպ\eZ'm7f=XGrZFlK{b~mF "<2 Y|i`Z?e g&+jC0+X{} MhuV7sJ 4-M.yi%J7h³FV+U`k +<|A2„\*L쑮<LlxKPf zٰss~r~:[ݤ8}|9YNrϝmb }4-ѣ1yN8aZ~jׯiC&!`@,_1NcqאfYvƪ>N;a5BmZXun3=z B&, XYXLOC8&uhc6y:8 ǧN'.Gtv RaRa/4?_̀XB"9{f@-h}*Zet:2Gu#6nib,`m7#1X푖W0!Iem5&f#HmZո'vC16US9Nzy<76!$M;nR(yU ߾i{RH-F!p ^)=zfD3]Z_~8o4M? S/jv|;O`@GpᖀBR`  Y,BoRjs`QW-<.,y[ui WZLp(`j5kz0/A!7TzY3861V uVWkc=رެیY&-υmi2<{h3Y/81jk| o:|?#,O6:xR㹬\t?f;(- T؈kPXOZ2Gn5E.o/ry,\x2{CXlez1t݅߹EJ>8nn?7gϸ3ܹvu76Q=^?e* 0=ݹ~n|)K3$ gv7y ~[)5}G??/ÏxoƠ/Gb| EuQ.ޗP[&n(\Ho <Dn7z\7U^уx㟑)m-CD"*e@k"Papt JN%pXz][?OG=_ mFȍT+/P;D'{9XĤ7#ucz hيa`,堁K>lcpi\qil$X=}r< 2ũ5f5ݍ]$E-ٕX!r=,AOםgV@嚬O<ͻMth"3O%V{%rѫ`p3z4ݧ]9AX[b+~<?j3ߊ2|!:=sbpHD`1jxBBvQٰ 0E&u p{فNѩJ,s6x2> qh=:J?}޼RRFwB^=R+͚-E1T226NI.3~ZpѬE/4c O3Gb}7ѹ}..3e IDATW,XMX%b 0LE>:u #W?wOz +ޢyMC__ z"3½q ܿCńtWUX.6_jys3+GGܓJxFTyI_5Jy(hs .!Gb AXOg}U)8gYdy62;lB1ﱾ b,+QgRc\k|YKX5z y,fTCؼO-)Wf;b_̟tUm ̲ۉq8h`?}MiL[4V37|u}7X'm7a}t/llOOR@'_h~|*n5}r/ߊV=.m(sp8GN5v"貿@S%p?3i+2بm<ߩӆ-'_a߿7R'Ľ~, rkO_s\A˧xpTVi*}h;ɋ<} `C  #|'JLE0xc,6*ţK 7XnYn9ޭ5f^F k<^~Shk[ܥO]@װ^=i^/~#q7~2C1ifBX0fEۙk{s&<.[&% G_̅Ŵ0L(D?n1`&8~+bKimp]'S@0Ct*^rtp =3Ng4 &L9/Ʈ<ҧ'a#Kp+Yh7`lMs^~rc_QEF[wƼ#TѫO? HTV VT㰼 t Iʑ(gnb9^+Xeڄ0iq ~6GMor" mAp<(?:fe߄GGD:i3XRÛw{?:,A&͝3Nq X':8\/uV"5{ǯOǀD1~7kl=mDYI^j4m"Z=byt%~Lrvkh|@e% #]r=2XV,֤7n"=]h?9b_DB"؀d MLt8cq6|)8AfVt[ݥ^D̮2V8m/ſ T,tdl/c*} wO8,٦]嘵tdi%i!h=+}75m-yul+䲪NV9wGXmA˹Ͳ8ӱ| teoCp;C{tgi #Nh'`&ՠ a3Aƀ#`g$2elzԿƣ{M\A?@p%-T OKܽUhe'A۩K-`V S%`b m#4n@u=7n _l ߔ>VN*RrlAE x:PJyx]iq2rUlơU(U@Uf[CP8ê֕Ի3$)ةMC' ,X5¼|X&׃im8Nb^%jk-V'h-/UfgY{p;Y.Րha]g|tva]7GQ>px]e@>Wg퀋?th̰-GA$'4wn4^k܊4cv 3h*f+pn+.nqJY?e-}0,2 tAR"8vWh,Dئ-p;o}&b#֧ 0M7tߞGd;Eo˂G{ =c3a gJq:8X΋BtfcC::J;qF:qltXoL69j|Pߏ/K*pF* CF@Q흚+P* 0-՜bBgu63ke`C!aT{8F17N0= u5QHP` (aLMktUs pOl4 ,,ƺ70@ ^gx-R#huKls0W͕yfnloՈSвLl[>K%S\L6U3f1vgvVSqo&GM} fek>]#"}NiIt˽nY=ԬYۘ,t/0k[$y>a@f6}toMDAe f*XjtAg]i WT6޾xw^xÄu>|oZ^|E'}UwߗC<~?# y?adN!F0L@i^p9/d}#dyz%*k2yr{s}| /߾oGWbӌx׬p900#+#o߯x7k%Wp5#i~z{ z/,՘/|Yj+}v-W^2d'uf'İp96&a vVȞ_Lh1 ξƧˮlNB+؊ke)y7ɸ%DGKC$p\׀D)g~r: S٘7o:,GvQ9Y, ZizN}44JO8.{Ҙ@~5ҎSVRʱyl(>eװ2n?l8̐~sXiAr#,Ғ,@eKE_X6= ᲧWbrn#p?G.KoENvXՉƚh`v[ u< gaz;eIn] -Vum?:,,5_N8)k9; !)hmrٳfW9yp^l9Y,tܐj4X>l#9 ߖ @^X*@9:e<w䠏au<K]oK$tֻ16 F瀝$cγ#`1'hz!Վl.oǨud<}?- vB;}BV~;2Yk@Ռ 0۔2^Fζr1\f}|e<<|w ބC+QQ 5^}C':>[sObȻRǸ}3TFc? 4|b"|5f ZO|0N|m2]ă?[ܖ~*o05ԛk5-eRHeUG#QVRFV`:OL`o.j?,+0,.UXU UxWmje82kUiPzaT[CuNWjm`j M--54Uf =!֘\_*}@z50 Ÿ<5`}  MgBp1ΗHGWv]`4g}hg5&X|i1.o>o%XFfƎ=CVfl1Av(m> Ftrg7 k?`m̀pOX[ka;!2 nQ54%"v#Ɵ?y%Pv ,?374Jo'Lfr*„ J6ZQ2߲./~Ǐԏ9]]})'I7iMwxO{L+}Ujlӊ-3 pE׍ O;_4Ȩޠk<~99/{r`. 7lc@`/me; ,`)ZNE0h9 0s(0no5.V"/4QOBdtτVx# !'R6GU`xu|99^.+ > D =\g++48zJ85{͚tt)n+sU[9j춛e{.z Tw1]w\ٓ[AqR Y4!"YKk6-B~p\.2_p:mJCE;^ިì_Fih; vӼcU"<31~7(õGq}%cYh2EecJq qh:j\57t^H?&ӱeBs-+ e>ckf8?(*u /*Xr,͸q6UͲ0K6Y}_͏YI9댣j:eLW-Tө0ZmU-j_#ShgK(xXu-41< ZnAѶYYHjmUtc>s#\aX,͕ Y+?.+)&R`:^j3^/M_5S^=5W&%&2jyj Y{** 3_ݺHu+MG21gt .&fzq!Yn}yy%ʚf՗hkx >;oOl KŘ8{[Zrm:Eg#4N^.>2[ ᅎa;76g#]gGrR8 EoV-=Dʱh P]  к m$dmmoL9:Fx8߇WLz.2[ ۅV}]F{`w smˠ#6&"goC:i2%2pGtyऐ,BEay_C͞y?"jrTt_S {OP3yR(iaTnf)tduҠ0eSm ]< gm`-;j`5f6clc.~̼6lAfίxA͸l>d9X_}̛mk<7a jgcau/ʧ89|!^%(r^Epߞto\wweUfGo'?CZHVbSuAy2CAS1m/sF[x?'[9+k.?-^˻wՏP7>z5=WMWo-=mKI{rtBB M# =ޤݸSy+ v߻ C?)z7}7Q߸LP{m1 i9c.M<\h:cϥu},Z]6#~f(ύt.  ݅6[89 ShaqCXg1vkRa-[Ƣ͊ ͖s֞W7pڎ.gqLW34a"M2yNjVpw>nJ?#^/8SiȪ;?{ێǁUH=w cAx mu  ca7n&,&-4`%!X N5zlg"G\Yj- n "{b2v?\3輿Th4/Y"r̖Z4kw6sNczLMo&V@CFq"ZdNCg6*"Ps NJ؎)&75m7&>h]Bg1䆀e Ҭ|ftI4~%4O:_ y?,@UEqU{>u-~c/l'C );YϺOB0#Z]F-ǯ?FI=f_: 3./`vp\8u"|%W_I;ռ |$52 }c|fE;imYƓ7'酚Oڰ϶dX$<˨T ïgKx]%WxX[avn;mQ$ZN#Vv=YJSn=ېjMJ(-v1:M^vL6af\767̥k<-"xVww+qfn?ao :O ͜h7!9m{j2yDI#_F}EqW!NaQ͈ L:NTӪ=j `|8( j̰)Wycy5VVn]5˶@VͱjAPYO;1SI\۫ZTB33`3i Ōu(CK+*Si\ C°5ֵ`uE/544hof4Q&S+LUxVeb픘nZcHY &7ëp{ie|qjy f~`U WM1ٰ}6*3Ne鬑>^!?O擖OҴNǎr m1{smrh` z6k66$&=vQWw=C{߭1WNA!aExI57^j~(.µ? 4l]`dA@6 /r^ܸ~M)7&|d fle ƃuxD`ېh̶Xv[!;وہaQ7Aص/ WMx  <Hx]K0k {kKaBqldy3- AX!igW5mbm^`H8S 8ZFYיYU gtuALfÄ]z\^U2,eE8'qYz0MyP̣3aY2J?웨ifX5\`7ۀ%سjϰ#Aվ7:@ݼx5 ƫF~=>C@qXFz/YA76ӇO~tJs/]D /A]^w=鴫Էq;(Ɯ,7o3ٍ_tN#a7ZNv֣C`;>:h VT bt:B L?i<Rp}'C\ -!`˵'S`,òup _ 鞰PxO͸I0t8VcGf cny]Z;P .<~'qL-W Zeƌ4&kS}0|&af&c =&d ڍID\iwߝ#qK(c$ڮ.Ա5pEojBםa>&2Z~0Pz8yefOƋX^2͚XMLc1E睃{Y1f^pX 4<_ 4;ȅ{qp'p=yV}amF^u6^hfY-т;ZnṄ}D<~=f6aV: ]O]'4؍BWyE~&XN+3IW 7]ǯFy@t]_8Gg;줞my}FXǢcVK9^K9lJ3[] -FՂ(2iVe[ #tKuY`SI5ߤmd*HY8gh"d|d%)bˀ)UwfJ6&Xɳ,c2.q7Q|_ \h#x'$Lp@K|w~?TñӗU.EnaT?|h{,l?덳Sx-8Ur֌})sM-j{gOj!ZUL2J5Ȍf \͵M%1 ű40հ2f}lFa4×XA7pozĿ9a ֤aI|1 rYt4eMpiؖ}pX]<bE`O] aH"ݢ|#)R!zm؇2gAq؞aM\"-jK:E`mĝucӎar,{1&_K8: I 0y SALG~j9c^##5OB)I C55cU᪖ҘU9e];VT'(BT[CgBU%j+p( g֑q6;H-,(1m`۩Psra|g=Nuu uf^ꨊqe_}\Aum>b=xد̗" AXU65]k{K' XNj یg[Y{>+|2fZGQypI?^)15$>B78^@@է?o;k\)i:܀;qUwCҧ^ ĝɘn %gbCX|8䚹+>}9zNs_XbLV@ g!Q[| ?wqC['ͅp" `;C0xo7iS۝ٰ y.ON *M`l<Ѱp! 0@`knN5Z{|D'g)uHG_)Ȃ ^,8G$K&Vr/D;Y0EK7%bwpaj|=p)\YFr7nRe|}FY%rH:X ٘ǥQe|2aG6 ;ue "v!* k3dz^37Z.݀ P{[yVȻk."R`ͬߵLBKH|17Ȥo] IռƱ"ðt2p syo,_ϔ5CsSQ˛4RK%t-Xo*/8)(d`m@ZF p^!q+Hn6NjU";nT֠?nĹ(9Q"xҝz,ޅ%c4|#n#8$_5+oz(}k)}smkRf-]jDHSkμ16zj^8aف_λ}o>\wf` ԃK#T r Vu.?ĐF&sC;3eK~8P~ 5FvwoXޏgOw磴wnl"zٻnݹUrؔp/dӏx?p10i;yJ,ښ7㻿xCݛ}EmDл?0 G:gG}+CS 1[܋;{[ ]h.;[8( d`/},7eg`LEɰ;S˄8㦢ݐQۋ]#r pP@8&0ĞHx>8T^ܲ(y WǩzzY.@qfULW\2-1h7i|;γbØ,FC>’*tO)@`#@|in^~a (NBdYXs) =WlGa^'39nF6ͽigvQƔ'VʄSj<VۇGccnN),gIeiK;w^>߉ǮczeWR  o%7fܾ)6N[RxKԴXy7bX-2{G>Zg5= =w~F8:8^Kq bScD]dOH^extۆ.Z4? +6b;8_Q3ncLp ܉X) 9S%/E_G޳k/t=|7̗gK O=M0g0<bBro8}YF^c۰~:~RXU 79\ǖB9Tm1Re9~`~v'09g֏u`9Eْy2°ϼ^- Zbe67䊿d1`C4aV5yf!SkM%,4Y1gU3oV ¼FPk |P2l+٨jRB̺-χ|Va*+~egZ. 񥩨 7ixʕ(,8ەw0}R7o\ڃȃ_Y[48.e ;eRf _>+N[l@"h!XЪw$i_#>1X L>q)h3۬m;8Ek >b@]:-wi^xߏ)hw>,G(/8 |A/!݄Oc*@n$ͬ^ ǠX[L9'¤÷]@1r O5&چ9"ln!U >gxssK`z3?>MPVc|BZ, 7&c2xicTI-ρ35Xw\CkſZ/Md.XӗQ ?;9w?PdΫxn &(`) `P\KA8_s)+(2Ǽy໮ZCY7Y7̓ fgM͈(u e'z^ٗ^lGgN0]+/((,1!rñ,jYmeU|t9uE/!̗}~6X7}N:YAA׬9ˡm<4,?wxJGqjlM7'oU| 7Ow$%~ /}yu] J|D%X]p%(  7r&AO|枅C1 ȓhһXu&V{ W OޞSq>W͈(D<{{*' F[ vU>If[{ޱo\ەxR?HY̤ý{w$O;^JGI!¨WP)nVVsoJCyg3p2n75Ϯ^{̖W/X9Be?96%t7>ږ9uINUaj)`fM,b ';,0K^$"5\Ap9fR}&êdtrLL 1Iť*!{ Ԓ2l-8ӥ-p2U={ (my+Gk? gnũڇ؜Wsw2E#%m7?DJZ)GoyXˡS(2|g2sbȘ}QL{QFuˊb9p٥jjٛo\YgAqw.,; "*#LBωĨTu@4lCd\Wᖾ12=HV7!X@/ϥ{B&01 1*1!w AQ'/cia,ڜaI8ccµR9H=5oIx {]D߈DxEu BNNw[It݀^G#d9˹oحO[\6Hb*XJvW^V ߜ J;˘Wh_ Fy`l$ePxME^E"R L*Wc++M[oW xFkWoSΊ2v?Jn*lo4[ZZN@+qMGx)}ݯoRX|ܫ&7*3USpL& \ᗿuնY2Z2}g; fU2c 秚g%uW(3Q 6Wf> )V.i٘N (3㲼af <l2nգ΢~ ~:CAdxvUssi's񙗮5kcY5_u:I4AEUe ŸfxY~eQ9>'43.δ!AhXpn&fY|%yMk^n:<=WoX. { Gn+@ م~X]ѾX1)%*== Q=ct Mϙx#N tgBbr ߈d}S"D8NU46D^$^zLX#+c&V8o5FMM@II2g;'cE9)D.Mh?e%얮i%:VN;L/a%{,{$|9Y&i3X,B#%y_Xt_+f<q/}\@A'0IG Gc.mGzŢXv6 zƾ#z/FDxq5.bY>^-BuA(VW8Br߁GËW2W[&ҪP^}S{ <( Ng@ؙ+d1 0QzeX S陼uw GqطS}9H>1_O~P'(X~̛ՌM,22 r@=>hL@ŭ\v7TsynWN@-v٘~ˀu NȂk<+/+0='別 wcڎ\|HQ|x/_1Wf0zu9kNo^}ΖW8!V v<ۏo?(>r-~z{L*ȔUwPslv]񺺻h6}) ?C<7 s)'z~U4.77&O͇pS [G5oħ?~RG;ܔiuFowz w]" ̄\}w^jjեpGka+0 5)>>60sF2e: 3`\XOv'a|Z[_r^đU8VS}eWo\iL֠n6Aԕ+E8s'n"z@PR:H}wȯ}Ʋ TޥUe[xri8.k1 ;~=gpL)PٙqGcpHʁmr.\g ֻ~_|s1o]:ZX Go`j!CcUJOyzaiGK\V^U; /7;9Zs|IGpOĒX"( /3]P]W`l;y,ߖb `np+8/Ya)` }?Jߔ[p sћXUtݘ tUug~>`ES5Nݕ~Ip1S);}.y1v+bQ)Co=ό}:."@| yw=NʍpĬ2Ƌ/gtO&e<5uKBVȸ>ʓ1z_⦉yX 'e 20j~򣱚5+H"/E.76^m\^M5ܻH|ҷ{zT~qXk凱svPDZI9e ^cm90l NXq!t<߸rzB[6c8QCјـ_>1`#Fl°-0]?M5S.Ylr9/3N΂99naptO~F'm>[dY/jo vG.m(O Æ >2Y@ϵ0u_n3"t ^ (*X *$a9S@0͸w>B;uJܺu1Ok(<0B7ʸ}e]5e~c 0w_ݯq`~Q'`Y'ZU8e ~tT,*@wE5wëQZuUV{nTr& }7?%) G9`OMҀAQX"e&%%q_mqcQ!qknx(`/n+1l& E|%Rj-+C."YV^Jy7Q^wwۥ ۆ%׃;}ر˧EߧrGGwx1:qGx.qxnG úD=ƃGDnۗόZonC6֣C}:[ u{^rm+Jq?|?| ͷ}q9=:QS} cq.`3>?}5O`SڂLL-5f8dcwZ񃉳Ȟd\1hY>tJncwV &`*xdT w>e0h9,_ ap> LNBX^)R5 ^Å*$_bԷ 1r]mF׸ڎ2'/6Ndj!z#p8&nb>LٍҎbxc6j}{]9U0KE_ qZ7#7]ތ_ _06v?D1^k/fGE Էõ &|Jx`{d.>yf$p"gU±e7()es>&Ua{~?a `0?(^"cT~vGNa8I=Gb_tYk[O%@X~C1##g={ Ls@y m*p oD)vzsNGz5Aj a&Ÿ\w%@dv17acX}8\dlliup:Eؤǹ@g`mP{cf!J1L4BTs',B [vGV1nEao$~d;>/DJ`fPs^ Sz.IƬ21 1`e`"D}p;f9:Wo?MFc-:oۃNNZY^Hԉ `O#p τa_4npǀ5Ni:_.n6#cYTU>ܡ,QT (e /I5!1+cUP#Z(p:urieR- N-tϋqS3L3 ˰VƫUrX>[/QiOc)yg8#atG7Q0= _JUX_t D6bj`Y Ʋc:uB%[Ϻd+á;=jd8 D7ңanfHyBn:g0*h^ XxM&K$2^&ʆD.=Ca kndEӦݰ@XغFn>tgi ӯ' c |1.B1+EM.,gEsÙ{(.4l\FNƉ2zmp_/B `. -ݬW1P;d9 _×XcY0!~ ;Faȼ>q2r%L4W#cb'̵:ә7f%\b+~sal@ѫ-e4xT:[hƮuX'(=vI/_NٌIVY,硟 -Ð>}6bOL*>ńpO=Qy< WDq{13H[9]"=cDcY@G? tEwsgl lSCmb] ^g1@3v{DZ/ؗ^<,YJ VPӊɨX bN/(J+O%(q'x_ͻ!iHBfꆝv "*x))[pgj3*hxSpwqsF L/( uw lu$\a1NoPN$7)1L'ѿ-fԊe1lj1,"|"=ˊ_LKt'1,V͋q?`{mq \bnnnCֺQ˭Nb>Y?/Ax`Zug91dLC rnYݓ q>>1ELqr0fDZ^F<2FpC[0z\ÖoD9K0{l+؟8RdhC䕫xV + J=AW(i ͈JL٬?T yͰ Ln,HM׉ jC@], -}=\b1xeaONvgv= KǴQV2f>fzso+P V`˘˙,acWa-b%~ f?U;/×#Sn4+Ub;|1(&aQD&_D?L8"Lq׻'NjzYG2~0x>[ny$쒶5zXvy}T+e14&b.d@r,N[[%;1;1p)sBv>[=bW;Չ$ȸ)Wm{a۵^&@M:Q gd DzAkᔘ{7z+WoFSqua.YxR7m8}O9Ds_d \m;g([eX5,=4=e7P~soYUKSZKYGC7F-cRPџE:<ՋUQk+76/rOʋr]!( 5 1AáU}ݩY-Pd bXx)2 Ln@'BӒ?WoiR!ttFNp'C;K43lSK0"KN_ LEynτLzbTW%XJOňiLX~X N=Wٞv%#Y!L%b?&bA0Lf\ :wQ.3 V"Bߩ[!0M IweG `[W7ݞY6]Vgs:&%% )Ȋ`Xζ0Jo8,چOcVӞw*\ q1hLmèe#|6^yp;;֣ }'Zbt[o>S-0r Y( !:ۏ]6t-Ʈr2nLKO=^ͤMc0cvXtaa?}fZay K L9tc)Z:7:*3.6OE@Qh,Cp`^x$4`0cwk.cW8L,č|a^VX=̨־z1jkP3X2Is5MxBcX% p·J,:O-ogX`w8~ .1+By@( zEO_}I.+BZ T9UV!K;Ϗɰ[v<ء+bg8/ K5Vף*䩠aG8 I !,[2~ S vL¯B,Ӡ̸J85 4,W:_6N˝W1˜}B#gy|KX}v :Ϙ.tWç w!}(W\ia=Huyb`>߱ Yf t˰Ҭ>΋2ͭMD/H~wp=AG{+nWEhVV8(eXq'1@#1{kp*,.ALIȘū^^='wmO8X+OqgR~'#Ln|jo}OEQn|O|1ۚEA5ާ%Z@x-NKHG2co?]-m7u`5ͭ]b^_[?cFl1 |vc;3lz9^[`urMkXGKQr&(3s?Nl2̀~_[o.E) ob2_G~-^~! UJp"-y8*f4"t7-[!R@ A%58ˢ>@xQ%.\}@V_fEߕk5ǰ\JnbϕF,'ߜD48 ml]-lM-T>uM+ĢqpN/1L$ yal(6:: 3{+PȷCʄiLpq~8)*kg-WރUp6~9c#& Cbk 9|*awaub)ø'±"Ԙp*"rռeV]Y0 Mwat"> _^ }u4&/#֠Ls ]p+o{"k&L k;oĔl8R&}=O'HXfaTcq.syZ3` v6xJ٠2;L\e!{q$,MB}u|79|:]I}jOx.6=Q5+gI{ME6VC5gp)Cۭ{h@ebE6Hf2l+< r=M8hnV;jEZ)v^t2У35PQlT]E ^ 6|COyEߔq4h_TwNO: h>6-44=\;שƼCn_e "(.#e0,2 u*G'<eE:CnRG |O`p Kà[cXotD}H<ix _-L]phSz007d!*i3/jյ:% OZK)asB2L3|Y( fC WV[4d6-q) EG-NJ)B%J]mb6y`\K1lfާq2[:(xwۤ$%a^ x_`VZaٰ3`g{vLJt]G|<ZKZ B:wcf|MNx;~MIa;]0uĻ1/ZiƦMM3V0VVpdzWybQhtVxvrZ2Ggb_\Z RB&3Nf8G/#4sve~!}h^²]3Tk<_UMqƇ~g}x|X-ߩ a#:FI_`"QXp><_4( A\q/asZ lS˰Sa|ntL#F%cp< jk"J @o8Y L9qQap6 ABu#^f`tgnpuCc:a^(*!fU1U7xbq*|ZƆaO^Ȼr+|/:_gމp&=5uj׆ i16/}՛Ɔ[^FK(^re}rTrxӨ[Zs~7cSBt L|ĸu*^cAq<Ql.cqWt"ƝMH S=)epͭä1.g)Ұ4 \㎾ gqjIHxd+L`;}1`~7zb~8n_GЇ3D<7U܅wqw?)E]{ĖaPcS9G1؁3a{rR z)1_*UIglq-.݇FPϥRfw_m-3rwKF9EwtCLT%?LJS g j࣡L- _LA6SF+BZuV2G [ OI G-SX +2N?u3nP5QP+1G W,VkK5.Qyj{ta{su@ctfZ,HZz#`:N1`u68Ew\Fz*JJO+0OѿFL͛ `E!-DY-նtF/2:KG$.of{o0zg6p&/v0@rDS0j3sH0gޓaJ ƭG}v: ݂kv }Y㫹a>qWǰl>jaKcZL^ ;qF4 ."70}qvI8f%c*SC}Cav$}bƎSN6@>jL ILh v0{8TyKpJm|TDPt?w7Fyr5³[ 0H&dapX2^HDcvlba.)Jz* U;p!Pl;Jx,WuMen(]ӄ#eǬ EP`]!ejT !;u) !^tC?t c^E2mJa[fӗ3Ư`O`>c?"ĸ'æ&TtZ7WZYVWWg6ˍyEӒieY' g_rbM? : wƥ~}#aKwZgˋᱝ0,;a yî2tǏIl0SKKz#`]>gv_w< Q{lQ7bc`"|ob֡PjNi^ {Jӱn s.?:,_X? V87b|&3ݱ '2ݩh8 BxVa[U3Lc3џ ,Ļo6X~qR|UfK|%_JOCkKWz[ձ,:~a 9 Lщ$Yįglp._ǎJ>sLP2t O#v=Vw̔" ,x^vߚH1`R|:|6? DT#>: n!8sE9IuzΗHuכp<8*m/TlA\1YU[jBXyK{Ҍ!TmLsH!08Z@fP@LFcx5TVĸB ΅ID6Ǘ`D|FGfaہʻX%+S ktO` L202'\8l+cYܮJ3$]vy;:wg/G]iK,ʯ$Y0 M1d ]D>P,D>gA?S n~ ^ܶз9^v`"W ]w&cwJʛ{IDAT& b`jw~Dv!|s08x{˯^KqLIF`iÐQXt8 Z^*@ዝG0h&墇sz%f3/"E `ч>/u_ lcr*>r+\Ob‘PgKJ0|ȳ xe9EwLafs8ˮv'Ͷ\ ھOpN9X',Aiz8w_[=v~37v;=\;Mhm[OU'ޢ}PY[c nj xݫHϻ8k0t*K7jgO,GPpe|j%0,quс:d\|LV]M9q?eQaoZMX/RKKLZ~ zZuy'_&] f0ɂbtg\Z Y,X¤C82^ cFi%_UfEh/=/JbZGS2#VIke ޙ6V'?>2JWf\L S "B^'+q2(nGpB2ZLfc9o37B|w.L3\eb |=q# _߂nA #;ۡK8=&cy,܍KliD#v;Canss8`Ȇl=>e?ߌ5N$%;#0hVŮJʅy=ᗀ0P xhY=0&OƐ1r0 zNstcz>a^0s z9NQGa8ml1V*&;`w$Fyc}4 ViؓT'qR0&>cE:OaG"X#1z3lw\g}7cĕӐ>~b/ >{-u5~o߾7?xVB EG-Mtg8jT;}ӎF[!ӦU8R(;x>jYVW8w`|hT?:a]/2/WWp _Zu3^j w<5H3~E7r 4ydYl(Na|zUZ3:>̍xokl &UO3!Fts11(w>TQ'` kCul<[),IÌ\¼gs7Qw'_r&VzpC;o^[y()-@Zh{N526@6úz,Sx,}5e.e%^s\77:nݿ-Ue5hy7 e} 7C${-X5b$c2t+nñ&0ϩ>˭71?]0|\{Ʀq+ḁB  F8PЊ=Ayn 6voS;a[_-eL}=\2jp >}dZjX:cG5T4݂z_^_`gl1|8FcdL΀uu+"lשAf>&LN|ZHw#}̤:'ۈ;aOn3mgZy|9`,7"1c_NQWu-0)8 ;Z [5i Od[53 fT-Ǵ~<iө ``V$e|wai;BRET2J)O+Vl6r-tGua \-'VViHJNv^GHBlW< ^o~ 0Lf[)V`x2ظu^I.f60!2b^ ]a`6=n9.Ǣz B;3w@c{#2c X:`WL?.@nؼћ- ycKd&\sR,E1tE MD?h<!0? YXz0tO@_ t8k̺[(SO~_Zbw8-\\8bLD`W(zbY`&WZ*N3h60?i|y˥ Ed<|=q=7 R*1q?FtyqܺGa(_|/^=7Qp6ķk3'v&yQ`h&A #l*8lZ[ٖ Ry/;Yvp#M0#P*k|/6%:!X2 AT1ẠZ.2u)Cp]k]-ïZL^׳3NШo^БV~X[Gp2!`+t~yfξi q?˕q)sP}9n~6sNf~W2O y8OӇِ/cxD 6!JT׵Âpeg^oXbtE NX\쭻MSӊe/COa%#!28AuIv%f"W,%t.*cPd]1})|.3^X[Ƶ@r=֧]1fI"k*34ÀQ9p\g'swT #v(}OFf$N/ɭBDbz|شwL]mFY*=;Tp |싙}-,:u^kH0|ǖB쯽Õ3&oA>=6Ą#1-9upj&.cRe2m:nvQҷ\ƸtL HcI3r"xcv'ĕ`':@I Ā@E ǣgc|Vx'ߡ( km{2,VG"q0;?0oZa~8uɰ.W5|#zon XzAڃM{V :e,)ƚ9RΣ~BDZCN%aT |&RHYI_o#~=r ƭGM}I|wp02]22}& \-t`w;rK!WaQO,d8I [a?2;V2:6k 2Y-|: RأLg.[L/g?\@K%;#-0?ȧ?;<gXd51.43L$߱N)Z_F,уE]b FM9 qF}Od8D` 0 G8aK8$RҦ \ Bаh鞐NwT|OUK1RW7tf1.mc0x^`0 IN/GAt}3 q2\6B.+@LL#7a30K!eTeިXdK\*Gdzn=~Xesvف1sl-Ƙ1k c0{G;#V-Awo_O؆n,}x$QpF`oÁ|9 ,R^!;0vtO:6/c窣~ l OA?!1ä?LD6oiuCŞ8)Eb<؁SDA t ͋6ݜBLw zNf~UYnižEM˒wNhZdɳoaySWaN?z&1ӢLGOQE0,W=ߜV`7ϜM 0Ӭ4d"qy{k(I>3f*\Y<alD /4DiI%2O,P .Xf wµ5X( 3 ~4C{?x%*T~r wP%aned1G@ c| sy'Lby,ŁpiҫX+?ގ jcMFgaDDFdcX\%`hT2ƥëAt4wi47|EV{y);:x5^mR杸QF4w?|nLO"Mtpo?>ӎ7hx;ܙ1ދ xgg]FM7em]kw>3b^)/?Aͫ!Wm5A;nԉR\Qwjjn+m3B Hyy\y#ǢQS?0cc]jƧWV%qƴuZlaTU[q%Q\㙉ð=&|GWQS0qF SbЌe7uk`"Dq˸B/OrD7ƹ*$5>Cnkt(>G.e.g_Jd98Y5c!>=bqH:J{.y 8 s0(HLvֽ8zwqVHyq:Ol`,IkY\}(pT\@[]̃IeEbAlaA=Tߎu?">2Sݧcz VG G;SʹM cQmZY6a&n%.jN uH( : >.EXX,1=e&I.$aVAEL9gb1Hϩ ;f@<˂3<\Dƀk@]QNǵG1-Ne`G8_@/c^"#N8_,ĶX/ mOY4\`);ay2 vY8-`+$ {"jj˨cڻx8Ȱ $W[YaGqݳqNbLl=J,nqzsJ+a*'>ٖ N뿣)ܼ׊x{jZ]LubB e7e6ubiA ͔q[PX(T\\e qQ!ؤz Z}-LUC+2|4*d`>)3t:ӠP"ܲJdx#R3t;Skq2~,Y >JsbW F?y7jlCjA:1L G 1;2V]Qf@<߫EZ2_͸4nU-(4 ml_N{&K7xhAu 4G X0,-*WtCB.̌iȄbNjVY&J`E%eV6- J:eMwta<a3~8l , G-b>բ] 騊Vv"l.~4qq]_)FMm76\[8ޅc`f_t=·%03[/`jWH#+s뗀ѳv1f^=7%A 1d>IvVI{% yCGO ECv%8mcޕr5k, @ ,F~ v؆ر{^b |Nґ^mndӎt2Kx i52K !~3 i?{SUwŰԒKd܌oJw f^XT Z-u].vt Nt) 40j V 6˂>ӡ˾}!_I0AG0qf8a|45ް>yىQ?dgkúS{زh@n[j '`hl&Uwr3lþp/1"fƕ`H dbc}`3SH'J|Ø6jq c0xw(5x ]Sf}%OnoaCM>5X[9GS pk {}[X1auveuXQل=w.f%oA@n}*ۮK\}}h}[?}OE<_{lK|kcg?O! bOU z;n}G|5О:-! ;T ~eXvz.w|npKyo2֝nyc㮦Vvm؍wpMr >Y8p^UXXcTH ,iCJ0< n-Jc\9?݁ýO~Rg9Ur<'cX3`<#3;Vw-/Cm1izΰ\i#*QY2Qs QUg]ߌ;}?Dϫ\Ě&ĞђjcqemdԶ!R?%k0b Y#W 6 qt]Q=$bHD ~v D Fb'eWmt݆K%̈ƿ,uzandv5ѻ v(yyu7=IE5pj1ٞS kCIvF&`Mi\ɅM/2&{x͕-jfXee F@g*̉/?[lX`VjX(2<"(M>FbX<)X% xvLtoWy` .n$E(5~Y٧W6`g"/utxOg O(MŚcB A oecg7.8j_6=2 s0Qxw,&'aW~ v .œùCؘYƮ NweϘNsN zO8u(V273N^'V)u,ZKyӺgYQXG߬)1.ѴSV!Я_gO`G5rtL#Ngfi&Do&#Xw&ՌN + 猃_BT$3OENI"*3^B1hV[1LS |y̫ZeT2Vsc0lzL1M擰̗#:/˴LGWKagk鯬eEho0:Lu,I+z SMtl 7]AC|!>2%;W ǐT 49k|0r{0G?FcvX:Bߕx ^Bs</ ~eL1ڭ;3o "l_l젨?ۭZc)@t^TW:vOa1uV;{>QW:O}ae|:_Gjxyg:HPkuT’b)tZ>>6"@< t+s+u<:&X`NGJ=|װ.Y3t+dYu בm?ӟQ*)aNgbƭo#Ϥ~7Ƶ7Y oJoW/ +ygqE܅+Hmāzl՝65)iMlgzQхmDrىZG#xi+J;+B200F`%Ϧ1zg5lJ.7=5[ϋE;`7}}{{M^ X 0?pナ7`w,òk2Fk [kBE1Xy$9_G/ì-8YՂǯpGr} cO?ը -0< Ow풖?ٍ& +`]I9&Rي+Z ۯyQuutsރG~xϘ׍ok>~ͻ޾16zJG;ݖ~g:.X:q,N)hc{Kpگ Yr!pܴ!&{zVi] XB Lע`+)TlhZ*2ҨϷbL4v1u!p ;u8'|:2_]سMȿryɟ[,aRy T`W x ~ 'NaDr>F%adB`Au3ܚp펱y|wcN;:pp1$\F/`U^}{"-2]+r#Sݍћ1YsӀ :N5^1o=*0zb3aq,z^y[ <q,=b{z06Ga^r9YJ/il6ĦbxT2nb ^Bl,iRm m`lId lsx P҉/({1fsKayHo6;v{)}9>+y!ʷ<:yf~b6J=:A{±<)^gZ$_ފ*0|s>]@_'ܕj_>">#mm6K<|Rk$e-Q)J=~TvSm 1>\"N:Y K}y_W2Maܙ@|*82n?/2 ]7^AK`| ϸQ¬0塚fW˸P5<~Mf`u K83m2(dZș+ܾo3;y;a=\3j`ex+è^za)4f<(< jL <#Ӡ$,AɌ1B-|u47ҵicɆE4_7"v lZ`fFecR 1^^ Ŵ$3o XH>) xy/Y0OV4t,~1>3=*|ΆI(:c >cբ̗2 "$Yq+0t: vNay{`:_s0l.l υo1"#GV1z5> #Ҫ#azƖ` #9`BE8&cI^ ]tjkahL9=;Ӊ p)7Up'Dhpx1+{밧D~,=;ϣ}(v! H~66;݃1+:V~%J4wy;Oñ 1_h |cmR x|/vǬD<0|+է4}"â{|[:;RKQ6 4wн@:;nVK$XM@QRNv|s>jUhe::\IvF֗kuD‚yQB'` FUpS'ݠ3?jeLf:ϴLZkY?huhבYVdXwc~oat2k@Jݲe/e}a|t:eOa7g9Y|}[|uڵ5uo噼?}?{`So??/x/0ֱ~8B=~ܺxe`cq떢FI5,0fg5#N`|c>5=p-l4ΌLEP,yT&|Swa+M?:bԄJ8ʰl4a[\!V$C(HXGrUՈ !Ƈo4'`Nfo`oK/\U/0kQ[4*Ƥz<đ{pkvcg̾50b5y4ŋo~o?_ưr:;wk/sc?$1"G}q@)ja[\4Q#3/+cAEq|}4oCx! -=Ń7\Ӈ/?/xmcJ򉴱޹k |_༭ںx:V;zVO.)Se' `gO Dx^ v'D^=1%/.7FRzt^5Ŵ&L>%]ejX,~RXN[,<wr&#~{0)EI]^CђJjs{oc_ p|.y=}Eܹfdv_2xW`ۭ0bnJn!OT%&cBM &cE~[n_ڣW[̀z7|:,ͅGEiX}X{HkBcjٲüa/al\8{ O_ֻcȎPc]=ʎM.qW[j;1)ScƸty.?E`-\fh ;ʚH}MDcII Mܓ̭I1AۼVwйL$L>gzYAdSTͫ1vRUn9goQh K*mR\j:]Ϣfld(ѫ`|;ad#j|+n ~ hw]'bl :͙gZ &l{8C’]˙t1MdL 9/ˍ?{HqB&o9pǞtd5Eo?e,gfx\PFH3(.)/T6?>z:0N?_(sԲxee3=ʔ7k܌NY[sޣN^،9)+go51ZOYΤ%#1>eWDa^>a2>ˣ\źb[a~ԺN`OX>\ jgXs%a6{c0v;`apAc 0AJ^l1#;R5wnKUAغ?yXMp ˀCD.*z?kyo4^ jS>ۃ*E6\R֎pޯǘ43 _b7All/~]ӫ!$ >hkƮ*x5 d/$cJD*k%c#,pJ9:h}%-0<E0,FނN2'/N~i?8V`$:| 73|% WOocd^ ~aI2iL{ژD~1퐀E_<j)*;8;gS:’˜0;we|>};4jmrݭX:Eat0RuLG%1,~:]WVq^i<*  թx4OҪSY+ [fm~5suVcd9?;-ZU2^~)W_֗ga̾鲯dޘ6e_c 䍼ok|Rwt/%?_1vOë? ؚpU uc pj-Z *Qp.>M/E(붴p 8\Y `DP"TaW7q6&]SL!6["r0Y~ϐo{zLw_w }[׍=z\]]w0Q˺dxشǫxTw# `>[1|w(FyE=.6Q˯~Oݱ߾y*Gu›/Jp]<{%2H,O]{5Jl?e(ɿXu2t^B@yx# ~ nu\ ݎ}Zo[&|oƳ_o |/}[<{8S=W{{j"OuA^%獙9g/cuf F9Q os}{8 u8wO],(Y/cC=뺏U؝] SiPM~1eF-];90ܢZ}H+AȊ(&WUԥhΫ|z^@;y]}(黋Q{>ɺV,xa?ny"n/û> e4 Q[aFi1xa]Җ"|x6`]GFz‘i0MǬus^ׅ9ؗy)pa!@zSp1sbM͚ؖqO/ΰ MaW_.TsgqXUW_Ehu+lʓL[$o} \@w]\!;Ę5>G٘[G,j. GݗVUy4<`u8p{]UځWq=pML )ǘ!0t)lþt^ۍ{ Dwbwu/K~,VXp {n`w;RHc<%MQ7S+NAPira]b (nm%uİen,XϬ*bWl-wQm,;^bl9hLCg6Hg.^6oi y2LE=3`l> ײ j8 **kREl ==uc'y\⻙e `9:h@O(;TfLRR9ʸ蟲S-Ɣa:ȬrTP+/ _O/M9Lr('Y)óljQ\jz OQaW!Sgu`fim3,Y[!y%ǰ~zᴞQ=0,O|F;y SVc8s(Ԫ^b5DQӰOLɘ| ӏVYZd_*I16"xMx|Ad5Obx #2s-0A2WG&tj L ?*hThU8uj37iCah%2+[ar[6nWa*2<4X7 5t,6& aTEW:yb\|L)f8czu:a|o00ɳx-z0"8Q.$b|2; _(x$ rq߁dxLL\ٮŧc_2³K ay.,oL܂3%|6l§k1djݎSMG#"0d+JP:s¸q-k)Tkz.CM0K~'LPL}p [t!8v$94ω׉E ɔ 8t`2$5иG^"]҄G3`. * DpטƵ9m2 ,Z':~Td|jy3l9r& N}jfL[?ﱮXF{`| Zt|lS08vc4Wq"}|[ǟ$ӿh 晷/xclF}S+Ͽ*PLB.=~cBR>Ba"߯+:QTE)= `wm|aa FGecnx^WùEZJ*;8||G(f O=^f,i$AQj.?sM6 Id3 .:oSAv"YRIX뱷]9u}SS1/Aܭ+'W}A*$w{/ۘ pX{X$u]륟B?^raU+fcs;w;Ru_A@m7?@mom7uՕ6~lmoW|gǞ>Vp/_=r2⺟aSv&$`|J bp5:ï.ކgg<ۯʽkއ{mVY列^ ^OzǯރtpK=yw}pKWZ{cqLKF<}w߃{p]cţ.\AR0@G 5-<{# W x4mR3j09Ա`gOR׼V]O5D`~/؅1XWl@U؟tJa{Է}[0! 3EK832v'knlYw0t>X7˱0|6ÖspL(Gx~'|Pyƒoyl.@){G+[:n/h8)mt^bvictcVg;!noI-uKs^%\x;ahw;{/?IAo@#ux-8.Uc;UnG]z ?y- >w }:{ [%{1r}FLXT v9.$W!^10Xa~ux_W-c6[@e+kc29 #̿[7RtvwވIg0-( Sޕ{OD# |!tp\˩KPO&Jݙ:-eg@tUOYEYnrrrM)/&d*'W-:OPQթS]HueG4\),2<Ӣ_|iSG<.|Q?`:㊿y_1q821oZ9UL0?%?3,*̄9Su/ӤŗJcL:tR+:`3}tL",ΏW"ñ,epJ8qCa)Zxj<3,b#__q/b~tqzWO/.u_4yS^wb l۟9NX<cWvD`qs9{1|. 0rS=p!xv&> I0:I֟Gb4,9Qٵ.n:3r0!r [{mĔ#0[ ~^l?QvKcm,rM̑4%bD@zaL JxIic4{oy7`8Q*bl/7Q⊰x'cs`&f2X, t;q]sO7,>趵G =~L} <鼱k׮k:vdwjg`ƶG$C0Ǝx X@WvPLC-jU?Ә),.Tk/pdt|2MvnOμVtS'V_>cɏ?h<71-wTX**'}%Y.Н]1vբ0e>Qw: 1,?nuܴ2@w'|xU ӱ )3#t׸QƻyRn\ug? ]3! rC|~Qw5woFG2Qwxǘ'8 s`9cbکsX/۰j2Wc[b|S]f!=62 crs;/žwWlqQ5F'ʳfLx4VNJ0;״cm[E,N.0,h 4xlؘZI1- bej.b=[=hӟJ8~ţg7߼w~[lɭ^myȯϩhrky«7qqg{'v2B`|0DaǙVʪfllJõx^È>$F**L3:b١ JR,:lcb3d-3i5R#138 cTTaĵ$a |X*X9`ofcXqNW&_ p 'XQm\#mMo|O@"~ө `#{$$9gÎJl+th _A+<0lH0(Lr\s\ц u=$vnuRE\@}31Lطu9uFV@/j],"¤"W^ƒVl+lKN,7`gy3֞(n56'K,bc~VfT`]vfMcQX>ňu?8]b"N%R'EX-P]=g[,y&cc:>$l6,g.bS17cb_,&8 <佤±Gcsl<+;sE | ,oD>~XuSl(G=갔%=YIO1-eT/GZSW!VUgKMNaYgc+pc~_NaVKez;4:ϸ4-W+/I^Y&OjezǰLau)üeaF鏌y`^~w`Ngt=0ÿ_G9̣:ӘqQP']_Ӥ?/R[K?Z_3 փNf>cWTxO-Uw,Z2*UME00d1i0,..-z0-!ǰM|ϴA+_'ҺL&Hfh _ M_Ve :3A'HN`\zNV <_9`ytԄ[X//Mܩ\e ?ol?w@էVG/u}wamٿ G&3atVb NXAVK =` 0a-ƭޏq+=ۂOMVwC##V<1b+VG]5l1;I:!w2 4_ a wa!غ$QM7(+@9-ց l?8>XHX'>4yc|'P@ȳ)ѧ0` B×~`>h";Hi֘Г N/'2" 09%1֢tbJ{?K=4}m D:y5͇{<(| ;q ųǸs@%|1 !-^÷'|ZuﶬgGt$#cNaGDaDӉ*)t4SͰQFe|:"#MG!U9;x:Z .dxԲ&1^$P+ZC Ced'g3ӠKe?"~gBC$X^{`|O:{4` &cB1OxVYOp7_0 a,뎹m6c7h )vwKysNg{e=Wѭxr^=__9M]?ۊ\SDOQw9Lᡇ30<>+j9j%57TTeI>%21Vҷ=݉1g:126U@c,9 ;#g2}Z7(7S۬ZXH|F?3*WK7Ox{Ct]} G6Y+0Obf|cNbIQjIbIa}0-10w~9 ; toz`G LEA0#V!wgT`BʪĄ2X|wDиZ/ De ÕC8|pv X+`u4gF^azVXot+ٌp)ILChz>\##t=bEU6 -t]F{(o=@Er-*j&.pJHggP8>61H &H9lS`";b6'*`;)1*#r+aSrU69!>Ѕƙ'0`WF&øDt;"Ɔg7 0<K&2qG`(BGqGL\` 1(& My;UrJF%Ɲ(1fmLI80IX;5/ry7\J0[?\[`Ax\0@t`~;s'&&(쏅}R9&cl,̯lӰlCǩ{9?do$̤ qØaWw9Ԙa%;H@R1) VaabD?aN|FzFTts1V()YX2 GNAc{G =?[㇏c`>koCcnR lG &oÔtFTK(ň4IŁBsi ҇pS0f`Fa8.H; ˁ}L1&H?D=c)vL ;wrNع'`N`Glǃ$-t\ [vE2^ߟ@HEYr~GunOdCr}Gp줮IrI`ƭ,[Q +r—šF? ')QwWP51-:_Yv[UZ)wrb>X?QrH 8 : [Xe g<27}uۨTo2˯ӧ_$s B0awKG8U`&,anrJ0,M`e Oka\-j3}XK{|>| Y7b`âSTEVp]N+1#Kee3,o°5éŗ@wfx6X6ƣ̗2Ӟ-gca]=hihkEݸx:Z-b\t Mx v?fnݦ `[1Nj7bcL{`8@an)2jl,ً B1j1/00+c+" XcQN P.C2EtcDAKh `*o:w_ɘhzy@iPǜ~:a Jư6aƔhKoFL/NǐL bTp|7]}p>{orںڍ5PWo(|"FGҊ׮Bag'#,;¡NQ$`BZX4u* ;od((xt:ZŽB($O  7d:=I&0XSSuZ1e׺b\Nb}1>N7of=fyYNȤ -ë@۷o7`&y #Z7nӸպ>Fg(q3,·`2oXG|_:Ӹ|39wy洸wo{>v8.KjH^It󚼿gQ~v1919;.yT.2fUrWƙ.a|X7^e]'l`U.q0ӫ:16au0De\lbOV{cVcݘqQT Ew"7˫QGDƝ: V\M ⬳k0\`d\~3,q5X\0|wl1"PnƖ8TT|6gA}M݆3w`6_8"W7/@ 0t-t^6]3(|)^ $cjz`Qׅu0 bmZ`fS/EͤMp  ?n_>XVz la?L>1B<siȉrL>Y[`LVab;j7vd]!st޲×Ðϗ31K{sJ N=׎FW!uv_1=Fޅ˨vgh}bD&5`mHsjFH~lV|j & :O. XH)-:bxL5Үcn|b1>UʜrT]0"ǵEt&&(ǔI,Fbl^FQ'plJ~~Y-mtRb)쏗a"?V1%8 N|>DL5Diö`X {/|P<X]v3`"y㝄Oz#`a+mrK0V7S0lslOʄ@ӘYB̃]L)n" 9O`@{_ c9`":G1KL*4,"b#LZbf\1ė 1[ 8Cd/hy.zDGs=L= ӎU`Co w㛌1bA<ۃ1=N Ʊd9rpMŔ2c)aTHLdbđ4D >XNUdbA|f1',RYR' 1`v ]@*&ga7nO [/]/]ǕFQ}qjS=)({~rT*(~RoӫW۔jUB.2,Q3K͟SU8)a3,/!z?U->o:VXV]LT˧Z@:bC?g~ G9}UShSpVoQh0 3 K`^MVY­_ī XX"0 ͷ?=fL0jUV8` 5g%2U1* tTFy^eoV(+e//Ft/AF WhcnllB]4&*-z=wv*%rJt]y>yC n1d!p,Wb7& (f"Ecyv'lr"~97a}^K+ u#cٙ]y0ʃɡ IL.l tS;obJ Ll 1cj/`bo}/(<̪|Q?p>&L.k¸LJsl xQ&!KZL)R 3ޯ]b9 +d{%7';]Ť7`8)uL;4V'+`+y4)Pg .}'aRxGw" {aO[ 0VF=,D&ۖ _)7q] f DI%h:܊w֍v&(( . nU<5}*(*')V\clk)K}L}ЦC_ jvy?0`X>\Y~T+ĩX|fx,'˩U;k LaG )WXW/5:xZdu2hz*G py)3q_߇i?seײt_p̓Ub艔ޝ v`/X. tK%`+7gs$+R }]B;z&D*dyNijxMa&W8B/+r#bY6tt%̏i%vuǚ55f?,z}"O݂K׮t㾅%a3ǣE˙8+@u+Cin3{f-`?l  [ [`'#2ySG$t~1/_7cj#9X>Te0 ̅xzWkwf {yWy-1wfdj?d+uR |4%hA-h|)07qԜN@ p?q .@: /-`#mɪXXJd;)_N 4R~3 켷Mp;PqWy[@Rҷͯ ֯Fd­1Vsmf0z _ YkW0(( ٻ"[Jzu|v'&i;awvقN>b+61l2+R ׺S?_vYy}t\Mk:&~Zvz8mĐc7 ׄ/n&]Lt/&w1.KA9-PY(>rXð#4.@%w]2~`vi>=%Wl~|mˆt vYGAcNfVMpO0^1@~_5?i-,fodž$Kt}&τYp)p? i{QT]-h:bFsw:  >jđGoPpk!DÞSH;u'"l.ڌblɯXspb<܄@ GSFr`|.§&\2 ܖ?|0Af'Y`# Fғp/9F\uY#|Jare̫nz}%֛m>ڧV l&d^๷XG쭂a=>N6`yV'bQ-މzNX>6d˰x)ܚ "w+i2y48.1)lg*HDpή3 }_àGl&&ܿNKb; 7GsV`WЅ0uْ!iѓ,IzvO*oK6eOoge*8,'$YI@5 JG)ْ.X_~ r񉅋 z{~\-Ǵ)4j>T X3Ar/ArQxj}C)c|̟ U:'@8SE+*3ơ eԚ!+2/rˮg&g|4Plk $ yjyWޯWeV}Vk d*>;UKty)>4_HĄiD8oOBy#2p矼7^׿??zwûkxLߏL˵)%5l>ln}5L;NYo764czo{|m4.] 뷯L~|pn=Mfizz%<{/_V G;вcjôF`Q[GU~ϫLXVᘀj|Ynn`r(H*X˸ ƴ,JgQ1!Q;I#暦, E)fy;m i15bY>y}1?޷zjfe`:|n@ϠY?jg϶5 ` L jNW9P L3h~O^5"߼G¥ir5 (k1n#FZmu|!}_B!K`X 1-x OnIm$a'॰=o. N3=r_,(Ҿx$Ge*eU+_E*< rftM,M p E[}.0 y<_Cp=tژt۳07 ;g'*N"qŀo Q>b0d[j!%o3m&t1xe]&ps;]DwχaܑL,o'c\: Oxt_aZN쇂~k^{姯9IDAT5ɱuGx )aY~lȭgdNSyWVIE`~oCiX7#wo-3΋1 X0o׌YlLRý,JᲧ5v$; 4$G2lmM5ş.p+@].q[ >j~?|ܷgaX!<|3*z)@[EH/ɥ( Ou/ cWKSg_DuϬ:AB]׌!Y">۲%`/}>\J*ml ~'|WZȅSjqp 0]$G_xF.(0`.83S,W$̓k!+G~8{@> wjy^ []c+"dz =}8; -{`*k.XKhQ`'(``/]%2I :8F:ȮQ!$ ¼ bL [`#3> LC2^WjPU˭,-W t44MlWzT/DQe*T-ӡgsSVdpާ=ڬu8vmv|ŌH%Ȍf>)`=1>hz'%k+_N\olKD84vܨ'T BŻ1Yp Xpuܽ8u ={qm(|6/<ݧ/Ahi?w<3Rzڽv û8矾ƹ%6wbXW(sX߈ ƃ+qe< oŃ;xҨϻ3ϟYj*~ڝ5ppS;*kyu&Y!efT<ƚz5vD , PX36|̋Qk]+9'؞mPӼٹyh4h4,N䗃 hc@`E4$605,'Ϥ au,CcHˇww}$<~x0 _Hy}"d-:£%GMͼF#P^jXDCls6EH& A B~%IڹaQ$7'p ;egźD|."~: 2pÞЩ>y-蹿n0XDb*X0$)Ә=gL]R[mNa7fb~ ]q{0" L;:/ 5 Ҏ=n$U`TQxȻ` X&GNsʋMroJvHa|}D [2^F@)x XK՚xOD`W`)a?g;y}s*M[ Is6[[1*+lAUmx+e[ԝ 8҂H?Pr)ꟽGj\ye>| )g.",} 9GMݬŰM;n4_XgU* 읪Opn_0L5Z.k}<6yIMH_ 9Q}K1)@ttM'P6S19o|λ&,DMj@ v{b@T.D Ɣ; MS /o=s` 8V/ Z'P]>w!Itv1DNM'̠c:cSmνpCmó`%QBnmXnIӶ,|1c=z ƄF|x7> ^хF v~Ҫoi6gmBwͩ5#5)E;ep(1\  NǶ&϶6aE1}vOVYe#cQ>%QcviBф۳9xwv 0J!LE6 c0.E@K #s-PqQ:5k,Tn A'Ӱ4<Ͽ3nmwnrZsq~]q0RVTf:%ժ2_Uë+Knft)p˸j4e=ϸ Ҫ4U '*: +O( *x2>Uc>;}M_[Ag: Zr*} }W@2+ٲcPk勗7m3`"M.G" ͆TX KA9, Sv^M͜iwɏr6K9l`@b.k%Z\xN\LjF.ç`9t!t Q"`E/6_]mo$1z?";.c"Wtv9/w5 k)^е|< -@ ??^.M02 S`Q1Z?[ opX>+#/p ΂ԟS۠ H4 uڞ^;aupښ {nf$'r?$;7"G!/~*сRYR*Eo f}Zb!PEbA[.54y¼UL`%2>U7"Y;▀GhB)Uh*M(yú䑚D+.@rZ.\lL\WaQ[ҍEvgo#co5<}^>w/hiaQIy[ԡQ;@՘v3Z0N5*ޫ{ cs_M(D1jU{yvh嵎Z`^nT 6lZ5 =e0ώMv2ìUcTt cu`RRqi+x \ۛv}B/~x?G|?yF]ƭ;7qeVGmjĜys~VY6m^m[ckzr\}'s"xS#߉0t]*<9=3Xv|o(v=ݱ]1#1sJmthifoB>zD'h5q) T$U_F:$S##E Sj̭$ j lwFSrMٸxvL*2]F `}#\[GA{mKUtc(ij]< +S\C3 XoL %ISA].(y֫wzHc?W0Wy[57ǭjyY gPȣZe^g)+k0j:}Cr3uj$ѠZaN24(svW-j|VUKw.}LP˴X?hy^-nmFLVpz WiUjiạ Q39K&ت+*aM(9u&V=&rKdupt$=Vf,ZzMM̙íOjGY:t,#Gø,C0f<ӗe2}=Mh=!ډ#8/{OvYR0q4c7%XO3ڐYр.n{zx- ^r>m5}|f#G fy"6,܅ҡ@|E(Isg.,ԭpk89 ixYfci̝3 G*IuF۵iD \;ރ "_/gڣG2B3o=o߼0ryr?<ǻ?~ =h۷p#'}Ãwus$|ᰧ}nt3K8 xV4F7^wK6=&I=wc#+gz h2|(*mLӹd(,6p|2 }vYAuCW f;7K.gA#`XQt )gN|͘pqj?4XԷ|k\bru#o/\\cV^;3[`'  \.>86&bW'.h1 ]n3.ט?^8308+9m!Yz.8isa*YCɥf"8$:`S!pY%f `}L|1x}hwcOm^+gU*7e'wzv\l&%UW ȉ4#X1dS$<{Lus뮀AR{_+<1}ϕT4ÓGq:txK۸x^_,~A!jU)GS_Al5I& ZF5Lq6{uqF'\+y44)l2µjnՌXe;eX-qT;U>pc\W +2C 0?e^ӲrcP--ӠZ2i<Կ!qԲc FLmhhZ_"j;j `nU{5-+aTsy L89:WЫZ\5fbyQ DBjw,ZA^)$kP\U}ixɸgWG]L)_=jR5sYjϞK+8s3Wo^TtskOq@Va| [._.3b[f*x/g:OBw u6^a3p!w&I)MZksW0y*u^Y}c:zDcB찁9F{B'.",0愎Aq?+Jq{<|=Nhxٿsl:BBߋgF'Džsef/تy!0ظ.lԨ v&.=}eѰ_4p\^<{?Ng,B}m) m6zl>/ˢPmUx,0|VKTvG$ |T¤X|ND5w:3Fuwe4ʀ?55Uf(3}M[uaSϠtz{?}]͊udRKz^xOG<ahûm<Ƣj ̛3{Ywք7o{}ƿL9O???d}}=ge)t{2w3vjX˗.Æ @-YP۷|(}Gkx ӟ$H9_G\/(3*0{= A\ȥ z7*]BS;*}DKMi9l`EWΫ@ͯ@1H=vg38Kiw5qEFgl­ _௳+=M i-(=faH{)|Up=X!gt{"hCsn'0bS(8۴2SWFHX =,8wZ"X7tv/?#Ƅܵ#/h>8 Qr9up/h°P} ea5{0gz^]_@6}ji+ Mzztc uQ]C3a1o;~?l>suYems:ox!Fՠ瘍{YsN|_Wv%.0Rkq+1nxf ,G4 JNg ,1ߴlmHx y'wiƠ۲F@5[S*ϮD@x>\קyur.3uFbZ x3ލ;lF`>ĠpISS Zv+*sUU8} զs<^_VMqcd0d\вVY6]^&3=6ǹjRέZfC_bü3VX#n_x% >ųx o^8sN.WvA@Q<6|x ϵb9XD xb&"ĉFܼqU[7esL85ӏY (}&J=ĝmDo8ԀQ DeXj)֭Y`$^>'& ^? }y~~K㗨rI[0#% S0*. [#.00Qsw g kV(Oi5&τ]` ϭƠb:a5MCp^̈́ŷ09K1y~RRǥ A@~Lȫ"Mp[]a=p2\VT{zV3uF Đ!v'L_@W6Gtf`\yEi Kz3;( 163[+!Cؽt c彎[!02&˃s4㛹6qXH3/py;ȹ+(9z UWoM^m(p u  G|4" ="o,i}N6m݂>r;[v" :SKRa0x!w'uv kbbc+&16cFYgčYp!vK#06ؘE;Ű{oIǀT wɋL;Mxl sZ83x",+gAe:HRmR*5KxHYoNi gY 2y1甀/WFT 6sZ֊bhaf&|:i\$~cE&KO:f=hoFG0k J X\gE,GAi`5w'텫 Asf{ۨp<pva_-ۯpM3ƃǨ8v'l_R޶Oξvan`7w K`7h܆Coѹ8MkNӥ^ Yp8lc PM Y;U>|r X80H.zH2w36Pw_ =}i@_?|+Tcņ :S=ԌßTa?(`GQ/ᡤ7s I!'|Q>?u=Xm |:uLhd<\^W/e ̃[vRo`>5Y)jYia :4 yl\‡iv4f>/ ehv?ezP->}nݸm;ۄME8sڅZ\9Wh©ex<޿wN+x:<&{KoW O >}t/=8/?/5'oKxqB͖m^㳲/c-q_Ƚ#庄Oݳx2ݿh]+pO{$޽(U:߂CȪF#wrۮ#EKAl}Bbk#Ùn>c#-m\qqr O X9Cҍ:w/ BE˹xbϝA̅x{䝦_8ovdpqiM͈rDa&n9MSHtI!Cܟt凰-6f#$'RLDT"QTY&dɳ! @ z#NVSވHm8Jً=Ո4m6-='^ڤ%DĩmA+H;| ig~Jq>.qQW/ ,RwĺRdlFʹH59H[rQ5Ո/*ARJ&2>RʫU^c'v5 H8Q{n>c<}҇ޟTHg#$>-R70QJ<ׂ˭Ȼ{ Q99O"弄WL=_"W]Dvү]G H:k95HsϠyd]>܋Pp/ß/x.۾Gfճ?ゴ[ u}P%e]u9[fUAX##+8R[kb`! o;EθctqpG |VZ5쇻1ϥŠ^ix~+%{^ݍ-'B#뽲RrٿeY`_26{&m_o=b=/uA,Rُ'wm =ƴcCs|:ı_WB2LX㘪J UV+,K;LJj8UeM2v*X1_ӴTTVQ{\)~2MyNi5ZtU:5?ˣ2>9,,[۫2B5KxNۀ,L[Y{ 2|T;_˫|5htt90.]4ዢ6 g>JJEpLMB~Ah7 6a rn +@g*`aspnxW| <|^څEoܱუJ?MbW ~_,dPs;܎ [cս-cX- x+7<ůX}*ܘpŲSXj[[ȰҹNVa&8)Ij. OHa;):L;#NRr ; X*u[~7Xva>WOaptl?핸fYYԎPh3XQEp$<;z]t4›aGޫm^ےّd|Չ]'L'&EHvP t֤6 x:\4ƣ 96Rܜh+ub|Y~ N`f[u7 Nym\UQ yfr@UuJ wsczP~\2%nsQܹ62 803b wvS2с~ƇqeMI~a g_OafC՘oƐXg#؂[N Z]r &3%yYY/0|¬./FLE)t8~e4Ո#RZC`Ź/D@~&RH*EJe)" P@5!E,2! 7!+A;7N GF?2iH)ChJ"d9YRDd (IơlDg l#$>1&N"(i:j+|>хyIKGHD4"td?G[ e_+' Qm#P \lĖ RlTZVp_Ti Uե/ALMjiXI?-G@4Y{cc0?# Rΐ,DJ2S/ߞO͘P gWZ$< gbɒ:g"$W ^@DD"̂h56D5T!I U@sT]%BmHi5H16 08PcEds b\Zy `m(L?nޖyL]w8FacCR1W#Ԕ!сzy=/!u_~˻/v UG݂z6 NՉK8}^ɏw*#xf]dǜñgNQx3<$@-Rsq9<p7k}f`kx)}z~{`Iz^(oĊt@Yx3qˇm1 x%rɟB<mS/]g* oM3K 2N6gI A/̀rt,`;`,#$"l,0kWbwOy@S>Y?qx98wnObza>a6&Y7'~0/h06+^xK2w;+I;.<qcr@ѯ8߽wbY"u=k:5pNsᑌU=Y׋?L#ؠ1eoP֥u/y<B +ĺju£Uj=pģjy2duW ªjm))\LSe :{ՠP4Ṅr^g=,EaS'WPtxJ?}qPՠ\_-ϫi(\+ kΏtLLGcZ`v8_j KP%?aU`~j>Zi`ޫ&N@k<]j֬PszUcLVU"w4ԙ|U3hU/Ъllg<ާ\a<ޯƇ:6G5Ygkj:/&_>|:IϐY(+6]]YtZ_߿ -~ lcG^@@/YiV:,_~gA;z)_Z[=]-㝗@Ge9gkpU&>Px ZmԆ2LuPhV--I5Li ZRϩ vym7*VȴYևPf: A]D6ՁωB*ˠ!>1MKf. _Aol "*YkGnnsϞ'DBKw)OsOog"R!㯴EԼQuHiq RI@s#n }|K0%&oOuEͥȬ6Γ;PmR{=9-o*EjQեr)p^'N}b[E-{{B҃+Qe.LƒXi;.\.Q9.=>Z4~O_?dzӱ<*+2Ttќsb@Ӳ NelH lbo yb ,"z$u9߽_;(PKƾSX+c9Z'.X*ffǒ=>޴$l 01"ǘsmX䓌X*L\NKs.O&18ckkmHY):=o^ݗc[ ^wK/ى}?s䓊X.XXv⍽}f,ڢ|&nt3!yx"+tl.<}'\`X> p'7 rO Ԕv4'8v6\K9X呎!X(e\!X%aL7fRW,(!WjysX}E[wVB5 zS` S!r4B|W埂9azuf>T0Q ]c_0͟iL0%޾sԺz\j| [M(_y'I潼pKM!&2=5VӄQ@[5 TUk< |UM/5LSa:x3{**ˇf̪1VVc:O_ >46Q2Y&> >XhtCgGOM@~Q J+(I-0lCsSW1猇<[dVj:\s}Zz09Gu?V>y4!C/^#5{޺rœOI鼗swza@7N`Nx=zcWL`M畁_ml|Z`H1.f5AOi<a)z<@عV& oe$9a<9a|y2}2.nvcK>`pGi[N)@;0<3m3"0ȼX-'Wf_ABQMԚegZ ζPsquŠDc\TdChI&2\= 媑f`> ،>l>q֟әa>7oG\j5om?֟evРZqvUOw6J1:aӜm4ĵr>͹nG_[ C]1Վ[]1݉SWo\0ʄTTk4&Ί>3f o_`c}7ig;qeJmpD<{':1U%^hxPN`ɯL ,F1} ,Chi ahf#D R`֞Dd{ +ʌ?#>)FQ@_NTJZ]޸2I>A\ 0\MDžDxf$^ 0怗0IJK4ո"xD`ONDhf:r!InR@N`n"q)6RFߴ$ewJ| -EI3Y6;+hes^0a 3 #cM%\,l2Pg2' p-OH?ZQY$mpe(h@_/*nѡH@FC`M`P@2U ˤy1:4$lhH JDt\i1+툕gr& dŢ }ƌCݶņ':  T9"%;$Ȫ0-JAHF,^9 rHZhG ݈ qMeȨ+7"p0H ڐ\"3H#c70se, 7`b z{wpitw 0.D`= 5jAR Uݵi 7G/xDc1O< ?싥hY>ߋ)66\JVÓNWY5AiF9x#8+wC;Ocq iqөߓU{/~G9׽S8w}SHlt_-;W~Oqz|8u4 l,FFǞe i6l3Ow?f񉿎є8BB5:1GgZ_t(QYUUu*o -yRu4x˭@ܔ)g^Մ7e j]|(YZ+**?VHTVxT )תjy/QͩB|QSU'kpyedjK>_ e88W Pd3My*ly*' j3APLfF:_u|E}"30:b Ъεu) Ї#+{aU  C8V@,>}1y×Vgz=-Og|=љPź_&Mgt&hm'mI5wL4_>8~ȬKZF:jPh-IszРb@M};ý_܃-~~zuL jh +I.|k7^aH^¢`OmNX+.$щu^!lxc2'TXh1&TlAŕ]TNt)/\NX1ß+k} ]6K=*aυ0FH!|'5U`sc۳}|TkFublp5 .ãyGq5~ $e)v㨈[2Qө^BYF͋0yjs|Xv5s&#3>5zmɲ0zgVsdjc LqTju0cyc*ޣxe~LU˪pm,3Vl'x@?˪୞,WwsG/@d?j訉C{u<ʣT+i`-4ʰ hHhOᾖ<4U]Gݵ>x{4$~9o u^s$N 01 oF,)F*w6 "w" K04QYf=iI[#Dn7u+jGzm)_`>@}bCEa6+  (I + 1hL ZHV@Ԋd#JP{6sJBB~26S. #v!-U+DT6i?bhicötrb%ro#U8BSdb ˭OEDAZƛqܺ=;FqSk7g`)_j ]HAHv*9RyJDiF5 @W aBٲJ2f 8 )Cu(ڍ:ʅG%tt9)V#Q8[)*Q1Њ!f~-鯤>m19$}71<&D/z9:᫳2viS1&}%7QXL e;@2T JXxe++Y8Ӊgm Dts1{[5 ϼ. .W6~K>r];'#{;K'r;p+q~% w;1Hst#Łpm|^ւUAXgB \P.6x (0ط8蓃Iñn6tv87:cծKg²B!0 to-E2jb,NDzB,ϓx*" [[qq +{pf[g/;몈L",MqyX E9Vىdv%OZ*й=C33ɏfʨljz8Y k=3zZ*p[6ૌjtڃ 6Nf(_ukܣyQ-$}tz v)3x#!x0AR QX 0G[ԩ[;4"D@V1kNI p$Jq Sp>ocѶe;,c@`&T4^1@K<ށ.G0++cn;u2r=)cuN:\Dr:FyN!69(ǫ\TTyreުlaLRF2ZʕjLYFTR?8/bG:umfqDemHh!TZ~i])1Oϙ%n><4k#7Ȁ܄} yH('5ws@ǍK ȘپFYN jHq*y/"a0}U^YN[:!}4C`#8$jkY.,LCAi YVyB;q祰eLyDβ;(2a' @O5 `jUg[912JfJhEumK!Bj@Hq:rd& %|-(mAas lW6 bX]8B5—#4^(mCh/P݁2 pQ?5&G!ķt46*FẕLڠ .A&}/5>YI4֣9E=-nCAC[PK~qFX$wmkkBik3ڛH%:`4A!9圮fX,2h7գ\ਤY奨ܠ,2kQb r~etX\YbX(oi4v5D% 3q+#_L2Lr1:q߸@k_xcʳs(2ko Ȼ8d&V*fP\We4\5؞QaX ^ƎFtpSQkt+A)N@LI&2(MlMHv38;"AkΣADt0ʇ6;? F:18#0t%$0fѷ˷u~ORYG{p˃HOGT0|/Xḅsk`mF=EˌGzR {9HkGI=Nvzny) '#e,uMƃ8WashgX0\*q43*pGZzVGf^kH=-2v8uNhmNuTcO\7τ'f|ᖈ=p8 gk{q[GpdVcp:+h1\7צx:^e&(Kf_2%dY[q.g˻qVpݰJwy ~P×&nƙnIkA LOO?-9 D,tfl녯DFqMsF NیJks8b$U#q߁OK]L^ N6XF$)ÎIaXoOpO` ˖6)`m)kðKOl<-.}|#v_޽ X/L%,[^Ilu.v|h@oŁtPN#~u7>>ѫCڍܺ3;[{ٍ!N^fKcl:=eY9JYc:))#Kxj PVХYLyqU T1w5}VQͶYlBJ VkSaq>ѥd V|0|X&]5PT4k{2˫VvXGƫL,{V&kmTb![LP4c*:ңjr(u.6K9d :m<& {I͢ Z="UcF#VC7`=ue dYT`hᑍޝ OezxMgxiHJg]s|Ggl+C|Wnr\:P:^{M5DV;!0hmo6-}@|,AL_uGUc7-)§/pXt{;"q#Ox6`X+V|yk;➍۰= xhlxt(9!p-9ܼrZT8ho>[ L_33]=fm-;X$!W'Mg͠ZTvD w| ~3pn]YWjRq"!Sin4MYs4^mQ+'.GŴt@o0;SmjwgWL_͢yTKoǼ6 |]GôT0י_Ϻ;b\:2 ao)cЭ>A;TV$~4LY_3wDg\zc"6$ƬL՘ZkmhFnfPG1M4xM`W^Λƃ4S'GYar=թv???aP?~7-f N ̹ݬ;f?8)n\~h$j_Ztu߂>T6UA9gJw@˥PHqktI@f2"Q,@׃j =m(jE@>I*u4yBD ;P=)}T_'E;[*/GZO'LV:XueJڍj )r@[m.e"ߨ@QUs擋 $XX\[k2^8,gMgy_[%K_lΕ!O@

d54@\GPCAM[dlCiߖFT CQo+msWG`/AEWf5NMse?ÿ0%uO&#nF=T_(ߋ٥ɈEAU.r͊<`m@jIؙɪ^8Wvxq# cx{b8,vVI Xy2xcO&dC湽~/edv\--زi{`,Gvc,f”,g9jdPܢJdn;''oĔQD,ry}1BQf8NYyڔy)ǨGy2ӧMU%j~yy̯p;)¼bP5* 1WP`~{y3PIN"#!*2ITP5ϼUiA v\XU$Wqmz#9Qud&;%5[U(T+~0U$  kXMYԃ uM{d Gy, \3p߁I FG&`FPe+G~^&D? <4V;wG1=bx9b= l<@dV$^S`d}j߼>?? L򼶫:bG1Zz9ooӟɟ:i2``̇u2י?_O @0=A_k}S!:r`zԨm6t puF,(DW@QIC>a HqRQ+<ҶvJSR6"&$㨊cXiZ'U!ՊĚrU=]FIR93 9*LJ`pΔ| :Msj1knnF0n qͬ}XJ&udM`=:jOM2ހ-lCA8Z[;: "mvb}1&6֡f%41&rW| K4ZnAXEڭ]S(Gu4So'*K`=A2Zja8F#V "/[2XaCy{'*ۥM]3,AAW j`ilsbҴR}A ^HkwJȩEP z1ل[Sscӳ&ͻ!Rxae/sw%_/[P)]1eρ/jKǖ~tcCi1R}| 5 R"8.|7xѦƻnf]H/GP;26oYuHDM8$ԍt#"#4cavyyF^pgJW,D0q CvT7{P{S)J-H͉Wk.Ky}[B{13; Nyc6{|cq-칈W6|ى3UpϬߞ/l g-؛Ix4( K7eVb}|Yo=0! M8Z ~| @@,1ƻBZl.Kq(Gwm~-,8im57ߞߎE/@j<*Er>M)1Zc_ՅӱQI5e ;" .ǜzGVDVzFcm}h&:pLx;qgqP#8[\CxKOY5C8\ ǡ||.gSђwqEړ])e6aGp6~.ݽXI|_(PkT vJ@ьIKd9O_ɵ*ZFp2qŢXGAIDAT +vqK 0ti;3*a|| @f,;ی>8LWK-rCCb9Ttxy3 ^K5"ԣn@_6ilkBUM%k([Sm "Rgq9dȳTJ>*.\T .\1]:{y?v|텥+/qTo2~퓟gƣoS8Z|&]n2K?t?nڎ`[q'''h3^uC?bx{7yq}ݸ*:!A'f7M'># UlfwtQ)? 3?zv:+I3(tZ$ lcS|R1v6:0 ekmDF|[CK?Xء뤇vBZ&,D(Q;NާPLy j9ّxmCBjUSVe{^mr;̶etBgSuFWgyM͚ͳ_`\)5Ljn|guXW`B,ۀhȼxP,7$Lw/䶆TtXu h@OcΞ!&iN<,poFgX1fv<\&=mVt6-ՙήx.G=mE͘*%q(/A#ӄBs~rW&$/ E0*@_:[~-Bx|kB ~Cҟ %%+<941bTUcUFL\,CC͖>4eH f'Sю* [rYk\7h}(-qi^ieݭA5׬ (6k.['Fal#䗓b:HiEt R-qJ 6X dyG":;e9(Za!ά ;Ρ9Z*bP [n >O`Y7 6![Qdowl{\,I1o̒/g 8R'`\,9*Q:܅beߚee¯0 ĺс\y,ρga\YڄӦ\ \6"O29Quw+5M-^*+`0k{JLjWF|pˈFEU2Uۑ# wuqF@?uu5ȳo4[q0o/5褋^\..g&cb)ԬtNݬt؆i_2y'p9-uhk)6{{VIκ\tK?ӌW#0ttv墵)Eư43O s0=ێJ($!: nx1/IAIq:bR¾cx /\/ʸZ \߭{E,v>8Y0:QށM+&¬]={M"[bqgG? }x N)c?_` x?K}NRN+=8R݅x2X5&+:4 kVl!>+4gKZnWh<u>x7g[FpT EX_S%@8Rߍ6(Ǔ~|! ^?_Y/6 yX,\N%['R˱KW|9ⵐ|<qH:l p.OEi'{ J`wrJfnIlz<7p@)ߎJP/>'w`X!we5)ϒ#*v\AK7cPL4{0ujޓv9ww:iS0 ѦoEbI-NIf;D{o'zFd_!Q=" nml2Z`--)>m̠ |v>Pث]lߪܘ/#+<SWO验s4-qk(OPE`Vd<*jxrE( oʔ6T6ۆe9j8YG5VN'xm|uӲƘuNf*WYl0*(3&ۃUrGaR5_̗mvgZ ƌ`ZeW-uyN>5wfU {2 >ff o05J,Z19M ] ZY_B/Y!i3VEPf>jμC~̃ MUU/| YN5MPixR>ۆG^R 68ʫ140ѱ UimB{k%2Pwbߞ##8oO`wZਙ37qJ=,x?*\*~Ɠ~ؾ ,~=<9S<t att,|k<^??w#.cݛ{^NCD`'b_]\7`6VI IquH,N V%%`cm}_;?p'l_~lj| mR+r3fºcAUs+&;6,{ØՖmSnܷ8`Z dp`,|'Q]e`3:AU5lC>?㩆q~}]m3 Әw+l. qE{eګ\Qv5h3kk1mǝ)4C{m7/1 '0.uUI#p.ˆq_b,͖GɱJH4\ьPOZ,?3J"=;BBpkh\y{}UVUWV{_*yffٝ&fuC|qq#nr ȲV"U3W@xEPAk#S#W(Te*UWwv0]W+޳MhU {mHn#R39 NGuUjZi4ql"a*0-PJ"۶(;2-4ս>.kJ|6UmF@:Q?#݌LI,(ؤ+KH1NX/my~{ `Ry} #(n@BрZV+3*85Z_j"3hHC9C'2?Q%OD9^iC&H)@P^4"BsB10z47ֈ* cpCE(5,EiSC)`G1<XUne#?\B}hm1o 3?ZIn gp߁ _8<_y!7Gz<͍MP&oĮ*Of\<ዿ YUSpq?RkySe->?5J52]üp̫f2蘞V?e*2hqn˵PZcL?w;=;-\ sw2ue6~2g~T1ѿg=ds,nַa5d- ێ~ϴ"Uxղ85 Z^3}K*`_0A"RS_ ZJ 3j韎! #5B zKEsWCl6" 8#~jM3bC(f=ڒn(m h-,B}W?cZNl` !uǴ;.wpPlmCk]͝2aaqDW]k@YfZNy[\h_ӅVm]ظ %Ͱ>ŽG} {w]>p1=̂/bqL;JOW&[فRP蔈eld9{R\ؙ%qʒVe\ں(ʼ>.=jH'de[k { #~p^D?Z*08J Վ9l]BMvu\fٵVoիz>Okk!YkY68 Ǭ'Y C?Wkg*EEW\Oꪵ4qwu0p5zŐiSk{#nX6%&j 1˦3<ӡa :͆[yuܼEuܸ"PT cy#]"Htby V/a@`L+; o *ga~MƥYܹ+kXAz9#щrLaH E؂KkTͳrE]Ҕ&MVr^T֥ BjKDF;)9Uyl܄J bChG")5i2!S@;ڄ4Ȥ>6.u5ߖ;{i$)ӊ +30Ud6 ۪\"mƧJ:Z/nT`R\Nf`;]_$Xza0I0 2e#F ӂr$-yS`^됚 J-0Y[FJ( (-Ye nSsʹMkdؠ҈Wv}%0]6 D3^~Hď91Q El].զekn7%h^ļ (nV{.+ZJMj!˶ T?^TiC$HK%8ɗIwW2oI Zdk&Z,dN)¨nk~d w.4͠}V歉uRJ}̶r {  6l4ϰ  y5#K@9^^OC`zCL dV4"M&(7QEɈ1Ǣ[-# 2FC+c)pO,EpAH+H@O){y.xO FZpa+Xl@`{{mXiV fKs鮔9Q3oViΟv ֱre +oa!܆>@zW îɩ"Qӎr+; _d6\v+NV%+MA3Ѩ,c8m@n) O ζM|U-V|g^8}q@EpXwnOޑr&^xJ:{V@Ա}3nWۯ?釿}3M<8,i.Pr,mm!xW(=[|(43M2 RbS'7é P?K@6;`=q_7O %=x'ڈx5LxN$=ݒVL; \(^tF`wpO^`|c'pJ1iGmS?Q5grKзxI[* En#( ^;z XuWow}Z236uȪݵ }QrVa.(߽pOـ/q^Z`{@G(Cj=g퇲u?2i-:~ZӋQa2_̫V&ܭPKK+42wˤfNMEIkou tza8 Zt2zjd2G+4unm QGd$֯fO)œ`Yi2>8Ϩ%P%f_Fϻ=ttfw<5ػW |F /Nw,}vV#񲲵H0y' W\ OI1<+W(N,?hY.fY`:m Z[f86L+P6N vD柿n[aSwX;,O]6.yڰ& O}ڇ`vBXj49E+?;"-vz=~m|[x<^R|q.#={{})?P[Zlnxs=>!T&+KSsw9~tvoyhͶu?ڦ*@A"Mo^*XKDlknĂlM0ft7o^A#ё!2t n޾6;z>%C6 Ƀ^d9طjn8D8=Ƴt8 zgSVOj`ytgn:%Si.!V?#$3^8`\ڲ,NC4M%So8ycwIeiBHW.&6 o5aQI@l/(,HόꅑmXV޼<2~"U_kW%kS2nn(#[ @56%=\~Fmxgr: ҇ X[jʬ&$mo}2!,Qp >Pe"<uF Rtzngr pq8g vE@/BrNk4 Wk= P#rRnIGpA:`"-YH,3#^`J`hET&aiGZk2,CSEw &4؍NdeԖ iKKFImvK>T)Mmx@iTiu9.<< @U`,6]Q>Z?; QyY7"23 -BsbP? (jIF83uOR&$oEe Qq@Rv2h4,? ]mhU_bT.TSAGnN!،BV#%R)tdEeW[D!*3\Cc.]eO+,tL*g g"3VNLٰг}]wwG5,AM_3ZkQ GL\ B|lU d7' ~H#ܚ\T"/#4'pMrs@pp"˲YbP[+{<> 9#EU7q"\eqeX9ˋȬRʥ$ނ%百RLclc}g;pes?0V>jh[F17^/lEG[!,sy\ظƟ[\T;f.A=on6R }>' PU@v p(OWb(K~IYiphSgDw8xd;S]8#mWُWMؑjˍ=8WD@ m68| ZM.ž\_ւp_s㉤bH~~=yNCRZROEXFPdj8-Cs[@bL&,*QQk8[҉y'8@>}>GJ p◎AxY ۵N^֡Əώ|{/|V)c`oegکwI>D[xP|* i'°. 댽w3U܉ x/'%)#.疂xGm}yNV p;CVĥ'SQ뗧z=D[tJU,9'B0rY\%ZEw{e[[j ߶ލ)IC!offڂ˛Wi*'oOwVe,Ρӆ[#:%+DCSr|A|e 2L*X~p\A]mAg]r ~7o%u_BaK L3Zbۿmis.C@$0p czҟg9 jhf^9j1K |1;a$&үS}.6h$DZLbjip hj\_u'W={mG8Y3~m \ݜG-WiGڳEQ/:fciʦ,*o-K?Ax+_Po[E@nTۛ[ͫ)߯_]\Ə_4=609)qԵG&pe} WG|ԝ—} mJ3<՛`}@5-9R>+g/b3CR\t"$Q X/xz!0a0Tɘڐ3̖dYx/?Źƻ+z*`2"(J0#\q ;|3"hzV \Lcm97-顰4u]A!D$I3hbe] /G`++:eLAjE `JP[pz1ُ"cfP! HKC[M&^umiF*r-EH/D\9MIBiSmZ`hBVNBR#r=\Uݿl@^{%J˞Pؒ,deu-6U"-H3!4CMM saΌQcj_Ey%.!(UZT)tuy3CyYڭF+Cpýh2[Q|ꬆG/΄9'K OIdd, ٦TdfWf:~HOD-%X ⇠HF "$% ~=EmN+QEhZ:vPێޥi4V{{еe XV]|yV2:+l@d7F[`AbbmP SK5kDQjTf#^2xݟp4m#ښs8Oׄo<{BlJ!T}8U=??pnl 7piA|!v]07oLXUp&ϯS5…L~_C ܓ@}"s<铡4ɯag22el{hN+xTVtiCxciȵssG HDjf8VwɥF)ΔJXNiV@YWC}^;퓰x=S lF w19p-Ѐ_qO؇xlȄ96T ],~N8 R3 ky (\b۝x|<{>rp r؏R / }#~& 2⍌&+ zZxýqq BJrh|(^9?S@拧8=gٍؼx.Dߠ]S"[]WR.ϱD>&\߱q.r@Dn]ckZݔOeŴQC0&h{ל9Qn;ZQ0Q&)gko 2O93m[K(#h|hE|43>JVN~&Z<<Oeui2>rO 5|G8Ynr ˥e>#0nª>:i/kfq/ۍl`328VjӣBY`jwBs -̈́T2A=((H#j03L9¯6b- ZKm0Z*f;#DU&@8J+V-@tv>;k3t,k 5òN?'~+9u2 l` ;G`l\G[ |ik/,uB&e n[z x7x`'1~N{'!R{w>]GE|L-WVxA&Y#FrI{R?+[7T#spQ?}vg~WDXҌ,;>a^Z eL/Ld@柛8-cxt@0nv`mqUiGsJK,~z`(/t_X Z;ՏK mDyuz185խu MmDT:]\Z0>$\G2D!ԍaWR&~WWpac=]ݰ65(_+W9rdW9\-`H?;n 0mzrу~5tu4`?XODaV黍zN&rj VDOgz IZMIg]S}k}"Џa'G)۩R N R+Yaee*hS s̍qcK6e4,ާ K%yGQk 3*% ^`+.BrA:\"y rC3<#}PP\eg-bLI ,u24W!<9ξ.8x~n8p(i.G@oN~0$3- O#7^ap vEtr sPU[b"GeQ޺}G-]v#eH"j_3!Ex)C2Bx)τ{8|; ;\#q ʀ'p0G"rյJN pxGj;@|hW'N<ƌb-8`H3 grxMTM:otf JC^i8UYeDTmecOSq$ ś`gKc7ܛ0#ʳѤJ>RKa1{%<}> <^ttg-*Uڢ ec vcw&v9$b+NJ4c[O<_{ P^o{unO nSuNX#vǕ`gAU9AE]Nfl`qEN0Lq2uׯg0+@l/o2Sr0vU wrtD) ƆD4V6/sʦGxD1& pt& o5QL5xN 5j=IG??R~f\L2'V>QfLO 4?6Xki5^d_ks?2Qnaӻg!t684iOU/<4im0?󦡓-AYbvdZA:oKksqjf<dO/~O}/\"96wofZ u;#jc`}ߩ!&!̸6w\B,㡆~ə.!]Zbi$B6nEм{O8v~UiV$+B~Vs,67*y64k 2Ƨ f]hz e`GazNC;;W> w3}5V6)L3,~ıUDWx =zKe_8{G}~p p٣=ȩ`%VI/ǎ7ELS'4"3ܠ4-/^$F_Ϡe&j041aeJfԹm pGe kJXZYD}s2hx cweVim#R]}XX@kEf0gGp;Iݾnj0k[(6w{ $Snnㆸ[WoDV60-eަ6~6 Exc{se@cFW>g?`x4rra Vpjޒ4X%N[w=13<AWQOGҚ^4jL~L <<3Ler".mn,z,hg6b3_o-G0{t 03Z8ό6K[ [ o߸>]: 5q+?I\;_ĝ[*ʤ_\8'27[W߹xm [>Y }}ZQf зZ0=&` BH% n ȏEPn8<[JT Ky ^vt6Ch+#]aw yHʉx:#4C䣀{.A("pJzHdJAǑ`Gu{ jMT*g+#=+ /hQpT +~bV%\–mx󈕴'-"Bk1J[[ː]B{c8a5NYHKF5- gKY=.[jP{&>N~J )(?栬Œ;w'~([/{:m-IΉpw;..*ŒocE_x3K ا#.=(ܙ {0TuWN\Y/'&z!:SLꍋŰ؊Qc[|턀()KVg͇::^Ltٌ@Sk1ʐdIԇ[y|s}9}\s4(p%l{J#" e (Momo#ʻjeNB)DH;d $1Id7mye4ܱ¾Nd`nm uȱYյQ]m킹 -cc&dؔݡw[QQ ~* uaauP#)sؘ#:fŭ teLE@7eyehMD[R֊nd[+p,^)jj<eΘN(ƾluIa4l6eUWvƚqyT\roO,GdO\x&Ult>>O.@_Axd~x  ~'W9fQxӀW|sIݯׄx.;c-^\Է6|_9sc8W|S_>gs+mx18 !DItێx8R ϢDN%D^QGOD-h?*i[?<w){xH%i gn$0"8(kYa:--[3`?-{P`ZëUqhfY71,3=MfXI@^>4_if S._:*)ܼ5NN̢#k8{gߵ|SA98 7`?8= ~`cLx2a{xe~|$~ Ʉg 8X7Oxcdm,W:;04<߾y 7n]Džo5Ȁ4 Ru"fm\2xUH]fXxFѩiE(, uM갪_ Gu'\/ظ~׿ś](҃f[Vp岀kZܶxyIY2`7e2Y䬀ʊ|NerW%+W8yh0dbcѓ$5ez%UO|z0s`&w 0MB'!Ya}>@azV&=x˧zoۡD<0:kZ'~焩Wzkg^F* &dm~M9mMWFlzӬ(+xa[~üeXjL_\;|5쮬 qʆ S{ikM^_P|ycFiWY޾>l,R'g=œCU*O+ QDM0T4K(QF h7dWf U( 8 : y#!0$j6j(6"9+ ~X6@'Wiy q"g\gg'Ny [bc2n.@tZfÒvҦB:B>Dńzm^H QP?c3\j %(+Dh/c38z9Y(n,@iK Uw/%o%M25"H[?֮0ġ(S\Cp>goW ɜe-E1Npuk2Ul+_Hc\ϬP8#9EyIHό#"2[eܤK{~;N) Y໣]H)LS+IpIw,-m8 k8\4X+Uk~QHoO:}{8 }%uHuuCxq, D!('R-gG#Dza4"Ѐg'5V"ͳcF46ur263Xahn@`7}"m 6W,uو27ztkR"mO uIKMhoV[03uX oDoG2*"~u?NY]P6?zo3rFg^  oJZ;Ӫ(w9d 5#b`*uQ`wdͮ*eW+uL5x/XdL`8T\>I-›3)CEnYuɸ-ЃxaYd\pIy9k8lKy\a)'Pv5`RY-3P.3ͤ (S6J>c|te}@M̙O~e,e,ݐN;b2}|YC~ܣ!̤USZMYG+c8]Wd!."i֋:~MaX;ƫuo!jcX|ϲF5%hFeZqYJ,1/|gO2?V C+<gv"QYc?,NN:c^tugWgFQe 55혔ntpHI"륍Uwhxum_q(<{88+kAg>~zuGxꏮ8iQ72q42;6`{΅!NFu#~{5sSusUm\PyV k[yj1EԾ^ddH14 a D ˠيe^F&Ɨ6PЁGx >eFPa8"D #0ф2Xxv֕ªo f/-cru Ux?q |e-/`q^ynAy!LU^s 4ŭ=7O@A!ҥ+?0 tP֕}O#'% w~eGeŁjcVLO8t G$$kyfe,Koufze9^e,$YF=Y1<0ڍjP/ > =-j # В2p]xBA'B Lu`yP;H%ՙ:`Xo&mmƵUcce[_޷-~o\VƵz/N5abFSC W-v` cH+w;d"r#:_#$lue)vfgS  ㅐX/:kXJ x@ZV$(#T`5P'F@) LUZ`=M*l.Ajp\Ԗ^oC1Ni5I@G H{GFi89mufJgC |]2 8dǠ0S>͇ B{6V$srXz(coQʕMXc+2p:NIpHoV-j+z9!pGpF( [Q..€|{8/ (xZP](O/MG@s^9 y/2(~10xgt FjRƲxe}l}Hʖzr<;C?{%&G@܂Jܒ G#4Ʀ Z ju#CS1R..8LDf%!&/S]d /M{Vyt6m) ~_D;ڶN*MqML2OG ] Gh2ԵTcpWf`W0Ҟl,ȘA}ݓojt3S".8 [}6V^'DFW # ߼? ?ge:(3&DP6v{$`O2v8lDXYч3e]x&>큘\mTgwd6LZvGTb q"ߖ6 %U:숵17qrjAO;E) ]Ђ="?eS(N : '~h<'Yz gqj[gp J3',#4)ޕ5צh8<Kbv-vyebc9p.DP* S;"F0uRww>{ܞ0}xލ̇; 8ZمcF<钌C|$U*$V׉ #0wAύ;:?Kk j-`p`BnCxayOtgNubLc"̈׏AVWR_ -UcB^Xo#&p9rޱEEklH)+3m:d™ޡy72-O z9gϸ{!D"nY -4cV :껕 2wXWu#aLBx53_Sϲ\?Q[aZp~^wjJLlwoZuXnmVPX:&JNW"9 Db8+]B.NX GZjuGZ]͊o׆h $V֊/Ύj_c0,+Zd͊+Ll\L_}0aX^cabG`Ci 4 ZmN8a/v\gWw&ݰ φ?my5x.pd #3_nc!|VM7h0@I[GVO1D8`/No}kx'q?> 23*V RJqO:FڵMzTUp4a ˠ9>1-Ocz~AA0хnVW6. .mϳ2OM /[k2F=XY[2WǶժoB ӚY\Ews ߺ9IYmkV@$mM[~^u-؀@ܘ ׆> פ#PwS<<Xo8ok C` ,;qN8` y :\C,jHM xgb_Z|pjli,JmӥV7M`\&J p%~=E;2[>9x;;+QUd8K ,Yjk(I^`3Z2y&rgIKN M0Ag/e? Ŷ;CEt;E81(*DEfc"S 8A_Gk16jEevww3L(o0/m L.ܗ4ufmprl.9`_>ƺs21.:6!N4wƵMc133ޫ UaB9r-djȒyp 9-M+(DRΛ9SӪt8L@vQUbތTIA,eqN4K|7"0.w3ne)g6udF֊A1VWUhB/aTW7/P \NJsUL˄G|b2y*IUVhf`Z6nU>M0%GȆuU`]uˣY?W?6mc=U ga l˸|x|q c)Gt+b ێʗ@fGF15MF:zuct׀$ +5bרh'e'xXYE0>Ó-K:uUX! ǣ+`jUlf3Kjfʲ@1,aA`cuQ@e/v4pD&I9.}ҭAsY1_Z۔㚀瘁߱ 2mÉn8+laM&nbd~Kj\ BJ^=j lm2q'΅ x-/zú%70b;V12'R5Z#vNi8ĥ#M҆J^nM30˲,SgڴYEɒg4²" _x'!8gNUj:"A t0{)BBEg9B`+k#,,O0fb#SdibygCho4{[+Y w, TY.LER^3]K2~ 0{(ʩ/aTYq@x?لI$|Re|/nEE'|[&\9{iMd>~P})_$ zs/:p'a] Iɧcx=CZb5Wp$%pGu/FqEWSDXZ#,`ׂwa , J.Io;%x+რ,Rl92HǛVU WyF>8ԏވJd^ib5әUO ~aJocr> wQO+>|g\uV/N$5<]4UZX\mG.ŗsx샣P-wGr?Ђ8N&ݪXYF[ƒ8W\?N(hڽcun߼u?0[fF猚MV$39jkqf5p.j49r,X2/J#\184 ,_p>B3f)<֍AQ*dYztQ >YC*f\II^QI2i G4ǗG֋#YD ,y)Ls.zƫJ} lSTUfPJϙuS!26|Yb`L=LǼ_>)e$1ؐF\B3nwD9B 2YiuqVNW+ue\JR ̄gB%R՞u%lDEhYa=x >+&Y.XWTm/G_JuՅU e>|S#R@hS?=< ,kfn3#X );01BU cT*|.'361qMC c$8tNo]p/1TXE!tY]ez-N'f`. Z][ڟ:uL ,.J,;Us>}jGum 3XYػ&׷puȔ ti1saqٴ}kc̵y-Jhm)51QHɮ-7u pdPھ 4#81pJσSCg{:0?FEzuQ^^\*ĔtqueV*Ο߹nm/k|100 g Z _}c,B @dBvX8訫 H߼S~Lôz2)ĕY.atE,u0z0;6Ĵ̏@μ_ /yy0?YU<ãsu-yW_~l=;2ߚl/Vr;66dT'<ۊnָ1~0#s7/o_1ޛ7WܷFzmy%nOtսMB{ws\]02;ƭqZ3WM`mu2Vl,R3}}u}[)cQ*Vѻfm X71FdZ h_E,W-Gkd"XQ!h,6 Ce>dql~sܕzno.)65uùsS7Nis)VUGC@Yz1sZ]{: 4}fU.!d3 r^+ƔtL ;lzBmSýgvjΕ],낣 ;x*"O&_Ζ!pp6UU8 8Wm:Ƌx ?uܸ0pAUð,[ ,zlr1NBa0u[/'V[Hlʇq*S{罍_>|(s8[lڌk$Z~2" iik véz\1xf[>xw"),C0j[7m49U6ŕ,ep2oc*25ɜ_х5ܺyW }CMV117iqaaU>#:G1"g_ȜL1kFp̵nWڸkku2⑱a.伄`UU(Y *\X9OS:QP}:0J9Q֙ϡj,S=Wt9Uܝ2 ϦrxB4r+3_MtOF _0>9[ؾL5֟iif2J]yԲ/S 30>5|ʴy *oBiU eG/A\7Sˇa B)DfZ)3 AU%R͙ ˽”R* ]̓jӔ2SɼFuwKC@ *qVV5*<3JwWOQLi>JO |9L \>̠.c u? fY1Xw}^]Ѡ̏G뭫Hl;Uhmo16V~W:Ҋ!GiX@&eN]t.I|z!g~|;vS~V2 ľ{Vg0 έN& m0=3=%u,o`z|HwLØNwƸJm, _+ֿ}/߸v OK%awQ[ߍ~uV^BgZ;g"i̊{ZWo|7Jz=~Qo/"SCaio+#u4~[pAJq r7BX"}>SZ팤Ptu砣!ݵkKwŨW֡4i, j,"r#M[r#j r*qkDo@+*Q5҉*"<7q9F[%݊J =D(LJа0B鏓Zl;WJ Eʚ@"eh[F8l]]A :;̞<k8BIC|2ajFL޺8tWG6UO>g>Klߺ ~.Prڸ~$P㻆0#2-c aKo¯B~^UfJw'՘=-ko+G"dO)$`W1ɕ"B(0 /f|<9ODl5lyٻiz$^ŻX9 8>Kky(}v[_cJ-!b[)e%}f_M#8*zvgjqf'*a6J;tR!$!yrU7p>0/sS~+q6 od\g;U%?) r²8a98g|o)d+b2ہ n:>Z.ӱ\UpǠJ&巢IY.K^g3P>%Ȫ5huUx$$VRmZ g93VbZ]SCYYB&ڈ?uQ<2.^UyG,Ah>FyF8j ϙg}uMb5x<1/~d4Η /GǗLye*W~iJN|UUZ@!NZ$5~t;;QFcK:ɮc}џwzX;<=  >q{zяw/gޱïd@9_9?De;zuPzkhkcSR/U`G7gt491lӴ{-cXXDgl㟾sr1׽T۠'@qqhiŴ>6K[gu6:&6p&? /ġ 썭8~w8zatFуv4`P&d ]NQGYi9Z'q'fEE-q0¾Jx4s.<4N@bb;~,g ;p pt5N%쨙NW:1j?;=UٽHxWN{ ktVW+Y/M erLT`a}$zڍBòueiL9Fm|vnl.9MIFߒi p[ܸJ,HU~J01Xc[ng&q(X1>hh%H\5a}qH̰==}4adS&j1=քfLȤ|f ;0`(D#"r𶆳eFx?WfKDoZ~*`j#h ; p;c1/ [cVptS=\#Xvgݸ7P5`v A^1&mc@UcBK.K;.Y'8${+`7 @Hg)|ٞZ%Nē s8'ba}.qVij,e[s9 %i[,lv_|\v: K38i\? ;o <]qpvVpJ3֚ q8ٝCp7.!lo{9Xy^Gُmf4?#^dIݡF nUX/ k3cԭ IDAT` sOO?\=ʆw G ]Ae~}/Kޙovqqdό@E;W8'%D]+3Q_Ī$!"W $$! YH--BBq>" ň(A s/CF{rP }izk;e̔13KƬ9w"}pd\M3k+ Og2j-) KEOmXp4WF*c=ߒwS`w}&2kF6.c!ombam -h:.ܼկ W.ƯN hƓρx^1x9OEbod>Mc~pM4dQ9ᎇ9y$_M-8]Os26`t6p{68 =1&YD<]s,>ix;[1׾F7ɸ2.n]7^"6VV®%k/Up!yx>J72ϤaO\6 MPk.Gg Tb-s,O 2_rËg_\߽1^&}O°%qǜ#+)x7ZIg];D׶Qv 8`'x> ._](~Lݹ%M2/ (-Mc|jXƜ5N{'# mr}2 Jgd6YLLax|.Ž, [$icϴyHm}}s  mvt@Qijq<׹ T9aY&y]Ιt60-c~̟q*(9g^k;Y xʣ^c`|¶j2h>O5o9%(Ra_T`}y(,k*TQN|Wۚq(Xr5QVZ_nq%;,wny2˗FZUZ} ƈx Kg<5k_T2ө%h#Re|R6a0ʸL. L 2`C!T 4rX7_$]~|"bvhG=^WG4ϭ~X9qa^Wjlm@]}Pf_ʘ|ƘAs 7ey/~c|{_ϼ/q#n{"cO tI8b0 ~1,{"$D:MWn&2 MϝqC@#=T^CN 0A.x>ox.z 2X^n:z\g,AhVfFLpv @O/z;.ƥܛ7gdp /|(<蕉Rq0, [{NIp:&nmP:]y~cǠqOraQ d504hN{OQRu{o{[Ęiso3W\ ;~nt b{J);zݿ++6U{?J j1Z҄KU Z.)qqX8|<:5zbRfvk + kFmFn^Յ)4W pkT-jH3O{eQQϱ"naSwsm^ v\0'W'[ brیى&L cvEIPg/ذr] XBZ# tg D{4/q<=#H](7ƮwKL-]9Ȼ@ dW$J_0 U 3vg$ߔ(R; 0M/p\#7W# ɺFx" pje!"),dW"%H*+Bre JPj$Ԕ#IrRo?s/}&75 {`Y7H+G2pH@PRvԦjQ+GDR0:01 }t>:Y*(tׄy(:j"^{M >c {_`[`q}Q;Oat̀Vh!zq3Z zO/9Bt2 ~+ ታ.1\āS=#x82ZqfP|g|3|9`L)Osu8T%؟\RØ"sǃȅPX̖x?{|`>@ 5= K+0[7-c,F0:'w ְ#{9G ͕g).I㓉qex(({q8 oe6"<%{E/KAx*x%K8M8%?<+k7ه/Ɓx-{yM88Dass3=[059ARBvK*& |t뚞57t@azwP:㨶*LUhYc 鵾 eZp=WVIn |7k>,Ux4`/JH%zխ0+*$ty$NyV) e:R_#dyf5H S%$Vr̠r#P2 YդYc,Oզ *U-ɲCpVfNU<ИZ%U ]G+>G~t1?? Ų? ? ֙ tBW]@̏.˯D4ӊ+`OOЯmGnxT[{o=>+Qx:΄``<;`|gE+x%/\#x#<Kw@2[vT2,;N]F wP:/;)o$ֿ@`f I6h԰wTVAWQ]=h JIY32L'\ @X R#{߸g"p04Xmc=}X^E\Y-32&+ӗُ!N/L^L lqopyu'{jzZ#;IOcX=L#f4,}*Qήclc෢V¯)&"L5LQ2f|eubLnGR^pUZDz7)5x̋U2ߪvr4u`N+4N%=?4 Jhd dHw0Wɡ `Ti% ͚=4r|&վv| kµyiQ6jۻ2#H#| sc2Ijd3&2+m[)RwQU+G#3ީ[#)!gK5KXO9 & `%z"ܺZ@wܽ,`'`kasvngwE zR뉀8/r֏yI'F.U)e&[@ыp.JTEl%g+•kǸx䒒L*>g}OQ{٨=͔ d;_ҹZO`!* Lii;SKDkp;\6sw5RihocSWvgqkFB+u9zDZ4"r6fz$y[ E@,C@?L}"COyn_Z w6i'p2 tyMi17XhvO7x s/< = $mCWUj XT/ {'3#( >>a/9IU2Z0D&"&1͎KRBq%? a HF\VR sQQ $W_DJ]ߌZ$V ߦ:+ca !_B2 fȸkB#}+2d!8"WŒF֣=ݭ)nHE{%@K<[13k C_'hjuj e,o1aX}humkƼϰt?S^ЗMϭul91(⛉/ cQ97_xb])Vax"ZsImb4;4Bz+ y״Ϭ0xJ"G(|ZAVg.xJyxMU f3Hh=B+3_j΄P'RzK&RB8T5S槪ӌO@d^̛b`c4TUgԽѼ|l>3>WUyF?iB rḋ,-QP= jLe&έkX$J~0 ;Ԓ! %c%p_هKޘ5֜ ]Z~} ت`H\%7M`J L+Kmpjz0ӈ:s>/ <7نP -^Ya((A.hu ~QnޑoV!JR>xo e6.q`Jq#GB EPXI9^p;cTx KjJ%tdx74*pd'a' ;vyE:^YSg.1vB]9Reԙk#&)1nFbMi,W~HQU |6/h/˰<>َaҦ vRƎ6%pQ/'X"hb<&iq#SKio[ X{ii3i(GqMDm@nQWvK3kJp0 |~hQ^NJ@#Q珶x,R芫0EQ*2 , >i!͏xA\]3XKxěgr #(k-̭u.na㖤޾&1(>x+{3_'c72c]J[:ϣ.iO<헌C+qgKhā |;OD~2*&U/C 39$qkA${xZPhNS^qưßGo<+p K#LKhf"6cf} = 8,@NͬGRq  `<䜀G\FRP!^ (}!SG~e8}ꃽ^)k!X8ysl{㉏ vv ŋ~ix/.e-w`gjf'8m-m~ >O,0>w4I5Mi=|~s+X]Ō4%3 xI'z0c"&M1*5܄u%nbjTS26hgjj jyn.Ss +FG<罧 I!=*!qW՘籜/^aV%Ly,b>snB'yJNwaV[mdWAW+`AwnlLgZ^T|~;V⩑:ቁˉA`D#%Z|C0~qRQb֖!J"Ė#=(ޟ$ 2&54!G̜QN#{|]HloCZG !iԀ,'_AFA*Fdj|/NMAOM@o} b,hLCG[hP[X]g;X)54=g涹hK r>,}p&& <_]GcುӮ8${P4<'LKMqZGx1||&RJq( Sw-lNRKәx.AR<89}(~_"Sq)[O܅ױ:!ٹ%\Kk6-s`mu 6ilrd~W[Pqo_Ix?I-áoޱKqx5z`@^ +_-J]sc^8h,Bp.yp=OZ]WOHz3|CsA2? =p)_o+7nLu [_#aKh@Ď!az;;+ 1؍YnV6e X%˘q 97A@FFJJ026j,8xeyqG+L:.sN( !Ǡ_B5̏:f5Id *U(fX\[!UX%μЬ`kp4 oS!swY4dy$Yg!|J U&o^Q[m`a9U8TBe`[Yv=YKy\>L jJjJAW*:5n)BJ5~r7q,'t0TRsZτW&2B4+dӽ^f6tk&av+ɼh0~XgQqǮcK=Ĭ? xKżwvۚ^Sg#1{H ȕ%WQQT%@{<[y8H~s{~?W<>C;.8|,Oov y{ߵ÷~te^>G^2oI}كez-.L˴7>VF1&@Oa ķNBxBGX|&~o&͊&@;<8f c AlJ{:ڍJ4;ydК4I{UQOC#;lg7N9bH:=Q5(=l_ŹUά 1?xE=\Pڃ܊>3 '/: 7Qx-=䪩W`51)kyR+CpUud!U(V pPJb*AcUb=vVw3NN^կ98~̟99$3o~OwϠ笫B;BrTR#2f|3͏>ݸsH3U6'ep8_5a8cRA!Ja_:TeP* _;X̹ xyXI1zG9Eu% 85[D1V SZR{nP_0y@H{ca3è(u1{GݟpѨFǸht5@7!u; + ,[r1J@Ӕ4S+iBI9i5YZ)HtY_+Q`iu^򌮾"Dhx5}OcƬ&Z >;}Bp%1f?"bJCL;y#_:#Mgs鞞NC:;v@9q;lIb˲d˲$[,fff0I'{[_fQZ{AZjWկ>z9;8JR~RMSN7pE0\TkeQcTk.EH4)8S%⋓%)+@HQN<\,NdE 0 |C.$#R*Nfl$\=gUĒ\$CNC2+\Ժr$WlKyH,(!2UL4s!۳#y}]io(nFNS36|M3/#bR -M8s%y1$tɸڐzyڒH_D@pCIp<+,1Ps=Mبq&>a0D;55caSm`rtD+ N|9շw ˸5?ަ6WĈ _/}xhaw,6>M<<'s\f%]ĺ>RxuU䚥r66ˢ22$b˸-I%x63<<; {" _7b`]RCҧM{7q椉c;=3fbVӞ6*7ٵx#GJRbDbkbg2rdžvƺ&bƂ7aNO,OAws_ɜbLn 6μ>vV|Xd~ GHwl77眕ոt]y}c򠴛QPMC&2wj8D*ѣ2M*0&V@7+=eT8>q8-aC9_hmy%2 綜GRz渫ƄHO=jcJKy7<w$B9= żG\7̃w1@?=Zs!z_AZDZPV`RTczLa ֐5_Z}Cuy JnYY* onRyZ;Q_~G+. @ ?l _WeQ6橠-6P^F`_4X7ʟ=hõrԔRa=VzjgxmWlxlڃ;T {uO!X+? ϟO~)aa8aNx5G-@'6U +^?/~k_<߭z7~śĺÙt NA ɋ N6;:8ߋ. j3NrQUuhB!0R&k*oh*9^TY՜U]IS`tE e4rv==Le#S<>~ŷ?X`\  eihIkO}*Uq_LVxV~3qk[ޝQbkIFK`:ӽA9X&͹~A# 4Ty1pUb0>x=`Tr&,/.΄"H TJQsRAFss}&Ug,>8$ hهi0c3v,A̅NgK>7jMs K=OP"kg@بF ޼Kp>G0 5 zs?58.@߃6;MR'Czp'(—^{{?{Y<4Ӿ3%`:E:gRBȬ#{wzM`psS#'I= I=ކIX_6Mk L{ 4tNjst (G3٨w;_zw;X`F-&A=ҏfT^Fװ]Ʃ&,1̄Nm̭dM0C&3{]-f =HaF1$yO[@^F }p:Y&u_#(zI8Up浺por}9w9< {9>Sjq>CXO*so^i,4VUmyQed^2o-r*U8LЩ*3p>*yNe+(^2^'hdk 2Y u_Qe֗[խ|5t:R}ykr]i`7w!SuOAYW%Ju%G6q]ll̓ye3rXx4FtC?O7F`𶽁X tG G /su;־qt[9 t p" 1'ڏΎ>_CϿ+2G>=":$Ofϑ+; /8[GP)x̎12+-mxZ 22@P%4 ̷XTn+y{`-&3uU"fl*ӮoAgMC7gwbxf zEֽ<%/\iCm0M:vRfJȩ:Euh=Ŗm#Vmo.*1ERg&e9cr9mQSd_K,Tg1O&vz wo  w,v|nRK00Ra:"*󚹙~3Ԅ ,zMou#F;uMV`¨B_H5z e}%b1Ya.E@8 0U X6'b}-T:8_kf s$lB01,aV:p"94>zr|yQ~"Tɵc  66#{pk|m|3j 'Dh761z' Ƹ[[aF8?L_ yDҔ3~Kv -80vL+ trwD_;x˨uhe3 ?R_#|ţ3mb Z")=؄ 5!|c$?`7}8v#ofT)uD=H::Y 7|3JòBfR_J&Q 6ɄVg'*ե o8n¶$\/CSEZkҍpjfyW )AJ _j('#|Kq%rp*'+W[+/D̵BU MeJr֔l[δ!N^D$_BVUdWV ݭ(71 ZۑSӀ̫UH-*Cܙ.3xV.#-//3ý2ACK>ڥh.FeZ{_O1GgU*Z+Qq93#h~o2X'Դ外6scGՆA 0c ޽ l8LbgbYl6G Xq?*`EwC%%xQ^ KX%F EX,U, X1jgX1wĢU@Fk@چX4⼑cWNbqfze^6oFR}Gshk5lc.URy)[o\K}NvVOd ̃[G:^OqAq}ޫpUmy\!S/%~paTYU\j*q^sN癧Ik#)˭I#,LMUyLHY&^TEZ_hXT`R8+_?Jkur_ ص蟂; LmHyBUUl@\9m̉ U]-f@]I~Aʯa`k ^t|~*m` zbE@,s?6/KoC3.G:%1a"*ډfz5^63'Fb̊9cNؙUV7g UFh?jvz\A |–Qz,Y 7]Bꎡy=o0tW&G){ HWdUfO#@*2O y^ߛDx䵜T}kUg¨:RUiUuu{#=#ޣ[byc{6|yλUE[B3Um8oy ujL-!djnp fD8x}oFM0gNMfJr)A&29dGqh/㨌!(] g;9nibPq^|ރ.IyW9Džoy.ts!Cmey&4807̀{c."xF TWXgbd7 s1E j'~.99 D#4 ' &8u-I5%HS%Ho@RU)^46 ׊$ V}uHdLWv4ޜ#R!J/!p Y2"Z WS9H?%/9(G14܊: )ߨyZ2,fΪt q(/ho`Ab#g:fø5Ne9Ak{q429jİYޙ½W5H GbSR6ebU;EqXw/cmFI+|bdeH*KX_5 dj1V}+JZxVP59eXy*c͙RM."JFlwPOӆUMOȔjVև|W5^Z3&M}= 7? EؘX YUx"tyme'W/ X'1YX>=aGC9 #;Gw9 vDl ?f| 7'08;m1u,&ezWU)ؒT#wO|߁1t }bݣ#Ug] U6atFv.B}P#Zg++Msw08q ]H.+Gǭ· \XNa:QS݈ackNjW)hr.(q֜sp`9-U*ss̲(,*4޼s7ޯܪzj񷂚BԘ~j9Ϲlњ Tx*ԼGAP0iy&)PG`Zy, 3À>e(kĭ{ߣ{77Մ7eY>v,&|-vl|gUOHp5m[ \0g?VI°5+XrA{39_Ws?Q]Ugy۴:bY8>!aF]H__>[y1}-|u.F;PUlV_N\sGm6%Zs1]˘1)ֈ;7Fw뫩& 4X@~5Z`OF`B0]In06#zZ+Fwwmsj` t$Q1'<0ARG!WGOB[eJ#Q{-5Se Ipy^H#Y)Eإ$x#0*BxYQclV WgW5刿|É|M謺JW I5HnEvW3{;يȘ&G\BD]sH( E(LyT5VbzBOSpi(Gfד\`]d8&27;b_ 8*Ac_ƍ9(J5S35L[}{xX哌EaguPҀױ42bsv%6Vb,XšwObUXE6L+r+s˰.3ױ59x+I2G{/#æVe҅WnU"j)ܙfc$nȼbPԏw]ñ6OCuB`m=EbIlӧXa(<qꙊ?daAۋko[ܓ_y`P#^u$燷.9TxlwIwFKcdl|޻p(: :4Ahe;f.31;I Rg2Ǩ"TSIZ_B8ۆuRqc*~ʮco}+c@.}vk{!f]M nt>.` 4΅Tr6v6*4gtQs9¥ix=9y&ާRd歠eR2[ z;ny/BY<7tA0>.THU}9[ۻ8rPPXUɶu!N@վW'joW)B'rA@Փ?Î٦y?e3^kYE͒XNV,;'L| I%,NT-@$ 5RRhWpLn)T! 0{HR MT2kԜ)Ug!}0% =?Co_hQm2žT =M0v -v !0f<8DcIP H 4N(-%,R5P@*(#Hq)%,6v.x@LY_^I.r}ชޗM,ZV&m\iJc; ظ\hQaReB7m]˗]|-βQ)Ѩ%L"wEՙ-[J9 T6j`Md!&2c&P;8U6|;K:,&WIL sb"z3̳RGJ鰊u͘qό(][2{n/n/f/}?}x8k hcL5h~uFh^v/@؅?I^hk6\-l?C,_a]V/zޣ Мp6!yx% J ,͸sϸ- ց@H&Ƈ$K]+&j,<9 d*չPn o&lb^RdVRWsz9:+|ǫt*ԲWN<ˤ3WȲ(h9xNat)kyT:kEzJsuIYǙ58g57%WX8"#+`kGXߪߪ6`®<0 ^&k8$uq\ˤvó/Rik^qc9,zhfpHj#V:?*eE$ΊVu=X*WVI6.U=`oOWZ2/>Gn-jLcOqާp+E,X:~SŒB`EӇx=:W቗?X痍yX㑂_glXJk~gwǨqJT6ɐvtlcܲ`p`5^:p&72psb"U º`ڑ( .X]w [>ǫ͝xx;~{er;LSw=:=4q)KSqrdN8ܹQҲ8;w4:a7̏`N08I%ϩE[ Q Vc[mɝqVU,nUBkX^-+k 1#gtImdclQmLG[mcZbo`JMx C2t3SXsS}r%M 5av23 LGX3@I_pO%n.BpTF3RN%yf51[]c`+%aaN7(0OQ2y !#$v^@dTj6e|s-f'l- M)! :.l\v,`c'X^.1Tݙ[b0F.!Sp  dR-YTp}_cGm=! 2G{1D=cLx%748so';|3ܤnh;L]2$ߌ!(s1ֿAx|Rއ1DS::38oVё{N3N,!p|l E ݰ Apf@·&}ՅRdlC]}6soN1~\$$/:g,Hw A\qr)"c!z!H(Ʃ8u bK!庀o-pmC&5 }HhBJ{q+2j؄#/#V8 *q5#mA u`h]F+cfI}-vy+0\xf_JI\0`8ь}'qf?F@dƭF;}Cd&}##;ȼކaW-WY<'Pv *jgbcQ-*iƖX{ڤug*)G7K@9~8ˢ9 /^jĶ2 = =⍅p&~Im9+i)-ij4dT 8nñ@=skloZ0 [7W3w03(yN΢g3\ӎ-IXt^[|<^?_!۳Ml`]t}w,SXl՞~3'U,|>rǂXV406K>rӻ=6/ƹe{G0us#7f0a/}W5`q[ұPIΈx3Ϧe1F-8Ȥպ9 Um޷45^rĂx&)c;L4>hU uF<0؍IWe :?圌ewLzLbm̭r 4Sc^dnA똯gX/ *SN?b-?:bR#)pGC@[A` ֶe&u)D[KWU{_n7%*%X8%<Q'xjذ_ǯ~m! b}Gl|zf<,A,돵2$lգO}6wk ;UiXU. X~alxPV|dVXw-6S#kx08`Uc+vv|o 1^pcS *@8Z͎$;uϭdtCT4h흐:C=Fa= l1qG[q6RmXQHfxz#a0 :Rl`UZvrW6ߏ< ?JQs⽼VX9&ko,!( >6 ̓ :!S c>eo{̋=ZF^ bo߼i.4 :G5eB/lԓ0%ݴ{6 r3+Lb+q}; 3l\qξ(&hӫru1 lv+ּ3EϑK="M"S L (@>.ЇFo O)XMOU"똞ݜ GpqkLrMD_㈌?󘱡6@g| $I1n8tSHHO8 F`U4 5cQ_kIHFey"j-={ ' @^Btq6BK2sr#k->+qB.A"ה!*RdLKmGZ'% Him@Fg rz;a1s[Q։EȸZs5$}Y{'9C1Rgzgk0Y|5JPYW'*YQ}5d5t{v}'1fq}.j7=;n4wb#8Cն,\OcyP|?bqY:Sx ĹX)໡I j-مas\ /(c{8bɡPlL[a(_![7p,bߕ>gsaU5zP~X`qtx[λyDfG#u05^{+ؔP_چc&-;,+wܱIlLf <噂gwg[wb0dQdv|" _8`GX"s;\}', O luilЈ#YC[ F'fMޖNadT\&F7ÌvºzRx azX#{-=Rp0:W0'|sbRnl0"9cxGMޜ*rZi|>|>X9 y Lc3dF`>S!)tjL,|zVYb`ޞYj/x>O?$+21/uP C?& LlH4oj|)蟇 y9S>y]?e^c&6T>A?uuuhu-ʹh Cy]'FnCbsɗ ^Ʋ׎cEwCز#X+Db l:[46zox,z=)^pez;Ke]Ӫ,gU{죣(jF-tOS /N(T qT MͭYV}Ui,8pUe}N j2@\߀ywvIg S2<.ġ9Ihθjli*J-ߦtv{τ?31&,,/;gv99{KWb֖+;bޣT@KHe'^! רƼX_l*5Zn ܲNy-ϩRa Q_ =R1S0DKS Cyz{sM2MΥ:pkM6:bͨX`}}k-aK%t=0a "!!if`f3F FUh>'Zd6ޝCmF@)xe;9A'yZ &W e@/)!>YCKI#U_@IUwȱgN_0%lz=&y0:b#>E@M;b; WLgSv>b+@6ZL5ў`J^)KXe:*Mi/VGX)Mf8Ǻ `3.M^Opܷs]cK,aME$oҦ;|#=3`c%llwI::?Jå,T2^o{[?֑^xp|pG3T '03鐋 y&XnU/ 5/ĈG\ dS9 Qq>ur,ueh> _J6#.&!"7\D^9kHhcGlE(9##YDFsH*AruT!]7-M8lIY HEF]nA~K dHX첫 ce#K*׷L1sӓ=fA[C3сj ux}yhL16|aFHO XB?c3oT+UNQӅ}$F8_`>~띈 `J H?Gw`plvS.w=_|~:uSmSc2&IwC;?xt滨f]Kp*&{&0)=ۇc7;׿b6^v =d}6;(GBx/ ˾ǣVջ4VG]p(e7 zƄ\1Kr",ͶXr$z܇x 4W}]o>IKƂ&s쓱}d-&cOM0AlԢm:҅_E * اcQÕ>y1X̹Ja < z 1SaRY՞<9|x 6<*U{y' MV^!N: JB*~rY|T5qAYᙉTάQ5YK̡(^u Zdkѭ򉂮W]SŚjC Q|U'Tc&*Z3Y7@,ɾ!l1 c=) dGBrtvWJPVRl]QݙmGǁ8ilewg,J=U퉓J\9PqPT`+lOlw:Hhǭ<.1m֓脎¬r]=jgxvw̲8.v՘~oL[j8`[da`@7V g"F{ˍuFN4Y N OC! x_}?:"=5x.C&2H=e7=(ܼI=ӮD7l4kCjFZ%~-0hs$_yPWx }O*w%n.a)6 8?Mi/A{@?xǃm S 2[JV 3@t/B3F}3-X/?NmQGb$aى޳@5h+^9d9=>5Rwy =>\ؐ|-Y^z=|_G8;p<m#$1RӋ7$:J »/SBhs _ĖKx4mXXp~%_9oJ0\oI2-qϲ8:9%}  טh k1ix2V?43Q wp]Ȩj>Fx<럍s9/Gdⵔx7ۼx5 3b&6HsO6fziz:Kq`PۃV# Jg:1sdRn8r⣽c۰X6Ć'~l!l9| ;(+^;]TGwzbmc pʸ/#|nߒuAko4+#%--;d QY&U"N:]/GUM*ЪJUd[d;R>&'1-usc.!f&G07)%PQyvU{(չn 4 ƆDeE9JK~XYdX'9zix,'@*7gaX&fst5vlo r '+vک,'5 ,''6:o櫃 O`;U潜Xu<&Si;O\= 1zL\{-[8'C%6Vc:{7iHo̎ޝY| [w7_ϛD0%`AkfNLXb wǍ%4;"m};`JgGpw ߮ p-/c gwz(3‘r9 5q"rrJ M[SzΫ:"5 :38r 3!zĔ:`@+#[aͰQ2.G}ȯs,@LV\mg pđC'0 t(h.yyL)I8ӎz]Q|IDAT"(?Sy5H.K3CsŒ3iwͅ zf=!Zsp 9P_Ќ0AY'bov΄r`7J-iS-p4Z.hpĤ24p0\hZvL}N\efב-سtϛ~o̖lmɖl˖AeAb*e$gVVB%3TR%333sV233VmwO}>^}>瞈'01Cjە2?5eȨ.EbY!Z)C콕CH*GEE|q rQԊr$\ tCA ll <%@r+kNL `^67cInHAGu re0$ E;&-wq㾤])Gj }ahRM:n `i<7 xC'[%nD!WeLH,C1x4_5Qx^ۋp[~G |R^vw.'m1_XZE'_> ~RtB [*.ry{<mB64vPSȶT݁mF=~t%獿[liw|JpQo> ŧ[ v— ?qc]M}E?aTo4n$cb}*͘34eᑬe#_^]2s4`V% cBqQqT5g4}X;?ޯU\5|61*\\0ӱNUdTI|8`U+v.g/bwbމTs `&4 \_5Gdp,K="c;dXNݬh ,T]}dxnd /HO_v·tO 5ãL@T\3Wk\b{%0÷_~;[ט2ݪsJ5EfԊ!sc&|ҟrdk|z[&<ښ%,<6>$4#c Qp͙:0ǖ1s~x[{L\R:6T-8s ~94]^ܑ\'`i+2 eratxll 汸0g$̣sW5J ta?O%{x&ߌH6\[J`usTp,y(b:]2pwLǰH{||l.>r )P{)NxgUmLabdBɌ)h?CLa}Y6ab{ 0nʠ按>{'~.>z<;0焩 `QpJNp` i~G/͟zv2#yvV ^[v(z 0O%",-~9 Q%iJQQZS@Iϳ4㢜B ۄ8U#:h =<`Lu#9(EzIR˒Q*>i(ΊA-._x <[, *41ũ(k*ANerJI\˰?{]?9;L jĜٚcS\3յLO:}1aI+{XXƑ-C QkY46G/_7"||Y$0}!(lŅB?>Sx75{}UsS^io*r/%­eA-8[)7/ F23i'cGp[{<*d@Ase 3=iscÓO#V88J `(|5 j/l?{@*f?(m3nec}k[fX/i6%q~>m8\缘N5F;Q@Ŵ `P-Z)  ^PbR@K^FAyl~N֥|TL8>xQ/u0=H*g~>=f^l7(֣J:6)Q5|2c|BV#3]*0y%_4sLOF%) f45&îG%1/:"&SjH'de:(S̋hp`Zv1/%0'`B`~gd)s@XjusBTjBʼjEf=ÚfZS͛Y>> sRk~.,N`PͲY'Q$*o,pa֑M^+r,7bXLZ.~,/^#3需Y!TS34zC2FNXb}{ +=8Ԭ9_ VxE\uǯ^q=7W8 _UpOA,8$M+GwBr-υK/||-&U:HplNf+?WNX]"k[Qc'aPɿs`$<+c,Џ,)]Ơ~,rqUX96B|gyYr ñ,||RVpY^Xoʱ:Ӏl.uwcQV 6e<@o h= f.%=h{41 `g7pr*Vp{֜eH$kcyx^hދO̳g;1>юKw}LuW^o*QYl!>iApKg4FX㭂h 8[lx<K cܲTTgKt ҫ ʍEyARcwDSrrI" PPb3P\)/? >ׯ 6g^åpr}m̹ ֗| PKC 3,@15k-D$j uYynHW8EUH&gHIA|?.]}ۜw 0;8;J-" =*Քx(NBNA"|auuyEX$X"4'ű% ;J!è==Ko"!eIr `j+wo Gs5y1(tԄ'T$!" 9(q-"`HEPr9o̱o\URWoe}諊7zQ۔ވ DFS&Ǜ34qV)f}+VMhƳ\ ~SswjYj( `^pQl ,[02 9 9(-v*Pp˱dDۺ31"'㇪6A6F%c'~DLrJ'DžR|ŅO'Ort`[xt)edka輽ZwPn!@u4vM 6 i%X^?'C s$c14@ă~lĐASgnLwx|AjcB=@޲5Lcyf+;>0Z]z L,/tt82 ށc8$lkjDGemf{Fky4Ol,kG2 +! P75Ya%̣*U4X 3n%fϴl4L e6[ͧYi a<>obwSuB;{^Nx260AMy ^μ2ԇKl%:sxR(n`i #lɓ #-(Bcw“#p=͜Sb񹷐Vv!b݄OV)m4naMCqȬ6෰pv ~]r@TZ*Bk!@UʡiMxU(6?3I! v/FJ)ElUU9ȫDnh۞<`BNg6 <])*Z ;<Ŝ2FFLVx?Hkl:K' `m)oJ ڛ7=44 !HˈAIn2B PO6-Ͳy9!RO0q5שE H[ZH_拸kGiq ‘#QCkhgI nzm_Fui*2%_pu!:hvSkM#`ٝ8ȓ &<83Ԝ2gMa'$X3LVJJzˍtLq1ίBh 2Qq B#3eoGe]Jb2Z*5 S/@E@J+" S(D3Ttwy ;;;#-Zx\DV[52\,f7(ܨ|{8|PqF ޒop@<5"`=3g-{Q0 `{^jKهU#}N H hy~Wֺк57~uJ޶Mw ux_qϻDm&e OGfOɮAW(.d3x+{ iPt uM <:+cw{b֖󦹅i͘{_l _s#дc3;/.qϦ`h0>4^ -x{f`wcQX'7uX!W U\ IKJ9ގSC(uB@ _2aPk x=Ͼlثҫ.\pbj KsYEo~?t6>n0(xvgSPe H(C^1(EO+U򢤕K#(>8w^9.&jrlSk([P&fCX"CL쪶|'yZ_7PPBl?;6F3=T$߳~aUXp=3q{0-EOyq孙陖mc{TYr,T3:5/֯c] Z[~#eu.SZojGg9LwScV=Ӱ'Rjyg>[~qޙG_X*GҐVזM ԩjx~L1+R:"xez6H;r`acVHQS:b[< gGE`rr 5e=쓂88ieY>p \,t}FЪNWM-9'}Sb>9)p&f~|ƅ>q!+VEB{:AGKt6nc"1XAYp{00!(=ݣc꺺:P- -hx(vVwqxp{1,mCÂlS4<ᜓa7C6]b^α׮o65 }>9X] ǿW.xS{WxwX?w!4*Sctt|m2YmBd,ܽO7 /9w'>(m3f]=bO3-Cf0MZ#ُwU2!KN7qf12÷DœUsNZ:-PmT9*1[xcfӕdH^)~!>O4(߸qws=6W @eZ.OcpYx? BR1rjnvMăAIR9~ TAйՏ:~"^C6|hן?¿;e?p &\TʝBt#P5F QD{?k2sI cR+c{s[c:uy.Ya|cOSbt|xWuATXF1j/X.n$-G4y|3ӹa]xWajՙ VfLL OӜ['0&d89KˋUZF>`gÙԋ437AQ e|26bC峽|3+spTw:g NIp˴J^ͨy>PͲ \q2NpL* $TSͧLNQ`|JTz"j-`UM1/p3555ϷPQ-jIܢ1S0Se[1FWk,NtAiļqje\]c565)ncvϽ.^}4ٸ- ?`I8 AʀKT uMW~_;pr{dW :jbYA0Iya/]HUu>|W>gl,cR" jX5/W$"%W($ଗ}`g6[b Cu|`4 5;-hkDWs&fZYۭe-.3n,1$VѶjh~zʀ_zi^C&9L;B!5-uLSL<9Z~;KPB&77}i gLPVj<Àߠ\d;x0DOgKB4 Z{s(xdfsY͆gEc@+1(+IGa^<£`c 8Io.6/"&9œMόEJdO gx x{])( oZ @d H#i70c2LKֈɋAjY kps%׋8pF,웸(y8i۷qe\rg ˒ԕ82ް<̪,ʘI<.=vms ׽퐓o4y)p86μ;dJXcNg46qeܓ2RQνVoufq߸b+Mgٖe,|q=$-/R{:Zo ȪHGiGMI‡d=K?s&#? )fSx gL%"8=>sJQ?ԁdWRWXE"8I %(H g/Dʞ4 "i HZ&qg'MLV63D]j6qhǀ`_|K/o3@k-Xb;& Rڂ tǢ5-X_?I)*tRkeҹ {[If1=9gB IRgXs0CJPL~˵=Z^Bt|#4 l%úշ4pŘl'0D  Y7{V}qLEϖ'(Βrj7ռ>4fY izgwiG8~ {h,6v)->]shnn8~3?N?o'9?,*2 AYxz":Gl &V/W_; i eWo9Q<Cnn~㋻60<8fKAwqy8ޑyݣpR z\f~,H9ó)MBrމkx L ۃ~|W7)X7{Do%&5˵I~Ii>B>.y ֯}y&_Le*¾s#}7o֩zaL&l#V~DliT61 ǖߩSG/!wװOjeɿ3be+Pd;X'yWjnUKr9|1R%ǎi93S1/e_Y/s| I3/&Pegl_IbG}a=h6UjGP)ف~TÜ_]FGg0,=i>uu7<_Kg 4+j;P.´ [_ |tXuܳAyu ][.ɬo<(lۯ=c_=k5~Kq3Q柇G_ǧ"ƃ?:|x #gh[YlƤuf=p< +xR)X7n&4 &F6wafpc=9>ܷhpe,g%,yrMA[sJ sPUU҆UӼw ;-/-`Kd} pMp:`xmV! ۫r%L4,B)9F2Qq= tJ}||T, s {W5 OY϶= ;@iH:mb1ąN G[}0-=؞n0\FӺ2V̌LF'9kt瀩ṴG?5< L/kdFih wq`ŘXsxx}EO~Q[ HHDek9*;`>V|޸둞H*NDyk j[cbc3`^jl%j(0<7q~S)j>y^8>mM7azI6Me 59 k2MJ>WLۯ:'cԸ%ބە9;gSB{?JZ&VѨlص&Bx+HģEx'Z\Q5oy'4qdi4=3n W}Զrߟ;hpi?cMj8UЫ<A>lobdBvvdn7 -]]\ 26k'|sIu?k?>ܓ\\iCQ; {x1y' 6x/ Ŕ|l_31yjiShŞ%KUy_TopGF >\>څf-~~_y Twcfqc{sO:8D82u~XwrlZ_ mi~ί*\7BβTϾ1}K5oH\C *$^P+6!Q-ǑY^b*gޯ V~o7ʇLv l*ܲ~u1 XBA-1>Uq^L}c~^O9b'4&>!bgW]Ģ쿮iӣ:ٙ 0YjK5/+(ư=zp@zֳ hXT=KPJ0eD*fxN4ZԅwNdg@r oˁdJ T#΋'28[֣ZZfy*,P29:\\8FaZ iFK췠: 4/C9ֈNAV^r //^weoG% q% &PNKBabkF |u7ZӜ*fʃ$\^6ͼi@mZq1%hv q+a;[y^BpZ8rMg_91x)wy\2\:íh\[K&͛g^ԛHKC< p:ta @GcbγV.ODyOi/aG_s:˰nuń^-YNy\^HOg9I@>Q4"0&dO9#Ei #̹qDr8dHGUd9 XU`GC9ʼ;1g~70#iĔ1Cq{Cx<< 㡘l.%/yD)<2񽛅GO-sjpOoQ9z*fUs/2Mg?cA+':4J#H;Hט{73eI024j+B֖͹S3`&]0ޢ)=W1|ǔ~kS'XY5< ! 0,o,a`hfIIKIwV^i ƕQ-^A<켓<;w+w1#cݣR'}F0a#i#Vn BmRZni.:-y/b m*N}U֭|,|@<6Ny%{sEwIll7Wއi 7K~LeZ_K6#Q BU B@B<,G5|NO/az|uoX)gai~/bNRa L*+mSM>gW5b"AEDǪV漪r3js5Pd>j~YƙrUJ Z]0eGtW%gTU`jsA{<az o^5S=?3sR9,H0K tAbsamT2*yQJUtHg>EcŤ&3?j1n|JjѤ~SK Q)j0RY7aer퐀zd:pl||67w ♆hvMH)j'FZHW%MIrOGc้Flfzx^^1ZY]]vx=fSK0̸sh9O5mB!-- 1& gLJ+iya[C@x6xki3ux_)zTnt@U"{Y{9[IWDW$ x#zYzo&Pj}or@{x (K5\Ӝхq<4O 4SN""L!9X@_u'٘ yk ^; 6HJD^~"r2+_ŗ`syzpp9Gb0iYhf} %(${#8 Vu+4d* ]b>6RCM⒚\$W#+Χ9Ujʋˋ#5n`u=*.Y kb|p]8]hge lg 3ïR=t)p X]x/vxg,z֎L 6b`CgI˹(C1.u4oahBw[:e%7dd=(Axj4Rb w")/~QAJBV}jQ;؍^,][7b}LnWedyrx|4Զқ 1>ic5xzw#0y~n/FE'^Amx 4νpiǹ"<~ jP.LН{?jiwi>){5x?vb'ߛ#D+ԊZQsriw1inm {hWI}\IWWYfl&|AU S? s!)w|+|]|W޸V3 7Vxez"N¿r,|d薗 cV D16W'|׈0H1NjiHoӫ6!R/si*Wujx>ogQ" Tʘ>x^^ؔmDYmCwoxf8b]Y2x5w&J><Wws>y1j^ +ֲyWCh|{ sf}\s6=%Vʓ3|;ۤnQ_bKLyVKRͼj|^в~ν>W§[,[0qy>bAŅ3,[{L*oT@Y9^'VXj1B s T 򙻻nfz 3+!cX13:RͮvWc~YVlju ]Mta̯&l'Jts,7n'tY7i*3%Mn@Hwz&p X]k4~|_Y3xf5gp6,6O__Sǯ^?~#/_\͵t\OHɐowoZZe:VyQBɘ}*763$@$̔@7Y^Yg[?Ί8ʆ3ҋk)Wec j;Ў!s^`5v%Ӂ < D4! F<# ؤnLrB8iN`0yk$n~΅Jp(rI$ 1V Hw-kMqp=(f,Oʘ^!ľ)#;۫0gռs#c3 'S2\L2_ͩ)ʷ3ދ1-sk)ݑo 0ݮd^cLTf,p_l&N7bs,j'õ y)`fay,MA2"M~^rV!;CW#(/BTSX3"{TC]11&VP 0/G6\;z؄mdl'0z5aKbSJlAR-:"$XՐAzNfnnn. u<ԞCg#&h]3rqSe=^,e\L#pѨ1/A43 F3Ilop\A/0-EIV'K $`yY۪.d>g[Ui~L奛 P 77>~Lqe9l//l~]d,w 1gqNuPI+k9&z?F&[j?ċ?|?~h7# ߆7C`o<3gƓ}O>.O~73W藇ׅIJ/ظE"^[[FaxH܊0,QUoS{M,uk\gc-..ⲸξAAwJL 0K ,FnoK wNuUu.l`=Y:, 8-hY&9,Gdn$,Ƨ,c RFhmW+9ǟf _<1,יTGcaӍnJ/p)w LI0Z'5Gһ WR zQ wZmz<#{vvggϞ`ݖmrNd۩m˖,K@" @sL`3@sDٙ3Tj9SU͇=7uu$D׎&OmY樥@O:O8n `\f{1!ps 퇮-ki0-x<=ѮZ{:v\h_b4Ln_tv*.roa?܅G ]t?JY)8b(s[+PhNZuJnv"IĚ%'zW6hs:E$mUXfePiIw@CS`B]`MY)7o^Rkê*6qR6)rgW~X:RXpv7.wT rY庘u s8}ޝ<@_7YchU^y]Zoi?=^#u~Y[zځuV*"dtHg\Y ~]aA*.ԩ|rrOb(ɍOe:mQ#6vABR}́(/9D ڮy^1yǏLUu\Qƀ֡=ҁGL^u]vg@Jˏ:SGUvKqaOPJzfc{ݘysJ3֭V޺zpA㣝{S=}w9>՜y17 o= @U}%_mYZ]YW@!]|߾mgR9`.&9e3?짦“=zgjИ7Fʎ. Ϻ=zD8tosY|KIz"aBn9@<5GOW{<\gVB6Vi=a>uBK4>mQ~ÑvrNVdޤLݕy00y˞n ʴ}♆PE+q(k[#zSWU;ِ&y _UjE\SLq>Q?G _~o>J>K Tӆ4=wTqpDe9|J\O>v='~Y_gzN#xA\M D[)Sm^7j,{/.{m~;J}3mƴzSgRNs! ( mLپIw|7ݰTפ;mb|o`{9L 2O+p ou| X&.|iׂMi(ʄ6 4p/k@wHi( (%.b !A滩*nb6I3qZ.WhT 5hyjfd ]a~Τ0|_2 FP'cbrNi/ԟsGlU %j[ N)JOjyh>uq#' =yD.O 'L~wF9]Ct`[zļaؕp~rtڅ|fڶEmzGVpJŦ)"}WFwE=vy:S!:d\! N?Cc{*~Q>7!ݥW\0b%7^i\*}+<ԌEb%`,i6i^_`oKw>vȃ߲sʻ|L. 2t}!)Xz pt$vsuz/>wy͹ڙ{PvZ.vMⷨ g.vq9Lӥgtw͕͗f{Xm;A9-Ltkj]o.Nx#t.Fgt \Y0R-L+$ᄑ[hxLthlIͷ]<쿪q[nSݕtX՗JO {7HiU5i<7@2\ S9?_p烿30AsgSC3i~lV}WڕZ}:W_H+ҏTjkY"iÑDn~FJ 3\#ٳ٧9Wn R;cg1;k} )GmTa=z|WWxYOӗB[A:rZs[turgg /'_pg?k9K+8#7Fd:tлɺwwʩw~tV Ko鵘ZpX He55k N}y8v>  c#dKi A[Pwqc`֥%=% 4K{[Ga t֞nmP,c uo&7)&boŀa1yQ?KO~|7MQ:,``p8\{j1HЏ z9oc@&;BHC=?d l֠Q7/'J^6b,%$$/A0p T|&|Qih=\PX p& o7,MG2(ԙ`Ll7e.&'Wd-ӟ|_~3Y,M΀,g؀MM:&0h?e\n>~I˄'.2Y I]/V`sP8nAIK;\dAqwxbzDm jnS_;̷.G ^>nVW#qT[a79U.ww4$ׁG^q]飿j@n9w[pAܬ?0xְr={57. Oוۯր$D|WP=qMM/hltZK5<4%Խ}C@9b _m=ޟbo?`,-z0~/)C`Э^F4Z7cojrn`%mķw}$ !;1C0@kOy7b%3yd{ '<]0K7x:o;Лpw)/=֚bG@6x<1بs4?-8h0$B\Ets2cX'} Z84R6놺گo=oV_%o <-k(SBNǪoƉޗw|=@YԎP%QHw:ч(A yXzEÉoÏm9YV~5@Yr^vIkK 3 Ҕ=QʩUz-tv@D)JO\Nv*udNEVHƭV`&m#jqwTYul2Ʃ؁: ֫߉vIpwz .@ݸwƠ}=}Ә&d4bФ i 0`ibl}=Qu{۝9obfhJCLƥt>Tn%]cφ^bb^=Y%ZsI;_ 2 eff>0o7HC^72,eYye`֔-Sn/kǞ߬9ZN/ҷuI'fX!JȝO/Jxݢ>oUtY"o(J~[=H_M;χfV} /+Z& Scn<^LCc˜6;M F~1m=2;1:4%Mgn{ĕ=8;n߻|IS3Zx70-ݪkX̸6` 0mؓaPQ8䰵I<61fL+ [ɛqV09/tiDRh^2N;;gԁ|u)r m2kڟzY^FnRl%/嚚,a\1G LԤ.%N| J0a P=_ģН-jcwؕJ}@3gqI$`6I0v9CzjE5PGoZi.ĵ;hFrLXb09ĵŦLX1s"ql1) ġ_l~ɔ@0qLe4Q=CLH ėE`4!嚴8.6s@3/S\S e_h+·ēsHG| y[ZD])2mSPc^K7ܣMnrm}NPnR+~ZA?l_I駛>S׏~G}E}`9v✖m&n׭+T_fBf&%ʉܾ! 7֍k׽c,.NLLKumru= jq0G<@Mn {58&T>Tu]iFG[ʽI|{ޠIwo83D+ i v]>'Co͍:7s0hqɛqdفÜ ;s8.6fQ!m36}_!#ka]@Sw 3d;OC |X]i.TWCRG.<=ՙ `hԟ!].{gvP sA#b{^<1-Ax~ͫ@7W{ݻ:Mרᬛ;U}nt ]ktGrtdy•u-URü7&#ܻ Nq0[2d/5^84Ez6zl[ujgNwD'/)qWbw)&5…j/hNLǺ%v:-:7Y~ZOF e JQ|Wao^_paH\?p/VodztJJ=ԻIȭݺR!qHy7jѝ:sNs|cz))Rg\79@n>.Җ/*gv٭ㇴ/5R0~0-b0gRewExƑ*r@Uaxá8%hߩ:[W[T\{X76?sWIsUeҚWw)!;Qi֡ ;s:y6W[{f6,lo 1nb܍mey.婩BMUŪ"7wua77s[-75VG>x00&u~'ZskIԸ_vEe~aT!!xnk`i\= j}An8΋Da5]틇_/;&ݝ2J?@i^f@p98qt ͺsT΁~ oSwx_ཷ};uUw*yB*Ċ}}A}+ٰ] *WU]QY}&>W<&f_85)m%-|3[&U6f~3)}9\ &2 w|ښ OGjt]iבZO\y9JOf鉵;$c?e>j%b*Uz[uoUb9rlH/W*4b8hd*vld\x?g0GפhHX{*4/q3ߍ;t8accxDY}ȏ82)ӴF.G:ڤ&5i ֈO3!ܡʶtK|lB=6)M!~DiƷ CBz4wd'\ I^QI QQiI*R4!:$|7W§hhFS@h:&:o? I]̌6X1KfN9#YReR̤1t #qAh50a(Eo4fEG?8|lRcJ+2uU(Ƀ6Mlfm'c\:񚄐<7@ ro5ˍ]knVPSc\aDz;@[֧{Rai/>wUqdHz=PrfB4AcC ƣ#=\w:%8*)Q=C~.pGTHQ0y~g)uΩ=xj hxeE2ؤV 9B#q `eeIn?z"޵pkpga1Ƒc?`L`dg '^oL6i=Wx4lzmO rחuz1"ĄvQE<E浉y3'yXDfWd.ރEVL:zbhDc#UIS%n֝+- /3Zs~UkRZۯu驽'3|vy_Wcn?۾YMbo2ExW`x!};6pk3[1ML-B ̴fo5ԺlpCQo)"abSzEeA}#t-NOoKOֺZ[xIRoՂz%~rWf[g*1(W~@K>W Cju@+| #0'mYmǩq:ߙtsxN]CJ9vX t\p4ČzhF.VU|n5 ׂ 4I-2ЏDž/ٞ `u4w+`՘(eFkmi`рmvx k4\e^SI&&-:[){7bLY<Ƀ)9Lzʣ;a;yN:S&y#?<(ˀ?yi~)63HczQOL+NE@&&65BpoN;111R_V4ZHz&P ZM2ԚQM6u8waIGd`75?BML|te81f )Y\(A -Da8; `ƂŷJ9[oѽE~& &a8oX5u;5_-s}ʼnZ[ʹjiSq`K HPw&O$&!O;=c=hֻHpͭayw^z؁͎7jn^#Zh_{hldVh_ŤjWVڗ 5ވQR,];X s E}+o.6w@7lTroYWW:TcapUzF0.PFmtC7zr0Z[FxB}$IDAT{*pup"[q&WH]t@|˺_*$xCup;`t |=~Kowc;KHJz̝e wT:iJ|>'E*(r2y 9@]uN8q`"oЫӭyZ0.3xMYOg}O`QeL^HW**b )DM~K?F"v$T\<2̩2H\ n|c@l郺&cSX3tS|JeSHF)PU߬ʚXv:q*Kѥ[e~~U՟s1΁z$h \-J/43|5u65ؠ[n 厬:P{ۋq cWZy_SuJ`mA^y@sܬ{|hI-,xTMWsv+sүy]E/fab?2Ɲ?~7`4 ãCi<s{wۿsԼ˹?4>`9lT^-Qԭm*RhM7EJ봭Z/gz2>Ki5?HՒ=A pvt=x|C@ñsr'Ғfs8'عfZ@\O&Gx{ w&\eZzwォ?I_8}Q+s~Ae>H󄶟oWE]n3״B].mТȚ.kїARO\Ѯ|Q~sa#XHs&n[k͜LAs}j]9e~tg ۚuŽ勇)pfjbUVTMQuL^5u() $ilnG!{cY1Z1zBCS߶c@@ڕ'0sq`F2K@1g7<}zZ,r`ڝ`\Avπ8`|7l&u6U @Q.c<:&&><ضPO{O4iqXlv8'u4UpJXپꖁ'@Jn}+U׮Vk2;6 筺zMZU|;z4}Wh>ZZXYH=fzcyy\/_o񹭫Kzw#A6iT2oͰP7D]NGd/tiu+9HF~J/\;YrSÿ~>zG:e 5V}m/&P&(0qwHA {J&&lo0`0Vƀb\ dlC$ c3ƈ^7la}cn`#=u9nH_o#ۈMÖ|o~u :ǃJof~𺦇9Q&tGoq;7%zi{657 '@L[z4&G&E7>w<W55SWSjfo01xCc7~I;(LI Qƾ[s0;Yr9z|:R @"*qcW{MW8 U xw,nR֢nEԁR `B\:ciIRxm*G9@Y]8c*(w`OVѝ*>Z3bwlվ opgwқe:yثf(xOBFzX? x Y$Knq`{H[*r{b)rgrf;¹'ܹUTQ%.F UXzoyDڮw'tʵ GG2Ao< + ݼRۢ(6!H+ťqVJLvޟxEx[MP_%泧su𐗦cqIO )/ty;ERLLRBzyj^ڒq^Ʈ,[n郳nx3O2wjd~4EeKQ e^^]W4SsC^ʼmTyV/x^dH8@?>Y5եFW.0zs}W-ߩ^dž:59ڥuumߟpj5q^U9><֛y^'c=8݃/Pwfd\$fbo4`g@ Nѣ{o靇-- pM/e3pK'./3Y'~V.T7y0Rx]lcot!}=Ǵ?z״pĘA7 F[#a Fwyy_;ȃ`I/ȘF{zBAz$-S;7;ִ^=iMZ% =ߦ-UzFk/sjf_oK 5R)Vj^UF9p8%S3^I;z5>8 x'5O?pCq~hQmޟe#1wn is}xAKokR]ے.Qjk|է}Sm=Mm44mhq$Ӟ!d^0w 0OlP_mi'm`~xХyj@1@"tIMBi8Vq<Ґ0s[ a9ii4zV?ݰ%x`Xa&,0&2l< Go=%?P+pkPL> 6CBm|",#]5ϖ/O7&;SFK^@-'b ANY/3L/|n.߈g/gj] FNɡ|Ѐ|S77;cLȓXX$cV7 k\ 8&)70јT`. Mמ Gq гyZd1ҷǘams5;=}N}*R 5 itM4-;?O\WWÍ)z'Vv^\vz_v]jnՅU^‹)5Ժ4Ƶj] ]o_:ڛhC&6څ1-QM}S}k"8U]C>Ӯ)6v5kޜa4uv?0Z[\MY6i֌Cy\ p8YVQno b<OƷӫ"]qDz͙ e1̌A>|'/al gbsMݸirpAH' Әa cDmͥ<7+u`n3侀R&M 2sP~ ; VW#{J55=gI=iP;倴xsĚ| N _M5{QGdtTW80룮Rݮno 5%j9;R8M*%5XI)Js49#JI;”{hw5vgbD{/ 8<5Ta[qJ00F7pbyЋCqLM)AN#۵ pS|A"3㼫%|c,i+ Ɖ#w 4*bּu/(bze Ģw !)aIa;/AI{47 zam7OMH6$A!9IP-ڲ=MݪMޠWxm]ۨRôy+ƿ17܃E}I_TԺm+ Z+EJv#Da2PCwچ3֧Α>ո}rWѹ N hwg3u6uj&qehwrS:\U~a+p-׫>\8ƪjA]xTӮNKsF0'{ILc ߘc3gkjaF#ScޥgHfr^K3KslyΟyLx}̻}_jzI}/,C_Y x?_ک}xE>OOdk;]WSIiXs#9 X{؇Mj{|0[?_O?/v ~ ;d}?39~wnkaSL5![% }e 3~&1xM8PۣyG?{gpZ<) _sמc_zPMS;1>Q&@t:ڥ,&b@-WLmmI;y0 :kt)45Z@yF``B<-OoɓMdymN?i,&~o~ [^OiCSѴv70 ȏwk#o`s!\V.iqdce,d&f"'@ ` i@׬,`&'"?h3$ }U1rɏt)fyP&`hy' ]$6*L 7v#q `y`d\yϓA\iRh&%I719n8 b2n Nԝ_hqTL-EDd&_l Ԥ3 򍉍6 6SM_ǀmפlԏc M]*&;z릿 x^J+.jېZG+_Q_Z/ Փ+"?>v5ure:@m`;ehhsEF]pks`SG5zyK]n[ PE>CFB>U_ՇQ}gktb44p_CcꝘqܒ&a19nW#Fޭn iMht=Vkg= mʢ0\ յ@+۬O!1c @Ol!.8Pygw3cxd myW8;mƜ1BzR?=xeS.9uWpcv髿5>`!7CX)v;KwFC\_yw !dž[_mbj1- t\p% 9PpV7+bkCn@u%OuWo8:]K) ~3 YFEFULo у˄o(:5D0*u ƁhN UPEm?xgM1u=3b͙1nۻ.~oھY#Łں?J1I7RK撷(ŁȘ HҶ؍ڼZsZ'ZOgvs!Ɂ?T\Е @}-U7hQFbj_`<KԝCJ٬ڙU/kۮP%`wL[V+8t2XO]8g72c-'AQ.$yWJM/)4 OR]{µqˊr@~|.3#_|4c%WWIG]qMOFjo|fWeqӭ?\W^ XzZy+\W3]Er*xUgF40cz֦W$ N`0m_7s|pgcZkNz -@7^RC}~j/T8޶w˾hw/a3E,w3m=t(QCwn49Rn^}mm>oCoV%a7kD|>㘾]a ilM_j'3"sޤN6B0){cX2ɘ15'3yogűiqn ڳuq})bJԫjwmhQcK9v7u=OZtB hn}(8YHIDA}*DA}bSv^!7Vh8P4;ox#xwf'G4Y;8"ٙk@1{p}W - ZS[Гw诞xFOpv: bS-O~;5M67:(pE!l `z:+~OcvF %/o -mҙF# 3 hڄ -K&NŤ1lB(7-绁fQgnuZMhm>PvrwҼ`$m(π3Lw9 4"z 4pnX^&\Pg&pM 7@լ;߀1-`I|t 4`׾^;/$HIl7Pwn.FƷikU#uba ^[u8 ;㆚.s&_gR8I3xG>Iϓ%g͞meqk`ʅ!-w qAD:#-q#XjpۍR<jr tH F8ǀ_=ˆ@@;0n^S;9@U/k:T zԹ UK9JyML!+mka{FGjqp\Q-Uy7TXZoi4rh{#Sd $Ops$`,  KHhdZƳZ3 ZKB6Zm[Pc]~HiD%*5~Ũfߦ=EA!7_H#&;6"=0w0j'R4ǡBMS؜7;0W)qk78 EȨ5JJ 8*9D;”õ#q QVZvք1``ܻmoRwLo^ 9qC$82PX*;@=#\)sI6Ĝ$EQp,v(ZG]\{'`% Sݪ?譯=r5WuS8#i*kgudΟViuhyr.V*RN޸3údu /RߑM20  Ƴj..u7K~2u~ݺGWP˫?p{`f3'{]+1]/9g;rtUF~?|93P4r1@+vŮFS{@+i%Is_L?q8#lc~[w/^|K*"Ҕ|Nww7F7k{ >CT nSN4=.EK_~VkC5y*ޭtfZvch{*w|sdg̡ Lk`0ZƐwrNB>Yz:5}B{Fкшk '!=q Ibu 08|B՛ X>iZ[<;+׀i! O*`X.(^ <aY:෥ų|1 LS`$H< `.wkd  5pjH@:) ugSK7 'M@{@&5)8 fM]-b`9 I,~fX$iB^|c(A6pkO}l,F&?i3}'>qXpfu0n!tvߙxa HHF\gA񝸴2Mk/b}܎6QGiƩ*.^5G\Y^~k.VnrUPQio]=?>g?3?G\UX֤YG0|7C1s a}:{Tum}or<;[8$wp_6}GO?>E ޫϼ{EUVYBvsk T}ySVUWOD[K.*J(q]nP:&:1)]TV-%f^\F!*xM=ͨdL1H*5VBoƇ9b@p2F|[q2%1L~)ˀ&#.WǼe^3/(9ol3)쮯7ӈ-/D6I ai I1RIoj:nVګs|ʎ[YRoe{nz 0wSiG勵  HP{ޙw~? C79bۀF'4sKs#^W%QY>\ا+Hd#ē"W(2Em|]a\赊ǭH\eJp m~I@qWQXf80ñ>S(oQ|V?Xv`;G |nqK=gfj+?Su y0j4;0XG }1ޒ&gvAI-MHy$?p E:!ue)8=aJ8Ոzuݳڰ%o:15i0F7x7 ]#hsޅPʞ5*eW{#39PDf%*b&zQɛ-5#%\I r=3 )G7p^c~Kv*فu vyK+JNuN1Anlw]]4#Ay][c0/QHCE>sIYNpyج]a*8[Ujjk'UtӼwkɃڝG[*tܨG=>U}UKOu\CJܙd9`{߁Q+cba Khef[C\C5|-yo͡ê|P-׏ݼ[U5TNgw@=$x ر8g565A/汔0=FޡQnUV$>~P_N8"2XRQdW2dx*4u/^ȫYծJ4{r#m`IbMw"&z躎+tjٲ,K%RE`V"9NjA 099$@.rHe{Wo_l֬Gs9u9Ng`˲ 8. B1s"ymo:(Zx9%ƾ@;ƵE&wC b\_ :\f'`^Z1m)DNL+މy0-<OGⵘ<W?bo]LRс^ :_+-C4Sftv/<1>8FS֣b6,f4Kz:Ji 8,C CXcd<7潸Սcj@Wx#Ob䋿<2sM #{H 0]Ү~;o)wSPoʢ]3>g_PfU`%-ua1&<^);(62ok/`#<׮k2Q&'Տ@qӨ7y@Ҹ̘ yyd2@kbP`ټ7SQ3+[jӺFx՝W 5g\n P gKx9^ s?4fL%` kf̄Pg-4L5A0gK2̡̆ 3_p~3y||y pf8G go/fE .ygd[l^X#eY71=5M0}Qؑعܲ|7=p@a}XZYL6kNSMڼ4q}!Uފ:,Aɍ+rHm-R&ԔWKG7 DO|M Y\`xOᅊA:@:{p|HNV@3fy'D}C.;TV{kƙrz |x`e] xae~:unQ r/G3^<"gf6 l<*g~W 00 {{]@?Fx.“KCg?m'0/^djڜ]hGKCjkYWNgs4>7~l ,+kglGl{&L >X ?rP[жQc^Ie3eC,os ௿Tn+ߋʽh)6uZ(;N F$M HЮu}tI &ri#M ~j~ T-ߑ*]yzKw^Przj{* P-wB_z[pd..V!<ЀE[ 1kZ!1^՗lTjAD* SHJ|- <\XB#?Fa7uw0 mKDJ<h$oy#)Wipx?Պfg_L3kr " fr(qra0f3M# E0L-h &x"P-ROS Gz]8*FB[LO{)u X5t]kLCBrpPj73Ra@KlLTJg%0H.GtbRiN5I&&$H} (g$!us ֆ.E<{ґ#I68K@\;"fFަ/o\N8RKʣ7Y{ʁ,$XSg@D5w{M9=Ȼsb.3wfVmֳqvއܝyqvh OBs8\YC8 cʮKq:>A`FpN./vQ&2xO qrt֟Gk1t}c_ԗA"pPyy3ƥ":16D^`3dƾʬS̊}?RnهS+/Cg>9wnjms@k\D*,?yj 1Bfqܐ  cZnpsXS#FR.wwS#[։rMPV7\{1_{lfY6Xo^|B5lγ|fF=<ߣD(<3XVpw8 f:yL=lq 0앷07( n[1/Dr!g Y\ =/Vb`JG%r@7҃2 Òө}xOjyϔӲN6yF|ƴoHV֡FdvwvfKsY뙄>V!~`uD*~Z(=u撱^\%gJtɪ ƔрG> aZOnXcͭiL i&_75"gr2ل&|ny_dV'5%,^ǭ,gx. Mʼ{qϼ؅B~o7Y͘Ƹ@̞ bY/r}5-SB~|#7ReY&8Z4hwsh¯io OjͿ .f_)4fZ|dX&̗yC%ڄj&1Fofфg tek~gZa' id4)48glƅy%`ϲx?lxlFfT(YW>7MkZ[k@<5V1huq?u0G~tx.)y죲[y TYn;[ϟ:j6՛(-'/LXnijNvď~4Lf<^ů_Ĕ߬@HfFvZhk\X`J5~YrGzttjҁנj:`]$~ /BX,ۄߎoO}y}y;?h*O,OcK0; " `#X.GP.^|Sl:|Slf<&$`G4l:dhx'0 ;Tj}7էϘ4n5 \f39@PF>,0Mm}=sbA,gl}/6c ƲXj X07/a~J;1q) pť=Z>`gItw֝H nҵylZ[].M$a.P2hfɭ?vUh*Poo`wGg Uqͽ< ҳy]5RI,=p8 K) ](HژjK-_D?"nS "PD30s3|%/Mbƒ$P[@2 jZ+Lh)4a&y̡ qAkň8L @tR ' &D\j %D75bjׇvdnBkOjL`694":5cX4#}BrB[()YG76!<߇LjJg'Bj,"H#` p{8|Lj]5HJ DVNjZYfX:51\c3Rv~47;A2&!tԴd:YTHhw[@U[TdMCd;JLwHOV&8%!$HFL$D,KW/j#ダjVOm!i|݊ܣ9P9TvaaKFƖ,>V|dl߬&{n\;jP|5Vןw/x#77Ɛcm`':ʵpwBup֜QoO)IQ:7Q}yFN5o,!ymj2]&ӌf|gkZ5TJ?< %@5{~fl1ほ b4Aokom41I 'bQv#n}WB5$DWߠ uXŮON*1{ey3XGdҁ^ 5$;:0644v)rcbdh\qQ ,N֛φˀlY[gqK%@BY7hY-ur˻p Fos>L} ﯉Οi' ^0. &) L+*nE]y (Q 0e6JYRCb]E%X.umsyL&0Z] Vm0,dzcpn 1SZ,rY Y eϕ&:UcK7ˬW-Y68ekhju r}` ne` Hcv]K5 0v״7{f̄I3c&>=u| L'6g>\{|X|i5a|||χ-[#>6'_ iڌ5Jϭ5 X12][Yl5њ|ncbfcf10Y96p،{3gYk&LHA1Ga̮6]CsqC:R]/,yC+D@(;Βk.T!3ӧoaAxrQ8~:y>rw{4͛Yr F& P޾kٍ}ݹ[ptL7j@ӗ{Ux$< sӊ1?n9ꑎ˒Wc[pJ#N_oQWyuNUzv%' cښ4Afnq4^OE`:@=Rp{! ނ03HČq‘x7Z"U`u755y6{kpͶ, 1NlE3MC:&w6`߹ n9@}<нo[5A|Xm=I F&x< h_\&~Qy.h m=-<):K0Y1d 4ԈГLm?.4 ZM 2A˕+6jϡyUkKQ7psoSLjnCŭ$/+(K^TG a;",z5b2h`>I|䀏-UGM0 1ӧ7(EafL4}ϯc4]~ZCu Ed\'f WΌB亏R(Of#@MFpo.Ms1]fLri yiΜ H\9T9(7B#TS[IaYrRN܃@p=Hw)֬~GoQ(ʏz< ]C74b-B"cvȹ\81%)4v!- I !T)3EQ;a >\4}jN\yB!'$␽[C~wӄd8`B<82b&jis#B͠Sv%i+g\Z#R#̞ZX_ސXe߀c[}Y#]8H@pr㻱Nۍ<9훰aW NWu]J*Ucm~6ަkivM\ ">ӝ#kZx054j ֫WAG t7@ΪpVmp|Tlb樝 g@]Ib~4x ?xz;;@ %חã#)xHƾ1BI͈S\ulOM[;r–XXt /tsM | o7à 9? M01_}5s8bύ0ޅe@̱YR#rM24TɳBK/Vx)85wQ\@MC^&ak['[կMuot IH;^WcAvYY|&XQ0Qܽ#=MGjG;]i>U[J]tiK76ʍ-pvۥ=VsԿA*HksvZ6 4Iłw}1 ?߫ g?.tE;S(8plnk iǕ*T6mL'̒&M[lLr2Z405h`qodXH5&߳0),/u(7keX#7 }` Xnm@r咂0ΡZWW̩8t\yߜmsuoȇz._!) Oca  ?2 ~.Օu};sgWn tvA%Ue8q<#wq9HVd0Oމ3*o'wR0}6`ʪdÛ>x? w`l_ށKp+ߍgx#3(3Vg/Ϟ|vF{0lUm7^]ڡN(pY umkAϾͨ+E(i:{(Q11u@@8 f & 8@K8j o$ ۜ̈́<6B[C]~@mŪn8 VBWpYy0Yj][c.aY4$sKJ&֨jݣ'['4AK^v[ks^X]-YGʯaԛ_g>Ԗ@4& LZX`Q.$F'"V#g #+IYa ֒zgSؓ=MͥV.CI|D tSS1)~HJD. iS23\+h1C!:Mcwj3wg!W~gɽ4;:#ҶOˍQX__Hߓ >#Vݦ)NދmgcX+v3zp2#~(îp ^9Vn?ۈ\lK[nDp?v]!F'؎TNtPhlf# L[jq",Xطr2.˪Nl5PҠ+mRR' ] |St ]4k5S0/,^o8L^LEKCV_d# @s-ĺf}}2 yRШFѠ_CêeG\A&r-ۣ݉w:9"-y&P??.:=8_[K7@K `a-xnCO/ǢݺډnF,Xb7cJCo<Psg'ݭDQe@S{./5Z{.(~C͇m򷳷j: =#pTlSw]*kCҶۚdC˸^rUA.E)]MCOٿy/䅽nߴH9p 1:彷{Y 5BeE&ʭ&R4Mp8n g3)8S>p;dOܚ2|kTK9R&l2>e$m?rEc|6LP&dv>^akֈX3v.|F<`>HkXYCfY#;/,@}0?q=^[:q h(pC"e>39ll?Ǯ3p:QtK0D/z;0QoSE k߭Eu'TcuDe7ZԗlS7 ~G7qnt5(PXS粘2f35%! هb~ߢ!ۄg <00(/Z'7c+o}e)vddbVX^݁ԈDתH/FU =<4.'@ `yiX걾m?80DD\N~ MS_y&t$A{O?0x/aFvj9qNhoooӠwX9yN2ٸmps؎dm\a]+LNI(ϭO֮)3]ePva& `Y8c y܀Ld02Mo;n44|(3>lǐAuX),2,߮ɲxMrEb)ﮝ69L5~^@Y/(IF6ͯ/5gb2עDkMsLkA1B.4gL`GuebeYl_BSrj^^D 5\y5gOY6#d͌Gsx}h7Vڜ{3fC8xf,3cfYM&<μ6{gY;1|3ͲVqc2\&I.Ox5ۓj~i܊z])ggW>ԧV/ł߯|KC;)'2~ <!w f>k# ɧkU ҃,泘.j?3s7K/ĽI3x!%/zQv茶{-I& Ss0;d+fl4,<(=rnjr<*yaNN̈ݎ9;0'j+oAxG@8 Oʻ큳s-"ܬC$u9kૻ_bL]MNHRVY%q q{l=!S]#M'`O3u7]bsl* c1 H屽1(0Q2sg[Ɏ3/۷[u|Z+J)UA͝ LUQ gtI\HxRdkuv2J]*0SehFk/=W*w7A[1抃(j_p%}oMj%7^܆Ĉe^KX V/D5~ qY$) Q+>ԌrYˈɌ"M3aI}{;\iC5 [X?]8n2`VH`J3y-jH!FkG4݌&Arf̱I [Q \(*7R3Jk^5`n@@a0MF,XX tǭwšZcN&gHϏI@)3> 9jwh@3ӼzqbU'W&b.H`W126/05g?*綜S)p"*[:Z'tB]T!13މH kCqN7#w Ϛt!N'/1ރ717Wo:YBNj]ڈήV_>.ѫze?ju_e[u Ͷb]G-O\߮Y{~B;:=.ʹЭ2U I-SeF5I7042ˢg<ʓI Eʠd\7fCԔbYX<,36p52r"1& c&@[&ktր(^$y"=HFvTKb(Ib=v[յ_ >;75$zRy\9\Wp/o5R,ťr"z +G`PQ#!HpFm/]ˡsR`Cs"Ff$lxȳYXAUJ H^jBy^f{X(0VoPN%s^ !bFjfЪuX-]зVRX}5VX*-Wrr0A&!KNpi`S&`j9nԁfn(Hʔ2oP0cFNݞѠi2MeS8VC$FE*r4sv2usu$Eoq\\ i{~ 7 m_4vp᭚2lî+ǰ dۊO`G)U8(Bl; =7G^N{|o_&uMN}7oZH@j939Ί}cWK}+"X`>c"߯mD_TFgm$cV1*_g>iAPLl6 {AlWln`m ϳY6H6 6h6nӪrk`bXN6sY+yדּ;ٹryY#`l`)˳f|'Zy|9|n\ƒmU_vii@Rny<~o0+g"~A8{'P 薁M+'Y{f>x{n <.`Z\~VくbwϭOEŜØ OdԐ-wQ. 3]b[ļ]y%cfhw +J.ÔipLYg1vLwWx7S A9ՊX<,OHf.罇?>Lr~D}"5$+n[iBL}ln)XQ ]/8[^mmep"mB- 8ac[A簝 H$)Pp]PS2teHhӼ|N5v\X'F[L˥>sKak:QIxtN!X57 }WT#\uDZ EMnĹHCU}o XctY$6;=&ZP4T6\*PU fOń0.~S+1bsBT LWB0ˤO.ͣ3rcΨ |r5AKj&ёXxg"*O53v0M{F#N`K^Főt,u Z`k9 kZ~pry#B0kރ[>FfTkn/ Cyqb^7qe l>RN@kfe^פvHJy0M 4f6AAўl*4S ;D`;C)Cy/j%rD\M?=HؑYjH\p)RWj5xx55iɻ`.㊗'MF%LHSM0@o8VCprvCE21^?%QTy{kJICv=s/N#ڂA۟ (u|gakZ,I+/N`But4G{'hո9XtA}BW]y 4J}7)'}$'ny@0u37L N,͜1 ro+O^KiD&[]|5 nM |{OW=XFcGk X}6z[ipb_kM^W4ktfLi~| @^j9&EvQLmmF^Ę=⊺]54y,ұ xW4b08 Њ_T9!%2Pg'FV\c-5\&mm-<w8|8l1W.vw9Սnj/ l$ifl>(k(<.cZW~\1Xc<`ϲف:I&Mrl4<!2|fx>ifkn|..yk^+>6C8שMM}*Tkޫ:y '.\u'NeFA zǾյ{0(| 7SS_ǯf~zcފ ^z/?~P@w_6@<og3`A<雃~-\ S~ ]#0Ϭ~[!~}YNޅ{^ %#@=?nfoϽSpg* 6 3|3 l#bO۳+"L S> {؃6(9?0Fr0! ҆^;Ĝ;M/F_o򚙒 ZS );Xll>)P8`9,0vhV& Kau0shw: + +oR1+~ ¥\oLMO']BDX# ̟͟4J=:<=vo*5,5 ZFؤqaַ._*D㍽"ށ.3h 4Eɩp񓍈 +aq ڼ4Hiq))\{fqhe< _3A4F&A}Ic\ \Rm)E:"3DF35\7>| b AKFjͥ|UK،ZH54\~X S{̀X EdĤc] ^0Ÿ@#Vܘ2q- >}~ œ?pM(J9 aHJR@`[?d9"{Q RC7% qg Е L~lA3M355QOeZ~) Z{)"#8i3 #KEvNQ  ST+U#E3pSRZK 5B_؇I[KG#[Xz[$'8pjo `/N'7* 2Nl-/oL+k Hk"{NGch0]8D tmp,_}/ 9U_2f3 6h>cLhpeܯuJ\pVt#wP w"/>ǝq Fo4?~"Om05m3\wЄsT\#VN<֬wX?Հ m€ZO?[۷ࡱqM]}ܮAx̥F1ӏ.v&,-.3~&Cr<ʘ6yOr*al,f>M9[gcr"1 4pcook]Rm Ͳ p߀d~E)LIhlJ=+uonv/<ǀk+ Y,aJ/|N6fˤL%)~-=C\;dS^)./^Z_?~ȴ%xtJ<4} |nnsyG0'n;f;AJߍR੨mW4L_ 7a{QxU?$]h)ߣ 5\/V/݋ho<:f. p/]0^:MЬB;SD-wA#L3 4`u^U3h>Hܶ|҃~fjJQ}mE\-R?02/݌kg"#aqIJ VI%, Ʈºuo >c@]`-Io0Ih^>"?y1Q јi.ITpO1k=DPbx-{ ui ak1JY:Gs N0Mr'R%)tԁ4ץ #C`55L 0`Z'@XS[K@z#k? ;;١a&\ӬͬC2} hoZWLF$e,}J3jvTjR9gBSd8sBy9G%#YD?ⲣԜ9l@,?Gf "^}̭)-@ziwѬ5\+,g Xs, AҐT89D .@M,S1l=wWO`klq+ ~\+OvSgWQj.4a0!E$'ze>ߣS.I]DM[+ܼk;M5?qB0%&V}<7?C;nQ,#<`Zᡶ^DMcb7:_Dmt ,|ΰC}h xg+2& /S<1q[QM4w@;\›=>jglB▀6rbᡱQ] A@jL |~~[^ TAV 287b\3KNQkzRZW*1/cN߈ Z{ߌ[%[ψC._-grb)*sv|gZoj XGK&N&w?w/.uRl֕kQ[W+ϣMhkmV7! ꟈWDXVg 'ɰ|,/<<꓆2Q;"maHi2w ըpݱޔ/)RxDϠ2iL,(sʘ14c&KXS00,J4{cq 1?b^wpuoue?oǬ~^ d l̞ laK~3um48ojfY?ےFG-%u65>4" ? lŗ|,0se8e㋲F<,||k [&6b`k`mG5 +*)V$?? fsax6s?_{GحxD~Y꓉i0/@`x]2^(rM*qﳫE69?;"]Cw3S~ "Du;|[u`.OňiDқ؄9 hg)0Q@wg3Q;dwvo,( y.om,ӴS(4Ln}z[n\D z  `p[MU'RsVR?;Yr*ww8F~5G4t:/kgj{Zp[+5D[qqAशd*.Dݨ`FX}TJlc~uH I BdV(2%rVpY.ۓ$PGm-\#7PKS+ pLmgHp\aF]`M(MBtb |AҽV#pۈF6Kv. JVmnr?iX _Kg7dÀ8DbG (KẰAZLA{${fO(eblLc?+ L=1hԤENӣIC(MZ^09YEUAA'* eTP>+ ~'7i't7RՓV<:iY,ljP{/eUqWh IK^^^_3SʨR:Ri63^X؜ JjN N=' ' '$;[Q` źrL,r)ׅe1(f:Uf_h_+eY]'='..tnV\<,٧ 2 º1 )ؿA9:,_7 (MA9cjb,O9tQ|±n*-|AmV4??+F191EM`҈;1$nýgrr !E9Vv?!:_{U!_;鵸PځU}Ux疀hYk\_1-&S*TTȹP(:%ѮgK8.GTr8/ ^8/apQ,ph {Ah/`3FSfi* a8'`ЁN. >m|>Cb^,J 1ȯF\f$O0^2<쨳Lƫ0mSY]eEf'Ǭ7w6ձ|/8Dᙸ\ڱ?Pe[s@i+X7Q )cy3?#]2. cP'ߓ`Hv'Pͺ7s^r*̺(oLOf\2XO~c2/2XoCYUͺ+VJhY6WIR@˸ @\e<-7|[(e@M2l3>`\tP`T|fl[oool ؁p'X%p3̌QQ+ASiU2tl!P&p&TU*e`r9l>STtU/Ҭ`e#s[VI ʼ9UR0en | IͱTɅ4 \0NrGaFJsCi}l''%ۯ%7T(*e=DpSE^76rU.7 f93SPE˴\[m?'}H S<]. …O/F*Arޘ6um`{ mO ӳԯ\O/NO|etgq!N]]īq%Vd<g]waG<\D@0|o%:3ӊ~y6o߰{~snĥkMSg}< ǃx' ^_2 N 4^GZMV?m MR^璃9@i1[ItA)J` '|=qttd)T z/pJ'\7/?{$&<hg̱Wppkps#sph$(#:5>4@W5GWloaU䠸IȫBIC>j$WzN&˳-Jt^d@rP3_S(zD!dsJO w%?UwBL&j<%Du k؞\Ƨp[D@C[u*L5dDSJKk^YG>QsAQw^J>. `Hcvc܉y'"vpY-k]ŋ3x;JUΫvNwV5±]cmŸ<0^92u߻ SB+/v.̯bkC|8H_,OJ)f;yV}R'NC1,F{ia}كc `9N_]1h[ÒԩFр2jFg/F0>4f oI YG&n&]rI'7Zha:ɴ*R-,0>UaU̪թt}; , uU0>Zӱ_H3Jg>R5X7M 4,}mU 7eɾg[OUAQ5\JVUI@X% 3SETa&/Z'r@;_~{{ d&M :1;Q*]{Y?LϺZ's#`%*aej̠v U4lr{t`vJ|998 pNW.~D2>'1QN Iμ8Ytml!˺1>J00w֛O.D7ᘨԚOn˸W(SÍMquA*' ڮŨo1Uxg^Xpsk 7XG98!613]b{sGz#灇^ A68s%Em/mw~T_Dx.I}'}08%o^|t& Ls҈c ~o,<恧X^ YcL\EUw%P&sV/t|Eg~p+^(2R2y ̍A]X>ЈܺFan4e]Ch3I@;j@͕1˚;\U>wz=ڷ7☬a#^0ΰ.?>\ԏ&tdE\k13nOpn6P0B=yQS*uLfxϧ2NA0ˠ.t&aAkK J,p:o$;̕Cd׷87"p:s^|]]ҋ|Ot;^fjL0 U\~&~&=e2-[2*He|4 +g;ijbH*ݯ 3b>%7ӲnJ=6q/QILuc9͸9&R/1 bdOUe_27պUXFU1KjK 0A#3d$@S{B2LT:b^J})V_0+h{%$G`R]Vg)AՓٙꡚ LòN՚ TX;y3qЙTnm/S} 'ę$Thω}z'9'gPۧ ۪y3c.F.>iُ\zrLòTڬ6 :ǼZ'+7zg\SNZZGUazn+Ge2.p.znh-x{GMznzU1 jyx$Ѯ<PLHM4(Gx>_)CH8e  8_݉ӊd<_h@fd6q!('k |eP%7/axU[97:8vε}pi@hԫ O:Fq<`z O]1m غ1 IE8Ǩ2㙅ofuuOJ^EGXrϰxspiGMN4jcLm ǜ{ L9"~\#׌DJ}IQ95y3c!7-2Ð[0g8G;d0' xAfe نh^ s0b\yWqw'jsPP ;ZAܒ4J^%6w H7@W$,GySa(jr&""OI8W#BbBT UD$ l#,1e]娻Qry RjJQm%Ut!*9~N΋EҐau9ZJq2 -LDTa"W>\] @ǕQ,Smyi@Aζ-3O7 Xht\7g~4& &kέU_-﬎`n+hg?(`[&+q҆١zl,'1{2y XU2ʽ{2_1 Y 16aPN|t |HO,.XU(A-]ܹ}˨[*Ę><819džg0!4Ü> ۻ[8n hLœvxL l_v=*$ _M`}okC i++dtWA2!qgT;T=F% xsWyG;-M?.x#O%Bi3|12/s𮱝=0;fz5Gyvuanlbbz\ 回#\P lL.X0511"dQM Ǿ9qЪ$)`%M}+b5n(g(fKRK 0A#+APw@-L=>*`Jj |>[Q^=I4J)eʵvAN$ASq,c jC ],̗uAR^',6pu]m_'D;dͬ85 \\oͅRiW''NVfYSJ:9O%laYE'('`ua1ʪօ>͇LۡnVmҾ`nܘx;1>mnnn4*KKփF=h]u1ήx8l}H_`bpçdӕ? rk$|)E9i𝟽q3k0_|97C틒j9ꮢ.s!. O7y/]]@t?R_r.!6%YlǺU0f{1?+Chǂ6Z\Luޟf&s`sAc6U6{0ԑk۾є./RV13àgdGJh>~~tWI0E#mfAF7h-}up K%|u{A#Yf:Qlw疄ChwLk/,ƄAz^ܓ1 non3w=2j]Bܘ]A_-b[ c3!azUpxL`.'*d[{0.AǘOC%ޞ liLXl4 d%ج*jL (&%f~g<2/Mʊ+;  ~ e'RLJIk*mfz5=ƹWqIlOͺ d~WoU`oofy*bP/ ƺq>TaX6Q13,N VJT`<ۣ]HW8IT8 abٿ9Nl߱Pe?1]ʱbx3ۦc`7'=flsQI7XOs.൵Uc3:b&Mѱi ەmno 6W-Fi~j܅H;F$ý? MÃnQS ^Hy_Cqn5}poϓXdR_\G;D-$?W;<xY<%/V+C8$6&$1Ob|4oc<6 wb' sHwxw}T˜qC_\D[0m HHSR  |@KmI঺%m ` aykFMh.!21ٱzc!7vcvMw*FM7cciLLkH66K3tڧ4-2Rj V{_V vO/\G'_Ee'L AOxB c*;$>Qp< R2P,.4}VdFBP凶H:VD4զ 2̀mJn;ʑט\ esY\Dg^ň9 0sPhpvydRKǍ+W9oq9ŅN6w{z3!ʾb0mEK(cZ&QJq7mf]O!"K%9'K3PRo#5T!2~ K猴;)-Ա4RW(r\e=(\(vD]2Z,|5?.v8^gcP)q{ ZK(f#P/8+k(@Auc}Hi |(rDmC5Ϩ_ɎFPzKVEI{fVƱhL.7,X|hvlɚڜ:%k %Դ&Y 97Z1W^ UUHԎ,bΟdg^=D9v p4B&,[$\Ǖ+`x*BǓ7e2/oaOFa^dz6C~#C) X|>kvc`z*~zfݻe?+@Clcna3㘜|7Y蠹YILJ&0>J.V -ۨ ң|Gڔ" C*LҳLCJ\|G:siIS>:aפ]U| 9 HW(Q5\ZT8z; ihŲ9*;o a։Ami+X& +f:ξfY3ӨwZB )$a`?ko0`̏MU_S|K`[KSY_Lf:EG OO PEJ8 > iKpK0jG~, 䓓UՙI W=s8uiydy|**!$fī28h|r"qbi;f}) 0ol|_^%jWI8:sz ]U'q~{[nW7*i8q#~WM@UmV 3,}zPd Bi@ 9{[z)qoq%#rzB NKީナ/lݒx4µ~ #x9e"<瓉yC?Bc^xxX?s}g}azkP]Y3O;ⱓx ' ! I<^lx߆e눬'w2Wv_3oۿ`]~|&ަiޤ`XU136ՠg:!Wg1?Q~lj#\ݜ<-M_rMuDQh0=6a5qX5Nb^5ڑo'̴P)255h$zeFM)p8_3/'˞B^~Pw5 AaH$ $v5N(7+8PlgzQ+#Yp2+QQ'd%!& ׋[oD{Ǻ Q暥x6 `s~~p ws"C`l{s3cp8~( $G8i"PZ¼$+T҇9!r]#ݭRQm1Q@O،{okjTΧavƀ`):#/o[DEʾ^buM7@:0=8r CDJcf|ò*SI.1I:101 5X_@e>;e} XJm._Jv ^U}1eVi ]Jk5Jq*%f9c^GJЫ pY&-!4,%lNCHi>L LɎR`\̇B,CEʑ``U&|ur0J}7s=Q2TAխ+8SR|vuQJgN9,\d2 XJ^$nZ ۦ` Pg"ÝyԎ2j><9YeTgCeL)lSߐsƃvG$(簹elO`dX=!8#q.$g ,|7g,mǥ>x2s!x) _y_qcD<?#}+;Α8Y)x æ qF♳xT|gqJ> N;!z"tp^}3Cu߾x qvxROn#|ߎ_>@<-z%?(ƃ6ar0 >'z_~# g6>ُA?9qDJ];6~j~^iC;y C7Mry$l\{[Ǝs͍^uw {Թ AtzP2?~WߕX4̟ϥGB4|rmT1֕el{wo z 1G QZ|qEhJqI5n^+7*ПܽýEC2۬>c|{jo6j0`VX;akj׳ߕkԸr 5cQRltaE:\EoC˹PsWb cQS2Y_#yl4j@Z͸HHHC펑>C |`2!fܨ*\紓1.-X"63},J:YJ$\K372 @[.:k% M36t5t=Յ)cJý[|*!AP=#q#XsgL:jf3Mh|`֖KHg,[1k&:n,'r&#Unc~$֞v.-BwlZ1:26ḙJƩ#aw\e30oǬb&(_7^'ȼ)Gow|M$_;QIx_}G }#6B\~g61%_KbFvY@Œ+-{uSU#٦7&g0K.9DŽ~$^6&e2wnI_lcqzuפ1 ό C8pN3^<#H&ʴcV9 m`t }pq})%] OK:WЬ+[G`\̼WFCaa|M~ `X.Ĵf>L2O,CǺ0 @ ؂XEmc<{%þa|ú Yhe?|uX *qVfB Oݙ23J z^&IĴ*0ӳ A?3AV'K;`\HSrH)EfFsB~j˴,ys8CQ|Sp, w;!U΂NRr6XmgCQ'$ցU),VnJui|t2.0(ܲ|bb'ۢZpd{^%(9U:.\XcU6+pe{Xwrqcqq*a;vnb\K6fU6tzHp89޴!zzɃ1Uo}Qo߁wT]ex_}y;Ϟm^ |ԱPGC{nk°Ϻ%Qt oR0nήŃm3p*<+^n|RG=bmx!`*K #"nm VMزS;'@[_:ٱ H/2ߑ vdz2ՄhI"2TG.B h f`zԷ! 2&Sպ%U1sD@9G8bx]_`w1$+n{}*F8ڈ%+`4 Mqh5QwWɳ ZJ"P⎁ I]fz2+͕1h@sY:"Y)Y@psy$UJ (J5jA8]\rz;lzl]w"4 ~tydD$ Epu1OzՐ%U(7ޛ%-n9 )(i-17]@䥀 #hw\t2r"qCi8!R"U6Zz 8366yf|hW8CJF*2PRD+AFkkPWAmKyhf<<Td¨// 8KpCba<*:P( @*T}ϕ>otUؘl}^ 2z9KR\|%)H)IBtV8Jbnukf A8mY{W'g^=bX3=Rc漬^XLw}i8xsگaCWC$ $x37gqtxmWq/㾥o<$/xY>kc>QXv`T-Le<#Sx@ | pUɲv&DjH@ &ءߥ 3A)3a_ NEFG2oY~S.$=E,*eJ|iC̸ l@Ы zUGx_9IT}f^Zjrg[^1O7#VWU~9c=MUUUX%OU8ج+UΉKe`]XoDaj8v<}/;>wA1pR2]U/X>C9|A9]J6q)E9_ |>֟Qn4 K1R%2 9DUJ,u ZEk <Ꮷ.xP 6x]O8fRq|Ot~녗\3G__~ _ ƻ)m]FlKwOdtG!\jB[F2$FKS{('w ^Z[6Wn0:f|S"LJ%zőepq,Na/Q '7iyD{p!Q|#L ' ,j/nZ ^2vWR!c>c/2nn ^QES&'4vrirx}:3\ ,BH_w-̀`f, nM[bOp1Z"Ra/ќjJ^`^Dvf&a^f#0ҞT$RV4mo@ jS* (@{y*.KDSABy/n\K\RwcIm[*( n. DGU8\BEU Ya 87&zy(IGJA@RrrO~nlQy%O{wyeytO٩.Wp,sˮrv;rBP $@ (" $@9 99{{v{?W>^zv{s)ݪ %ZbV:-{ }A @^Uczi, 4wm czQ}yˈPP<-Z8 DA!)=sJ_ǯ ٚzVeG)µ]6~}MާrśbV-wW^g1~o?kԫ} U4x` m\iuz)3?CUw+grK13T>lڂ oآծbW(1# w*WͮMw)p 2wjK~Z:tgΞW.If!u ԐNI]|ƒ`ԟQy b1w@^ ƕ҉1G-Mu%kڝk}u>͝u#zl&w򝵎728~3x2h$J&m5*_SZJlX9pYrij=< Sځ&eb' g=qoqɇzԟwElcM ^"<=0p|ͮ jyvn_Jwc\Z; u鼎]ޱaq k|mOߘBRSܧo8w yи[OOsy>;'̵eodぉsHФ96S;yKֹۡ!7n\P–\0T^p݀ק>sus "hD٪Ӵ0n.x^X VP;9 HΟ?]wv{{HBk[SS?u)r6aS[;tAس5}8_M:o!恩BCi@ԞM0d V&x)e0*y'$ IiIw6O1M2u0cܴ5 XM|}n`⛐xkZw>!ΰ&3g5a`$&6`K2/4MˏЧ)GYS{I.P i0v4 ">[Tx%FAk&H\4@͠0L6im\`"{@&}&/S6lT);ag'W`:ote{` 1K|#lIYk8v$. ԓw|'b6Mev1H .Т.v|c}Mz7o dv34}ޓ?iX<ɇY47CIVfzwW0=u-tLΨ[ԼE'|UY25_O,Nଙ0]>WF6*KOG>7v떿_~bܦW;u/gf;P;2VfnѪ{YB}q}+HC~r0ʜP9at닋uAc]EnZ3*  ?>_]*qXoͫ7i?сպnv⹅g薀8XuG4+DKSuo>Oԭktov-mShAŖh0N]9G (ϟSב;d\Cr@A }G 6+<80HvXs-τ -']\7~)M;fzk:r\$Zv:\o50n0AsgƼ QjF#?6Aੱjvx̝dO3;Te6mM^ꙑwym~Uu%!qS%IطiڽAcU4ڋ(Pg4竲 I {֫a^\n\^GjԱwݨm̍TkZ:\zxW ns൩$ɁrSU\c^ܹ/G{ SP*E\(ĩlG(Q+*-Ev$]5YjػSuwik^K^Ei/ǯҚ *۳S*i,X p|#$z=mo[d\o5y4!Pbkcխ7djY|W_M![\ʛK O_H]CWnč1|:zIUʹZ:G+< \ê N Q5.W= \֪ڜ#MߖJΎWd}C*wh_Jˊֲ.|G_((~ m,v7Z.X ;bvҲTRM@8`08,v+ܕػSKuV; Q*߳}j?X3>ݯ .дOǾ;|[|𮒾}}}˄V m0lcGtT#={=K{3׭Q#'ET`14S4'/{Eӈ1uf%:4|3ٚH:2ͤK~Igk*lY7؀If4V;,Ц;΃ס?jxԐyN/j?uIEѺ/r~Y$)ti`\c~ĕҶ? դ%;=z1!O&Ѓ+TѧӮo )/EM87~!MM g`񎍌Gps` %_;^廋}] Ih;Ӗh*UBMގտUx;_kgm6ݻxR79͝ixuϸCp>>ːR3>D_L;1A 4R`݀xݤԟeIǓp 8 B4ϓz2&I'3l:XNMkNKNAti@n'Wvzl'Rv36)QFP.ȟvŇ-⽝ASS<&-PҁД3wRM7+.=Loܑ{uNk\ws ib͋#euv߱?wƁ4s+3s>?`xCگ ?H1F;c{Ծok 3!Đ͌_u5IYxeweE0l7g}c_eG`d$?8Ԭ/aabÓok`i@I)hھM =Y\:PW\Ɠ 0'9M9mWN:WKԟ.薹+uAw'e:+pM:tvxB@YٵZ^Ц>I'WgȐ'"k+:9Nߜu?ؐ?o/3ݞ <}¡7.:(5P߸*Z; tG5g{vӜ=??M7+u$,W/RԪE*_#WT*6~V/S|j%9 <7*m[6*iS50Ш#utN8 wv-:pE?.N& }>߇f1W3'_u=,u4dMշ젎uʤ&5e cc= @H`$~Gh`e/$-t3FԀ+ݫ[MlyRG{e%X`o '<z.֦AǼ^6 g/?EqaO׭QY#ܹ_OUG4|fZ ħK[ޮ5N"WoS۱rΟ<+g+:563tqGpR__>֩ oVlWOޑ$vD\t9|/|%&:o2 ϓ'yݴH ¿5Aiҁ'-|^);oumi+e1 %W #0+ȗ6-<<8İ ghu( HOKtA0KL0hW&=i2ti 3œ8e{pb -~C׌RpM;rVM&AX6iS Cwe~GD7ԙN6Eך أv7?[=|ئx[ZJ hizEȳsW=g>[u|nS//W=>K?@-o7Vz/n+6gXgu-0E$^'x]@Ji߯WtOV=S/HKR_{òۨ-z-slT@^=[>_=n~+X=x=@kav-Z:`w%qcF7>8n zUq9b촏qcLL}l1{&K1@ #fdiz4tߡ^|1KM _@@0 0I/" C }_ ]]_^o_x?Gd4|F]OPu({o`cM U[6π7V5~JǺw(USz=`|WdqFC> lj<0u;ʼs4i_UxR:90TA:>H#jxwn*r7EU*L@5dsvhT]ނTXNWΊ5:s[qjf]1yum\՜8mQG&kgvfxp ]LmV^ -\?矼-'c7mks'7_;]6O-m )nCUTNݖ%,G/V @QVtV.Qt okɲUTM%;T\Zš3>w5)_r{H Bf+*-LqYy!Y]MJIg/PV^kYoX2͚.@+Cƴd'J %W-Z0E-‏J7 /KŅ[!Q+"O SHBWuڣ¦"5+fC]TjTwgy 'ppd^>F _7{UE~PfnHg-zqbk_7s&7gTZýt1Zƚ O%2$A*(XZǺ>Ǟ~>-8n ${3OwyO:x5hpY;@a|m 6k @ 6Um ˤ|;ζ[{oa?m/߯EezaHບZw~;(.ϟJg.ICsukx~"MfꃵUJuy ڬc8EK)EשEz$zh5W婋<}ɭ3=>1}'@ []rV;<97r54>c75~N_>_oD֗>ՏT׾P7VLqڼ݃oY5]Z{sZ=:AB=+3vրHZHkLb|t)'=?=awH]w\2hG3'fn'<(y/V*姜I} Q&k+ڛg5 LkSi^2WУ=2&: IЙ1) BIdiIDAT.ZHXC2!| A`}TJh g.9Р,b F1e;ā.m:Nm( ߬~F@>4 K\;9LpJ$5L::0C\!u1ѾIMD37ڍrAT((#86mڀ!P61I@ Mڏ:VM(;60w.Shhi&IaMiچlĦ&e9Y̨ccS?yBK&OOk`hڔj^VCẘӯWn3B6Y<{gtHѕ7!z+Xwܬ`N}[u(r7ktï-ʬJF B79?'܆|]OԧzyA^[]ܾGA;嘭z88Unɻt(EݠG+zz̩]ZBnݭ]7Ko t|V~]^(;j_>]W*$A/egfǿ-}DIZeIϩąFGp1y130e޲(=:vbX;g>SS9iv80戾4$I3LhRƑߌ\CU'Qvd{PA"Fp?1 n/EԠ/3a࡞,g#~z>ٓ0w1]0Ri,AO kjxGzrc %C]en/+ר5[c.Tk. ;fGub[>԰́-T΀jdCv8fWцju`ɁRܱ[g>ڴ?ہj٪,+T+thf/FJgf-ݦ]5j.N,C.fxݦܐ}hu8Ժ݁JˈV bt6oVDz9߫#/ Ta^~[JÊΈ5ى^檴pmq@ĻBݽKkSTw4-QXF1fwiboݜk>EikV+9cR7*<%D!I'jf'(!;I.l,U6+\J\qAZP{Ů0Rj2wgɁ<巕(./Ez}-Pa (scWj.E 5I1kÕ]X 罣0s7%hwτxlJPJyݑPNf%lЎLt54_݇4ҷ>{{#uXjGݎ nZvzհYjEىW}9'273fـ3"Ou3gܲ^:~h{l-mITaS&>IojeIqb vz^/h ;t/btxgw@y؁- }`:x8__6)W\t|CFS!c:}wd5c0HxNGW6I1㟴&(a!üiL3^7Ƹ7ioahx^Ӯ0)x}Cs\fa:' FgEyML&Ge`0XL(`[y 7ͤAǀ4>55hOyx&&}KS/` rDD\(!s h`S@0iΤzX0_@ FA Tmf!-(|!d4p'3O:=4AbK҈ N!40u66l'6P/f C l1E&ߤ<<*MIY";Ҁ) Mz`tA$|#i7()7i >|/X]Vcl%/37H|ڛPRvA|NP/:iΥ wv)%m>a0l{[EI׬-Z_ChQ|gq,,իD;ZtWd~Zs5)lnxw) ,CRfUe ]WRǺt9i NP@l"֕k \[}.-lQD]BZuDOXǯӫiEATQZf*ePQZ:gscu{f=n5 *`Ov+yXkQj>I/ qmӝOnyM7e=8Xn_4~OMjcNρ^zt:lp*3?1[}w:deXwF:˿%>Ɂnv}׫rj}4=~`/<:_ަ+Nk5YI{v G6/ɫ780}h1.VHwK3QEvZ!.59sFֵU 7jLmw4qTX ,nKܭl+ިu!/fT$Z+N2T\KӴs\Twc]BcZF[b1G9TZʚouyT5gb#.X1 T]Eߠ@]Ehvn=T7{g'gŒvF{I9B.k ܩs9ʡ勓?LqEk #w 0y:_߽;6-k܍ n a tsx圾+3"ebgb_+ se3uL7F}fе;f;$&y%d`-,@o; 4Wv8mRcStm|#)f{|[߶ۑaqcF98+b*jlh^> WdQEw *r_]]?~N'.|-uuw@Խq9#$Ss6hӾnO:sg}^L S0.H'ݷs]K$I. grIjiv}sY$RoRBiS"Sr4-ɪ݇4nYRbn8?S 9P;usI(Oi861jq7nfO3:w>񨁡,lLpY]:{EgOsi.s~<g1myϘ2jD+Cƭ zLgg42@3f;{BM\☐@(OSY6p~5f1Iig,A>ħ^ǚ`pu K=p7k[4?e$OI}& e2nv@:u7}e LG  ۑ<#T HB K$+  "E ?q ZH@F }tѫ|Px N:w 0I$2k $=C;ݡHc* &"N̅J\S%?Ci$toA~ԋiwv2DZ<| Pڀr[>VFIC[P7v&&E|h;0P@#=y3I-@@/i˄#.u eu'J&oڃohPfڗФ>` ډG:SFfhF;tV;08}T#^Wӂ4<]Az' M&eku;WЮ>oWPz9PS)8X_fki}^^G Xt]Ӈɹ)دE<)GIZ]#ꑗo|A<1_>D^܁u M+Պ]Asb4JA[kz-٧&=7R7c+GHI+Ty@  >OW)pO›PsDnՍ32ݻѯ=vBGiBoQlӸ'6wV~~_WV5??cg'?֧&uV!19cWgLԂ'Ƣ1ign3_,nF*0#MM6S61Ƈ1Q>$Ǽxjjۿ[>ڜUc=cmcxzt__u~Q di۳2ug@0dܮ|}aB]9a]9;}}߻:pCgx y>DΌ5y̽_\5USjQuk3\B/>9hG^_xy˷cfv@;]gGhcY4w-;w ̣=PwnU5y>:~…*MqVra{4I/JWGM׹8^$Xsߤ!]j*U[cq\_USTYӫW~d.nNPPo]y9!i3Wy»*7oG׸mSKC(wbwRDzL_,PD)vc7<9^6@՞2(zn$UoU(-]5GaiJMT!l}rwz+elr]Xho:|*/WVzUUD ֫>_;*TzȝJ.H,pXU0Pq-w ^cTZYeۼ1ڦ29|ϻh%kup1qe&d.Muapqu@__ӹ.uX{ Z¿2aw9M>F0C6jH#n~|s錾w^̺ƾĚ^;ǬYWa3LzҰ.Ү2i5^}4@?O^Ic_CVoWKlf6A"` %g%Hйt򌻞I/9@opH&9<ҟ=mEz6bӺQյk^|ѕoIkwrXOD賝 po71R64O:GOjBzll螈e`\իB> S/[&7/~Ћ$=ǒ\G#v_X'<8H5O_H;QlzqkOPzjn]nxdzu~r=lzݥ!%եzezH2fQ^=sD`Z~%5Onk@H^cs*QЪJ[tsFGdV֏fj ݬ6xI]}J?/_O|GO.JӋzVA*4r`vy7 -?d,p`bc;6&O6<;@ŘqoLqԹFˌ.oV[ki6h>4xz"̳(;Ù^ |>ό#&aбbى:1ڡuEI7+22#%.+IMijYUkctЕLpY2S igF-VʀiWdž\֮O>A6$*!mxXs^`-YȌ0ׄ)!=RIiJL WXb- 9Jsc⾇kujBVzcTj*%:`0)yi|\UW{D< Xd+1?M.nhR7F{)JN[+ cq :clOPZv⌏Hȣv6IY13~wB1J3]RAk7&(}P,lq ~M"r<NKVZ^6ڝޥRd2&6y55)\ޗyҏ2 E.ȅZSEZԴWpmݹV 21'Q[cT[jT=E9\z{c:y͛6M;z[kes=w~򄛯'=e^: 4ّuV tC3*\Mr+>ҴEm۽ :}nFc TYXXؓaIP4fx웶Ok탬4 FEz(g5fv;xH1kI~Lg$ܴ Uf&cǽOYޝ89u0.N6'x75!?f4Ύ#:w+}*Y~^۷SQ7[oj;,Yug@^ߪ9ܾ'q>1!t}=n?t`}i7Ni:e?U5Muazk]j=<7E~/T=qe|gxOó|&=V8Eɺk:ݱ 's5v\; c Oа?JQS}nLtewgtRC3tJ#g,,@su9:s_+Rk[B18ZRA%cL;҄|?q P34k+Za\A/&iW@| .﯎ ? N(' ҘP^>l{S'IM;ߡge5(La9p<9 /ރAHkkW#)y߮7 v -p4h7'>0v2-fj@Fj4{\Kac~oK%oSn-\0 x6xɃ`Iw/L= m'y`؊Wc:R"?"n';ti)iwKkRl;!N<$<-o*dbCo .c]lVҒb'S)3MEa I ? 2&tWOPL$ķ|^8 llܶ8yچ`[dgwfo[5oq;_5߅ߐ9}M=?5wA|lu+KuX;>^_~k> Izāߧҝz!X?~,Jon=ӹu?,zKtX=Bm(н u={C=_n+Po:um/Buӻt3o*(%C=9wTC#lb1l{+'WՕU ڡvNpfqf5C ~)/`{lU@O:/ܷݻ^2;{{ H>/ ̽]I0~hϸATTX[4xoDs܁⠵3!dJf),#T:#qB7EiU I V`Br(,!@ \>Y/k7&߱QO `pȻ^0>~nXjА G!u^-¶G|R%o}S/.{Ѻ0xyhrE(15yG?24v]pm:>?6uj?7e?u^GH(Ȱh>垝:{P=q_gg|P9Mbxx5 jxAƷ`?IKh&ixV|7ɪI>7>C|. Sgt.e&:ԓo+3i Z١EwzH ym0Owm;dRtK+u_{kCy%P7z^}{yen|a~ynK.|ttۣstóuto_׾X~GyH7.I 9zxMPVYى+_ѺsI"7Uj=]Uz`{nZNf'D7s =Qٺuan[w7yZQ G1i47$Hkf3 L*aL! vLJw0kr:执bhA q4`ʅA)ؿCu6p 3O]M9ㇷKS=C .L6c #J+ Ԑd X&Päi>aq31_3%pgG\9”5`cVػ{).Y2ռ;ՃX\`=Mw|LJicUS1ߛݽV5޵fz˷H~:sd/xѫ3*Ėe&oj=V}a (~\Hp Pn;@Lh< -z1>~Si[Gud޹=3 33N'b;ǔYd+W`$[9dbffY@O߾Cwuo?u֡:u޷ΩճknHgK5^;m@PQ}m _<4L 1B+pP0{'}};%]m7S_LGGf*L ~ iA0aqY#ڏz8ȔXĺ!2ن(W8Zؼ!"Q\ʈ^ӂ̺aq>f.CTZ Sj  E8\7H ?ȓ:Sk8t /$!bV{+B"&nClF8c{]La.6pH>X)o/+iTF]5 9_h,ύW6wڐ+`Ql9iGk@Stiԁ]- 47?D0΍yў%m13L]W L\co|ًy·0(& w åo1bwocPqAElG[l-]EUmBn_"_H$⭅or`=uMuQPz~Ǿ.lYXլq޳kŸ+ L BZ3; dު;@yޟi{2($<~79wy㖿lV,TSKuA-bJUA͜Uf<>;ϳ<R[^# zex7*̭<_-!X_^=f\5 Ī ~:ҼKnJX3>x͇p҄Q=VՖAM Yͮ[R)L4NyRe~ *L<4ss b2a=Ӫgo>?K03/E_(j~& ϗKβY <Ɠ9FVG}i"K{cj16L@aRh95PS:?\$RGƆnA@ ^Cu4, >A01 fbw4"ah_#4 4iގqqX| ]Ԡ^ o,ڇniXm;WŠ v`ȼƔxF?,91g R9.C: zc ']0r#s2Kosޘ6R1#4ۏclY,89Kcʢ-P|b{*ĝ씋pŽaBIL8x #`yGo`N9 <9ʈwn,I8q&2K4T3Kp#oR)c䒪Iy2MEǻ)(j u3(h}, +H ΅(R%~-bLl=6s>KF@66b r[p JK)\0LFdJQmR(=as9#,n \E˾iB՗"| G֥(<gj4J q !([3D@۾)Ƽ2p`ks7PJ΁GÍ@M3AS|x|lv{ZJtZ0b]提$I:'[425i&Ocό4 v&s>Qgb)z% Í-"`뎰T$o!^_F Xz~Ȑ.z^r⡺ ϣr((a3%q]}ӏ+:QVQ?GwEwQ1zw89aKLhb `7ޘW^m[kOߡFna{O;.6֣Φ:Q-Vtt 9I03$ȹrnoV7xsc[xCsJ4LH=%D9I.i,}?o.]W{,}WT7?EW _Jd+)g Z#݂1w>rc00h^Lvͻh|-* 5Uf.dXQ_S&Ady#NӾ` j_[X|5O2**U$ϱP[*8߫/٧VbDZa4ZQ2 drY:`[fʌ~@Sf w̗+Qy𚂳Z2*j欢 1(Gi FYy9TVyʮ&h"LTU?P <|05ofмL: z/Ucy Noɠ-]5uUG xNͰy0.3?Ue\}FXY4h1+P? hH*|j|i5<_VnX}Y+2VB|XRռ4-)PeG[~\`<ދ&>+_t6.'0?>+ 5?J:bgS=X5GIG21֏ mWsS,JaNX cK*fb{2qG1ɖ|0y7~5b9eF.R$ ^_,߇c %?$ރs7aOF}l? _!S [8% ak0~坼V{yS?Ũ%U`z;[1d>Dxۖ7wGan)HOhQ9vqӓΙwo:|"31&4d`Ķ` ^_F͝Xv #11,a4 O[ WU!O}Ҳ dFw?eFMN\0fw2nu#*]=융ssݕC(:lTЊGgJl("{ݬL X(5AM-`u DGM+ռ\kۘYvKG(W5eJy|ߚ‹f0+K1_ٖ[.`'`yiơM4Jh$@H%`Ź( LKT;˹_$y1;Q,Q%36V7 'Yb%Ah<c^ͺcP:%VwTc@͕49 c6|@q f~& xmo{!D3`k; 9b8ߌHx8a> r6Kqy@Gc{ ¸ޯ@pHJ%|L?nx<O}p {YCf~o(= D=/2 Gq; Tp4BOG!Ir<ƨafl#}B88 #Bv!:  8^0p[YpD}^BSeԗ\A̸)LݼcCwi ঢ়ƄK+ ]k U~n󞪗| ڭ w*!Qd~XH9>Xk7Z~ԗ`o{lNig?vy]ܲMu~U9e<7}3 {0އLo1y'U!V:MEli<}fkTG L3Kq(:``ݘvt~m7UMirw͊.vxØw #EOWc`uM}! *j{KUxXl_!Tw[z3͝9 hiFlv$^ij~oz%`ri,Hg0}Gg?BmöGa1NH81b0}H)o8G3ȸqOrbvO퇃_!VY/Ig-v_\i8 N9Q.|_բMj#S.d.xNͣ3.1>*p`O<WJB,J_M Aa u |`S僫ٳzciK]އu>/ p^疁eaPeޛA++_D^'͊x,GͥYnR%5/VDUU!ez{̭L|IX uIQUIGu4>닫f|YY# ,6??bE˪ ²) ,0c#Ǫh~$u.BǚײvYӶ`.;~=ao{ڜ-N`fH&fF¸GJ_'į.= :Gbsff`[:I>Y EŻNٛcWcG~ؒr ,فK1Exs2Z8Zzc|b0LdLjù}6b*iVzb̻n`cЌm6q+f,a Qi摌װH!B1-cNc[~G1KҀҁPy1$&Gû1?Ɛ.+f $w/ÔXuS0!R#V'W:+T ZQPV>a5 TM ;4ґaU$.*v9EGA=H7&t U贄+O! eO[kVܚP%Z\j㔇2LjzmFC՗ Vt 5G*auŗ-72<,z>>{ ȹwY3_Pe >On}k //ƛ97R93At@w[ܔQ P\).)g}*%o rc{ B0D84oDd2([b^JGh;b!h"R}'K#R9:q?*q!~&Ƭ;mgm(h8'kfkK.Z'jAws_LQ0͙ :Ǘ:L'tϺ*Z2 %p]BƻsC )uew{~pCfQ)CYߥREUUO~  o,W-vuOMPupXAqu j4lSYޓ:)}J\,̛T3>٤?07cw:'whO@m}ߢStI:pM}-3.u.l;'arqLa < 1/?~Đ;0}wX"0sWI>Vp:"N)ۃ1bk;D`o =ߠ?'/} WzO?oK?[!ߎY+`V_lA` wƎ'V@gԥF  RݮM}jf} *t( 3اy {YUHU{?O=pjSkE9sj_[z_H:ו׵@0uJ!oIJya^gߛ ,"k(k״|T%1oOnQXKJT+(^ix/1nL4^s*B@SUö́Zy4[h?/aV:WW=/Z^<έxMyYx2qԱ}*-pJ>˦ʯW93VWZ[?>dA?i4?EVVͺWG>XuEMXqga gYy/+_6a%y}` :Ƽy-_|nGWGX)UYe9^| ~#bɗx/ɏ3s#ô ysZ3zj `i|Jg4ICwv.-c`̵; C;S 4Xq~膡mXᝄ_ _+87b[e`O*ÈQfMXl;;B0t&f;4\*_nĜX^!oǛo90x sOcaeLwa*o_ԏ|1]gLr0cFzg*~ fHŌ.ONI1_@wc*<%$&O1%"Sxm#n9I#"KcGXn;aaۂ1-{~O^zSxURO\>'tz̘Z2L`snaKwqyj M8AcLi"'c=8j-3d@7lH6粯ě-R=h(`{+φ@t^ y7,gVcd3G8q9@pTX vǚp\ FH<8gprF@/|=w-Wa9V] }?lAN p /6ع]xH/߶̷ٳ_j|,pM;.L𐴄_Sdb Gz\_7hD  Ҥ/r%*p#vٽJ}'3~8P>Nr=~<سqGD@ g Tߠ3&^H@<2. t4%]p 'G]QRք@z(".H@t>d7H]J39VΡ&Yx?//M3WNsZ 0U^*T9|W-}'Fm1y(s-ppWs ʼsf} 3ap=yzZ~ݖ:bRV͋#󻨰L ʶSM@,ȴr0f @#sώ0RVMZyM*:ˬWMWB84mV(VX?uV3h`Ζ u6/c6@נvEݏO'' {>s1epƄ+xke4=W wMDi&uA[mjzttZg]{Jo“Ӯ[`ä: aG0ܖؔYcbgݗdrІQ1#8JA}SwaCf8Ƙ!FlFgyh%+sv{q |= PЂZ44OAFy37p m-]ߠEuUh1 ouU*TH ih{orlҀw^~!+bP>x2;؇dd:UrJ+Zc^R&}2}ȼg0,yWVXŠS1rA z^EyբRUl(!`5- ,#ـ}nxNA򁖪 in?E*zi5U㾦5reS%YWZU4.<̟, 5,?e,uZYI< f ܆:KX%v/FKmQ8";aPi|xr\_fD?߼q@5aWGݑ0aO$ے150aZolX7W:w`l fDk7c0zGH D| ~7'nX}t#7N1M[NXpSl(,Fo 9`joL$펡#q¸enފm c1W1j_$o2*?_ [078ŜŤ xg{N5:p S`SxQ#uR h_?C~C砫ϞKhuH9@ P,j$pr0גTs( FX&9f'h3|-0VYLSR(y M舫Y.8gLlCPޫ3L-amˋ3=S%JSeåb˹4yw9ހ0`:"@PAcISjrBkF-R/=.ߦ"nܛi)h^*Kн#{#YcI#)K0McIIF}L*儗!x< >/Ś@fF>'~ Dz삣6xDŽOڻ; ',! Gl&x^ -#{'}v9L&g+c̞9KXL|:r =c*+3sm\ uoQCpJ 5p8]LTxp(s[ <(a=31fI1 _Aș\KF lE;h= 8N 0 8rPЁP$ȳD8N!Qc}Yo˳ 7Ln*βkhn,2 |o\d&VI[5yY`UUTô|tRnyd)iL=e%rn4Nw4.ښB*:lƱcP+&žl7 L@83?a|Un`\y1+ ZU~xNa׸=ܪks\,;m \ܧ3͡i :l逪-7vz>4 w_ӟ݁c/e_`2w#^`v]tt+ao+Z{ZLFCk̫SW҆=Ewr^Tޓ|3#aKf įfm?؉N阹?˳?H>Ŗ))fYtH?v1nk8f$bv?-,e"M= UL{sr{wZЎ>u}?s4t 5RAM-d.78th} J.4th{4}H}i8\q)a*f`m >WpoMSQP^ i P!=xlُ#1J|+P*]VUk@R ֕e}+67'4=s3.}^\dZAXTXMc:ԤY͉>گf̗qxA27˴dY&{(Piey2 (9cT@Tahժ*652 3,2W9Nو队LezKe%tyT ٳh2LTXUSSfйqvu0@QF(Y1_ޓd,qxי?Yyu*.+ @ٞEGGxu+˪Pռ?{hj&0ea:{<~G&5Y$$C&|<| ` @hJů8h 9%Q9㕷bRg|3bwFt&^ŰAx=OXwV/0yN sa^Y pe׺VA`̄1nǒ~L[S$݀L}xc~hÔ SWzc̝cG}U^G(fe`D a, ?|1i0;M<0u9&#l-c7yC\c03*S88:/99niݬiB%c |yVL^tCJ3e_*¥t#ZQ\H!j0͟ 5X&Tv >K}zgEWt}vs,p#Fͽ{6%^M4[p3Ex S%q/c+LjBޕT<,/ @Kt?;6أbvc޵vBD? ζ-s2[M%(Ǹi'>샿@{:| o=l.0Ҽs9XskK?D^KS#+n[Qq5$}kO1ʯ=1xs6Xry-@r'p"i}9~H 0s#0=OGdF"d"3c͚gba? qH(k4kMF1=? tGGx#Bv?>:ܻRo[Lg0uH"Z/0\vRy5_H6kܔkmJ_+|c-od7@eUyRg,:q.M]~R%׌6?"=>/ KǗtj*J_z$V`U#)XW `:mi@j6*(smeJ*\qٷa\*NEQg} ͚s%>*4Kl@ZP0 &Bz>A,tmmOZ P\'ڂ7bzq÷DKwas4I`OǬUR܊?oT7H%ۊ>ɷ^30-亷x1~؅a` GdỷmŲ qM7c'ޘKO  11{0jZӒa@\,3ӿJJ(Pۏ|&mtoQasq٣g?"Mn>)Z64՛i|-gŻvxb{(/|+wr/Bk9g@k@v@xyap#ҏ-/F^i`d/,}<̒~u^VQ^]z[JbBomeˌ%! ‘|/Pue ,3_&/?n_֚*"ـyU'ϳ_μ tjPcދ,B-ż x!dTN>3q>Sj|~K^WV`fOZ.gc.+̙J^~``bf'ha:"but걪WҺ`| X]"I/b``<5&Dz~Vg[&3OѪ0k OGxB*jck?PU])枕<Ǵ:Y&O+lVh 2q \̸|bб󼖕c9X6|4_c tuN* |V{ >,7yLqJ 7_t>:B0(qV.Jt5nhi63 ?AAt`zFPAص|͝wS]1%+#`fFjC{lL̵ *;5+ca@/ƭC,;W& ]Q?8;5s/`\c0xF1݆ǯo]1 1eG8^[ C`֚L{sWa]q+<0i?Fab<m%{^䝎8sǔ3FyS/`#01&$_k~i{3aSqrpg ǬO"0OmAxso8F:F"N)oxnv;t uw|܂|tqyVtPeR:z|O;ڟ KұMjvhz$m;:|tx rJshDe2!q;1c:76Qj^(-շ{ 5e w V w[h0- :l+EOg1`KdhupB7ӑ#4IǾo (R97:)QjB l>n;RG`zpgZ>'^Q%=`Byޕ3s|~M_)M3[ mPإ[(0yw, ɹI/S,7>G}`d_}ag)BKGe3Wb_@h&05X,Bp rst?Veٵ#8zl6LA ~Ex"0g<=& M,: 톟&߾ ؅hW;˘5z3~ Զ$BK 0LJ=5(Q/Tݽ tBҡ<\tP)mO3Ӄ|H:r1w.#A<kٹLS<w&љqF>8N~HȌ~Ferez>nHJD}/GEe?><ˣ9+AP\W*j?GGo<3EegeLDz S:㬮Wws]A—Ll8@U)ep[C#y/PVm-IDU5}-O:V֪f5l{ &@u?@9((\**L 3UVVZqԬZ0oNkߪe\Ux *sVUj}v$(uvs?({F9)!0EFak&I:8%i6?mCq7j,mfC=PO`_FW??;b&Gvq#=7λ[Szny̭Z2hߍA{gʪ{䙫0x1Y펷Č\1xJ\ߢ\(-B^%(,ylb>b嵕(,CeY>jg!! taq [K3ner~B0-OUaZd|[UٷW Ыj*7+/Os*f e(3Ap{ cUmJyNE;0B@xVU^UqQUa yUzɀ2cy\L:'Bͺ0(b 0H"i`ܺYȺwp4\EŨkjFIE<+FϯƘ xk'AB9b4 \0e[8&7b{c1jG&%cC,&Џlc?ƿ]צmhL9wҥtǬ~׸a\F[*.[߶vzȍH]7N|iUQVz hc"4ew@#.e/M!C͗Ϊ˶י4N(nyMULބ`U5OxS[ 23(& Rk|:l`T`)BN{8GWBpΕwH јAOX3=1# Žb]x}F_C7ZۺXdK. @%jRu cZ!3h?Ŝ0y{0& !17,ƺ&cs2&z(i;asD7c=,UߧUBHrϣمi^u'v$fbW,K?-xCE =w7i ߚ[[Ԃjd=(QsO% s0so|˜Ƅd߲5(6>J9W/#:{AMkļw%h2Qۜ˚}IKp3&u&Yspկf[$UUՁ)7rx ؗ}kWf;؟';y]U`>+TaNqe>;yG22%F ;i_كFa_MxZ@UWiTSUf_Ui4WjLU[*KϺ&%V[ s~VVϺ$SjMǭ:R/j 5,sT%ɖC3+өL-ϫ̸@XͰY b J? ^V+X+{3ʨcU[-Q5UMՊ4̃__()b~zQUՔ(d3=3{Liėeee^̟q,1-?2^wttq,W֢X>()ţGfdތ1ߺ&ܽ_-GƿYk8G3#<bJ/=e~?f߇Eix7NI,00,؛)×ߚ)z`9y70|#ڀqaȒ;#ӱX s=N_o3xG2cQl? Vxa蜽x}&˶Ea"Xc6XIFazi̗em+C21iO8i˘WՎџ->XVquâObʁXp.>87+=^5 &@a+\ ck q~ЬU`OzmL^?m18#=GS "vt۞4j_?{b<7 Kg^|]İr>ͬ|ugMNO:s'p]Y47vhvi 0q_}t$"<뱖.2ZW?i2lv TR;ie:h5,z˴ ѧ#,z%Sݥ[mL@PQxY8SU f2N 2z6PRfx՗iQq|E\ʨ쁀0۩fFex(zO|y!,yĥϵzkވ7OLǜ?J6> T jA?<ez r 1ˏUEQQ『L߄_B0"T?>'y՘>7^~ u_`.Mٜm̠Z2ӧݖv:hM/|? 9Bp}CZ.倫1Ϯ/>c޷Oc:>hk*3~ q}:JAvTH)@)n7JbsTJ0AjQ5)1S*既.3 ƲTUe\O)jcCP~8%Wvo~U-=m)4ަiO=“oC5R])/+fwÎFoE3( #OabzD&e`QL <>G0;cvwb[@j/3w6?aoQbIh0k >nZy95w,ar.o꫅;PxF-+5V[Eťk̫ Vb0sI͑Joc6B0okUZK(u(EUW8t lq@7k|vTVKߒ}P.Y {zx_%wݳ8(G`}Sk/ ڏe?Z-%z2Y P;*ڧg[5M֭/WUpULal4̟? `Xv*L8j*,2D3_,}<ժeNxkx U**-o|>λy[#ë?]朄ɮfI=z* 0Pޟ6` ,tD)c!ޜgm{&I53M7"f U2CrLs 8x ^Uxu ݸ՘EҐf'd wbbg\a>Ci ޒ+<0d't-aX%e}efdsv߱6܃¸{bbDhƝSar_ʌ{Gm»I!x{o „X埆Խ1/yK~)x/:fe6z`ѩ{Xz  fü\i7vD$ižwwkRIDAT{/wI>Vv uj?~RS^x4Ɩr܇w# g3Pxtɮ+͌{nx'z'f  uö-pbή/|^kppjQJx+h-SЀ}F8o}.$x9o!Z#XA~K DHď 0j/.sY8-Wc,n<Qqk$"co1&81r?pĞ7/$!D83B41)ka(gĻ!"|7n^FYqK3r 'eZ`}JGtPw:R`7T~ݼ9i7KZ2eꡝ[}7 4 aQ&WtO2BXL^Ke 6G@eHu갊(tcH!ONSlO~tKm1¨΁5*:GSaVAxVYOj _í95*!j8ӫd^z,,ۻ;;=ѝm䜝6'`2, s(K P9 2P!Da{vfg꽿K>n^u= L[->3,?'\17lTk6W*XcYZe Xk{ PΫ@^{>ć.͇VEb]~+6z6: =nu_ӡWOϜZ^1I%WUSjU>xF#>_[aw=#wՉN moF "+1V|t>8V~W>5Es?ħ]=_7ޟ~45knkiEUe9n+ؿM]Csk72ˈȰͯXQC9X UdRã`,Nyh)S`hcrN)]f: yJ̠yd=_̲,Eu%   ,,woukbV8Rwa:s)kr leeYk/_Z!^@G4V4-ʢy%ʚkpYy<8hxySb,WLe1Lƣ<<4冉昿Yb=7u(<@&B, x|P7Eq'_y/W*&|aY/~@n=ɫcXu:յ _bp q,ojݰPxm /]( rx*xq͗x~N_be,w ǦY⛀5'Uy'ʊ]Ǘ2yaAzptc^;|>,i7X*t{n_ZbeTCCU疾}٧XGkRvQXtsX盄5^XM7eacPV*^{9Q{~),x9`ݱ7TQ'VzQg,:*@ީXt)}e]WK'~t/~Xq|v7yW{ʼ;qO=tMcS19@5 3|jwG ǦV5iT&Lߝ;è- i50Ѵ=G-HOŜ5Y{VHsLwvzfް>?mjd!cl:θPWrӾ,툋&7^i2ʭh͵ X{V׻U\KG[L/&{ U/,k& wn߿9bA15y/We^e6<:CfT?P+0{)ش&GM)gdKK TaeᵸL `3M͜)NW08rl0PPO0J_G}VvWut0А؜ECRjd|vpq7:2 V]&p\`㊃\U}8?!o1LAo;..HIMx/UV3U%g*g:?PO@9WoMS :QVwKޗVpoOL;cM?ieѡ9qxoimDAL\0[ 5[Dy:S] Qz ɩpm]UԾrnwjd m5c^{qk;k/WG_'%U]{G=U ܦ뒗"joBC}fN֗(KKṿ(rDߌGX@2(x]!Rg^'_WPuQI8F@X3O"3Oy& ;ˡLxrF̓rHF K0/Q򚀳(ҕӐl-q>j7hXZZ 0,[,Ŭ0;e/v6X4aYLe-1 u1o L'c]!yHZi(0 | R%S=פ,RAxC8{l>&Zkmk[L܌aEb+imFldyte0=yi/Әrk%L2 &0M#.WntQ-ӜS,;KpQmz[Frld:!GNCB)ɳ\b&MHhu%<Z9^se GS 2.'ZbY1^x5 ZHNO䝹4`jǕ0>D Ljn| ,=q{ںHc3>orc >7ncy',2fk.aQ ov+`zXdusN6>c8j.<DlT{Ԛ9;}-]%l6 º>xc=vx|bh>=v W;Bkw_WZu2#]( uҕeJNA]=mBwex8iVj'1Q­_oOB2 +^C-l̊Lvhf:P7v 5bz1=2ϼ ,eM+3>tl_,G }|YhvYfX(Ӊe3 qp@6iG1)<'#H}LY2,~L΢O{Ƒᯫ뀹6U]BONctB]U9rr>K>1x3je .%`a<jYlꅷ}cAh^;a!lWݻG>9n^K5l>W|MXOòƊύs8'0a\ыs">:/nNOa~'=7>Pu5_xDtH:>6â.bilY)~s۱ :녰+l!lSj>`e5 }] jU6T װ*6{D@b9Ɩ˫+\"5~)x[mR l:~8囅^0(A43CW x ;>\,Z'̂+v 4\>;f9eiEA4>M90?YAzW`YtT(G*w4*k~r ɹ~%tL v@ ms&P5f'Z5rQ:!>; )\~ OkuPp,1 m 2ѴL/U, R9!^VxGB>E{M7hjlh%dfxknF!- t*`ACq~ Br0nקOfV|:@C%ᒐ=˸-Qտ*@sZ+X4~ lUY Pu1}I@*['!':.0y x,IEcQ8k^N?7UȎrSy:xhmquU^r bj AdvBabpM/h/&n&0V JqpR0f! _Iڝ XX _gީ!4,b#"+s5b8!9&m`GG ,91ّKPGE]WgB)<=Laʵtg\eD'J.zu{SMSk`;mfMg{ג8>qQD/.Ntl^m+^O e3gr3Ueaڑ'aʳ}T/= Tq]=)k}kgN$&7]yikX?mW6'/{wAD#|@8ϋWP+AC+nu_z3߱A%;bxpD/~gf}+m]^rNۻ9K]cw<޹a9 KŅteUsKl=vbbH=18A;~wwfWt.]I'I?K3LzW^ϫk,xa_vc%_,i|-!$᭹Eɧm(j'Lq&`Xrϻal!$ &7}c3cs\Q&:=b #X<0[7>;z))M8խ{xذCp2 }xsASttڽk~k7ƕ$NW{סVjcsc5ӨTUdKsY',i4|㔓 |բHe0PV'GPn SS.&P.,˴,ES,lA$S0/rEFƐd 5[f^(&kg9l'oٯ7C;,)S!x?_& $LPL{Ⱦf}d6ddPc`2ikC3l>눵g]q)RS7.g5&X{[+Ny_^?_ǝ#P%3¯&@츢.P<ǭxy|nV7r$<F`_=~5O˶c>37? Obu n^ǥ*)]T}6/OWXHkm LM4U6w?l9EGmZ_SIQ;,˻`SکaO"?댵!_au9&9 pl[~;kaT=S JAjK·lgJuX$":ob6%uKM 0AdBt= ^,Ej<2=wOtTV^_5ХM޾}ãG4 eT1eĹ`%ʹɽv<ӆ'3]w읹us ٻ}xp>w~x6G#ZG_ .@?݉hkv+s1En6qixwfj1Y|t) nӼ4Lv`TlZG3Tj߼@p-mV Kf&:JpB/eQK%T. p8Tz20ArzmHXg.. UYAv aLBvݪLP= ΌG~;b<ʌ+L *sXݿ 5gb5uϋDN$$h.D~+js"QUHR`V'?[غԉ/H~0E'Cy)`Ҵ4$HFJe*24:&ΰ68. WM*OVRZ  #gCY+I @Ky#)*^*3"Cج(X9.&pu1|xvΏC^YT p;>NC0M~cV#.7 PUG8&F:O CvA r a‚PTGah,5WQ䥟2tp o:C"VuE^vt;I{=fΈN \.C?FNbɖe\OgX{xW;0_aM V齈oVDjWuuw# mx`O=>zO<Ӱ( 88K ׿2.1 '+!R442Ӊ6TP̟hge<\Ȓ/N|xdYh.eZ3',Z^-u59z}|0f:86*axtH;➼# U콇s}>) 2* u 8%`9,<51Xw9ܣ% * Hu^ _%OrTvjVR33;ӿ>i8v|q%9pθ`ig,Y;SnUZ܋o`l`Y)z1S10G ԃAxeny,>h1y?`@e+$Y#<ٙL#3;2 ^uIf:[l?d>4 eB3a2k"/7b e 2=_z֛L!Kl1r+XJY0'bp2V;eunE`au60eW\] 8TZ{xnNfцu=܍r]Uw(a) c|x'nᲥ*VxO f0}3 ;zS ?<w@5V-0?~gs5Sf dJk)dscr % ׳ tG|f-\say$5 hP ٘MU)ǝ`BK@淩,B0aF֢ ݡJ.Q\sԄ>ڡt4Yw얂%h"Ǣ(S0DZihHnW(BkE*R0kߘAyZܴtN7sa)=5(V8mv`C#8t`̏=n "3#V VAidv$b5f\W=p5=$+ͪDzy^mrI"Rt'&jSjC 53ʒw]MDB^,R  389_,[W}׽QXX\O GjqU^wLkNc.y(URUt]nBq hަ(Xop#R[.p_*K<<~OU1hm+AP("9.VJR̃qMxd~2izyNʒṫ }|DLex$`] 0ubdǬ#"?Ψ&br.FgإLt 6b7tiR)2`[PWR38SZ9B9{ߞѰ/)XaؙR׋_1veuoUձvuȩ\<~)o?U3<}sZ 1;sO j@/^܈A{C,kYMp+yeg>mz)\Sdv@F^i2=f,;1҉Z'BcjG?p`ݿӪͮo5)]澩#yx0Yõ z4u5d+0Uߝ$4*%(DkS=Ř+њ5jۆU9kCU.]E+D~6W0~CEhVUiAciJ`3í~'n.?]q##tZȭmV]Z<Қ\ 5ZY5ϷkӑM 5M }^7]UYhg&xjT[ФTQD74߈DSz븟k6"k_K(<|d7Ξ ,R $#4)DAbҫ3K::oq'az.]i> DBf8sf !PK.k+Co gE >'y΁ȸte ,zb+0 ׽PTp9 c9YC -JW 3 ȨςwRt\:z_o`go̬h YW<զpQNB>=|`Ny+xw):o\6m]7rBQeQ7NKj.Pnzڊs*S%whO;`L}*,'ˉN~2ң hTBUZu=r.lw`Pmj;iܣM, pXqcXJELD^Guj`9sX)+[\9ԁיv$X\4 8M9m5 -G%1QטpТ`<4'.{wg3Mi9F/̓z/Կ;pљ; og>+maKh:paY:Ɣ4v0 NGx*P6F9(Q{X{ .+Qu5x';Xy{,/1fw;Ưɀw*.Z-02 Xd? 979W6Ƕ=Z{L{yWp8<#QmiE=uᦒkjջوh^bXx LVl4bE+ Y J]@#2ԓ1/1&w2.&~$oe,W[& d}2hŌef RV[4֌kd`g1._fXoyYom} ::-4]HMSR{8bԇybRo_¶ {j.`A0uGhxv={ ?2܃\8NW&>q⤍'QR`懧9}$k#Xu6p-c`Y]ƆCN Ә |vdU VQXy~ݫۜWIs3 !)xVw3.Ŧ0IWTRúLy,0Om6p ˂Cy[R݋jy&@{~+/`T})دF0,:cj`uʫcMjuX~s`Ɔl_NcVG⃫y~b[$~wS}eUڋ):_U~r\I EFeXo6]KK1|Bp*QuYLӃ4;hs;iSݞDĹ$7Bo5WC0&|G[„WjTPC>o*N VZba6ȈrD*4b=YI Di6C}CА{M~1~z,A&O`jv>(ATU:rԜt|I"4ZX,s;"ydD"T kf'{:J_Ҵ69 l z'j\L 4so^zN/MAR^r3 S4=[(ɏBuo? i Sn:Qis;#pW]KvTjg ̼ -iM=Qpx:}rxE.m KDn 379~zR`)HWj6߽Ɗ8ԔD$U!z];ϣh@[}|f6M7يZ[K&RzG;0ނ&-]KP?7鉭Gt s+[M9-EcU'&+ZKא>ؙގb;nmD@#lP|< G):ʄ8t̃刉=MM]&ۑq M؏/üOϞaw b7yIŮAX M0oa? VE)OWum]#:Zuj仓cbS?r_YA_=}Szŝ=8L\N-ut]eGOT cDsa ܓ3W2dw?I*el1޳N+4Gx 66Zg5/{ z/`ދ&[)obps-6 ZƫB}C5o5%ډ4FU_M{슛X{?>`Ϙ/asa.s(m2௝|9k7. ֏,b8p!>y8n7V~=c@N^~Uۿ_4Fq?{G;$X@9Y&(`҉205-1`|M #G@E'*$ufB4N2(7/RW\ցqd*օuu>,eh~S.LF W-#&sb,+4Q622`* KRY/+0-fR 󒭐4c54Fj ̓ySAN1S.'|Yˎ`Q+Kc]YP֏moyQ-i"B`ɬ 6C,(oPǾc=Ma>ƴ,[fSX?S!'d^ƶvי'_&ȰM2nlyeo2#,Sc)md]:2hyY7͗d`YlX$cJ9 nqDSwk=cb&`$xޡQ/%l>n xsiK|cd(0>x/ vॕ  }{<>f0kxlx{ŖKW; |ww9F.)~8x_b}[9$. &8w{zޥͱ̓K_gy z"~p~Nl+ |p< /\Ct>~u/ݣx,is~Yzm9Wx#ڃxNae|~%]m/׳ܛ"J9(Y\)b?6zb[p%k8*i.ls`,9OpÇ+HX^Ɂύ> Wp =x;b |U+|XdW4V5[b+ )WyN̟e`|xe/rp`?_\(,X(c]ߜEלsh4üx]4}"fGfZ[j&'?0.tשע>3w :/CoGb{(v&NKC:.ó%ځVkhPթKݡ0' ~gv bo]1s>~pw1:=7P8xibQ24هgifBN 1PȜ?skp:({c;R[0O-z3[gVz6ÓPs=}(NlLٍ)e4?>!yg**\}T#7?G[q[BNRwSWA3p63M~h7;]_`xeɧ8pfn`w g-bC,rFsGxy`NS_1CF=X^t]wp 5T@Z2 [a+ ~ϣ`{7q"KJA2Sw/ 50W19xk=.Uw|x0 mx=^/HOkN:.%o㒵.zk yW=cdz^x'kbYkqOMr5sZ<o:-Dl*Į<FǸ{=ɻECU"n5%2~].|vhU%2i5H_'9ҙMzl h~wz2lKg;J4`%w4e=O \Z뢕0T\Cmq,;˵M]y\}ǭYz^f מ2oEUAִkte7ʲk3*4U+&c]\?|CU僪|_uReMW\{u(MD׊+[hGB]iF]_xEq`zӬcpEqwT`NYͥ1W04؜I^qWn2l֙fjwiݐT?'xB5MK}yvWC:QYa^A\``M*_0: +Njq lNDRI \[Gc  BnrB  sWSx m=,\ͩɆk _꡷<+wmf㏂j5n#15\kϞE $e#*OkkHWpL3h{B\_5l>WaBpyN6ml UM4)Vyz̪/ Du\(iSU4j"Tl+垾73@"(eɦDa^oX'+pƒ6v-mM~޿'茊<4HQ' Zk<z0l߷s>a}޷b HPT(*" P92Tr.*sUjk}·?_~zߵy9k9@1E\@_K0?d V鞩"䙚 .ؗ5_D!~lX~c8F1JȘkWWpƟqĺ^0s*g% Iw3kF ,i,MayzRoH-uE&ޖv[?Ta`r 9u;vg2}#ӲmyTmדޱiL.X=W}GOކ|۟95kc'^56A) mZ᩷dS<86-Yp +gN؞ذklشGN{7c׭ 3ײz*r]tmϵ~W-PyMقqy?DVXf[㚜kua9xjnI4S.r L?M xU0E!ߑ)T"-xd9Yú*TeZr!#0{)%l`d)%pǂ3U.yQaRzLePq=a4?/ѴXyJ ܛ{m ';ɆW $+p3]fę_"xV{$ 5"*Y_y*R6-&F210} q,h3O}~bٖ<_)/;>qU#'Eg^YBeUNnLc: }^z +R*S_'2sR0<+ȠdG$q7Ʒf}9_ĺwm^ 󰷓&4'b-`>+<0vOh}1NH|. ХcoX/SV-k6.}ҥxuk~<" )Xw/J>tx#*n˭5{i ~8@XI/\1 x#ƾx~,\օm4m+{#<dp6;aW ~Î쟆mAYꑄ.mp!g>Η>7V^ HUl>Ϻ>xfR9a_t!~!ҫgfԷNVamve⏶QX'td I4L|X' p-\JI,fޔ c\L1ucHctL5ɂcwV猛#W`&ŝʰERV~W,lhJ}ij  }u 4 ͸:ݎũ:t#N`*wΙ'rrVi Q˞\9xu2>@sIB)5AUpd\\,Jd@ <<2?A.rhydo;bQ 3y<5ģ+Ǖ[ﲞ_X2kvQsUŗo.-ݽ=C۩i58Ǹ T4ka22 YX:![5f'pM )&22b?zYV 9b 2/z0i)㐣cۖɮLyPJUBf^$f US* haVq"KS ̊P lh{y Ȋqo0X]"n9!аؠR'@hb:<μۃ񋁊1 Y.~@/)lp֍*ϱWFgYN3>4s|iȴ zldҲ(2.s dy״NLK?(,¢پ_?(Z~P,ܼ8|9!qpi|~X7׶o i}xΓ5gpMք< MI0"qҟ k_R(vg'o dd7 :[1*R-Ghc},NŶlڋP2U#0%\,cyְ;#hD%k;"7rJ+P`T{Ó=1^pp4IQ((IAQi*kqe#dkTQXlVMȥ O@x{7`&p+yQm\. 'sߜ7T`c?)m#m+m0\5/Wte鏢 ԗ&ݍ Nd۷5mD_k1`>Q4Q,LO TўG$Zj+#nQg?s0j;O>[0[K/s:5`qZX|G*EyZt3V%@?5ɾ~\̗L\Ω\30.㨪]8[9A%ԔQcUJ\u&d*\*70TJsLWfzW <>U&f6tU"TTAuTUnxk''-++΁6D ʋ>W^c;6s4s&``G̹~g=V g`] XY =\?3}/eslݡܙ%9Sz7k׍Uik#ܬQgvFzrb #2ܽL\Ƌ.Ac닙o]WP>dj רH)@]Q^w6^\QEmlaFnj)Jթ^ցn1pӏ{wb\wyqb_hbZY^6P}CW,|Bbq]#~i=~]>7~:/c_bݎab-;'"'Ö%Lkx 0m *(cZ,4ț,Jsycs-X$)3_O~R[rΓTYB}☠LX;::S aLu aftTL%2_VRIU 0a#ທ88,+Ndl4ـ`g`GDu-Ԙ.%E!f=lC։*?,>HPٱl ʉz<2m®㫴ٱ|A꘎~@c9y~5aTvЯ Η0LOuن_xǘm}-IKUt:me}x}@RgT:ζ!yM=5+\!Lwu F[5Toĵ뫘q3x9F?N\qXͯp xl 昌G\Xw[(SN9U̮ow|5ʋ;>/q7vGZC$6%Kp ҦEpB@ 9G)'>v~>8Q" ~vJ'aGd>lWL@ *cP`,D$x!N"ih#<6Ec98fW#mUsϿ{UYwIL7ycUB;G0}cq%T`y'OB#a3o rR %^S{cO3. .L`qbkr G:~rC`4w-%w7/-.O z .dmVp;iӈ~,1;Q$ԗE}a'^Wƒ0Moh#vz s2͇*^*>U[s/'`EeԘ:`=mF{e]I4ն t(h3R[ABB?t%?ο*XMUyi$q&SaYդ@y<>?^ǹ]ox\2?B%br>JtycZ @3ϩA+Z3]0saZ_¯½DewN<=ez Y5(DSg?j?)srUcx(nlmAYKgO *8SZ}\sn^yhHEU` G6# 1Q 4fy?h%+i+֙l*c`Z>WRMd2*ˠ[Zuo/ E$JZgg>dH`Y 䒝e 9X?d@|۝@ʼ.0_,~с²nO~@s2묀_>yM2Mj[63/8)0 r0/UVeؿ'8Ͳ^s3ː}|0/9 KtvnXy!ejko8ĀLPrq0(>qĆmw_@{Ml(|/샗hS.8m?v|wVV;gp2 }?tf8lZ6 )ex~|_<=G^;R~gXx)E& &:߿m_zϝ [\1| |< y$ ${k㣸O^Fg6 Jcq~=pkѢVl<-x>vkwQ7ޔ?tƋN76g|'sxv>uF<坆gfbw")NUV="g!)֣L=_m/ϝ˓fv!'";,Et4 f%HrOl'憪{býyx ]'.7`{{@.}*~%J'4t2ht,dae|޹:h= x] RT8X qH֫iTj`J}'G#]½";l*Bc#edT.$]6cqMWKJk RLHWFa*}*\3p;_l&'鯻hxq3]h2vpmSikƝ%](2{)^kDoe^"uz䄠"c]i-6ҭUi2y54\s; $ V4rc 2vLON?d_FnF'CVJ 4~)`JZtO !i(6I 󁏤Գ8g80N^q/Z?UCB^.)` =,Tx7+;PuqpC~_`w/XZY 0V1z;c<ҌsU@eQft(%wecu\lGΦLlW- ~uHGhhJQ|3ˏ[2_ <V 0O j]6yf;0g  CD4;n`@?!As!+5ߜ.\J $䔁S CP,Of\%aN˪Te` ̋\ݻ5.y?smypM~,g,l¹F`kϠ dGqTJ{YNr󜮫xۗG?^gZgkza?` .aq.n~ڑ%E%c7N"r#7&WC}4&|w|mhܽy ]mhl1 ?PW҅5K.ډ;:F! ~7u{rҢ*===Ôq43K)q;.f#1MhȬ,0?oXZYg0?<:2)\77^UYgԚieb|Hؖ:vه\s|27x?7cM5 x1;ᘣrР[z{Lv br6p? 2Gnxta<.O}M{cۮh=ǰnfϰ\/G6XQqqngX0vjg$t9= Nbv.ڻ ڧx8bwuSc׬][cNiP㰯}Ȼ69srŧG}? y ܷs8=)~g똀Ƕ_vlynpK8y8x+'};'p(.רK3q^+X/}$>?#pOmz%XaYlu1uFa=g'!Y둄_vo"R³{ kv}o_>R5~8aߙT Ӊx*8Ө/nBP4<[FuydcCT*6&c^LW-~ywO쵊†~[i&38Gau0K'U>(OGCa,F:1XپJc(QIDAT'; afs>vZ`mԟ7.%  E(7u]."]X;CH8돼819PupA@,5bzX\+e LɭW,\juz^ ܃mqsgph`'ψBeWuk/Qx/$KqЁ)!#\[Q]Cp B.M'"='cH$L5bj-ۺ$[ q<5HUFKG}@cr'hAa,#n͔g fuH@g٧=tD+t2dѠ}q۫E`>Ը:'<% <߾6nHɃփc%˳Z|Sʘ4@O FlQ큟K< x;9T OΕ\JYun$q^&\^unk h*fj,^gkNhB~4:0]^S)1e{y<*|Q K*֏LE5˦efu_2|􃀁+rnjy݁[Ÿ "]0hWzYpuQmFgkfׯ WHJZwu1!74)^_Q7$ns~bfpַXg|kzvHֈ 2M2]>i$ׅ>5˸^{,. Otzjބ~3mKKԔ~̸c8+UgqOuM~ScDcSq<tf`;vx`xhۧز8y_='^'ybrb '%< lm/Wh7?q/߁2.BmC#Sv]/2TUV?_vL|Ux~_F<FUes2~axdԕ/k0c((20g,~xЗ?gJlY?BuoN*=fy9[_V*e`u~ ~Ѻ QWn8Ujlb]}͂h~Tʃ_`&1yȤG W~hk_>{lF:^It>_y=x3, 2|Mk i{x+zyǣ`sV8.vH14Xc&Hl8 DW 'q* q+Vxx9 {!X Es|ԩpl>maO Nf6&yɨ =S8:q؜ )XW"RQ84bI<-Omo~{isiհa)kl`H(2/lIxyM)Ɔ}'/l: fYx*,;"qV ûїRտ Q)fM-KgiYٟ-W&F[qcnLI/U)'t4+( ]5)Y"yN 3`YLw=/yZ`G%tUd:R˕z#AcܮƋ_0%ߗ`c$xc~zPs*1^$h@wtp;+/`a/  mfaHeJfnWJp[/ǚksef@KQyn tIi_&,ԣ,ָ6" 䄢:03Tiʿ8S'\FYU&dqnVUi$QۜwiYAU?B7F&^ΡA%L7WI)L0]\QI2 uS7֛0K鮪3UpkkL#Vb͠*? {?1cUЯڅyXo@&fV`xb3K*? w@RM p_ቯpk퉅OK<~L҂޵C\d~^Qii95L]CO&,oyixI`wq R=no0pFzzVl^`f6_qڢXz6VY};;|q%Hc627<(.0CYS3gvJ~u ~\mUCkfޫkKGoJ d X [sY J|6f;X8~+<[^wc+ ;Ed-J<z3<6xk=~k_LSx`+Xe4d8k\E )ywgpLFzG;8JUZgKv#k &*ҵJWUcWۖJ-GSCÄPkx*G։մx|pM.P`9PdzjFL))'x3OJxyJhel V]HR#Z_B0ARcq ̋aX0J ੀ̆%T5FdlB+Za#>%t Hկ a­?>; {(e)f`۱<|дu?4ۃNV(C EuVg{UX% _LOtf>XfU)6 Rt<ϲ%×=~%/L14D4Y&=`^46W:sa20 zFE=m^R׀RC/-+]~ɤI땋-bs1w>1v!x3rKxX8} p |{෿y?`㺝MqY`W_2msjG8h'x8]KX{ $-VoA; ۱7^uGX(6,>}?gaݟc\~ >CgDŽcG>^;/pB@s(ĔS1#x.,݀!-/?-~Cx-fwx= <.`c4ވHG}j{7g3 .&3 dz&u *sV[`{x׾~sɷs5N*;Q}g"vKG d"6:E3~RtLNeͿ" Jkο s="q*.5iew7dREvc*zd[ELvd9n1nftwbŸG]4̽J0ٟ0Z t}*;5Zoh>S|sH[s1Жc\QUj(Uj,7${:':XnGku Z+<" 8Sm2%aԚsqh*=oѿ \Kxc<-\k/Aky`,< D`3Ƈ/լoWj$T^&h [_G)/&u&S%:B(&ƛ Lke<ՕXh5jLn8٨S|H@3hWQ٧hv~?C_Gl|ư_oԖ_>ܣj|,d`=m>`'7t ߨ:sX;nA_kD&F*(1jX$Uڨ5Ǹ&W d`Ι+[5,ES0ʌ˲)ufTYJVpTڍ}guĚg_b 6;;G?wֲp1>9|uZfuH̓wq.g̾d~m@pok;ں}gWj\s-mHfPTیm4:W-KL2ʵit{'i؇Ly2]e -nx!g0/Gby*1V3mye%1_^Ji *S (R!...0TS&/ G$(,#f 30=K˺o1.6ۖ{ʶR ?ێu9RdNT)*DFE~E&7 -⹊qy,,޸&@1cFvr,ccl&q@ @8{$vo^9W/)kӯǎ/ Ogހl<#q'o [g2S~݆w3#r-" @Sx*6-]Z gTz{ul{xkxxd+ؾ;ofowj 47ǃӱu+r{({e cH6Ó_allqx3h؟đ$Bp'  PtLpU ~ pwԀN߷o,n|Ǔ$Sւa)x9< ƕcGx4?WK+.pL6|Rǣqx+&!w_炓B`QQ|Y=ޡHhEkGS:\<,6`nXsFog 3aa˨XRtmqߝ7e `WRdԣo/C;YY8tbbQ 3.,0iJEmn$~6J/&7J.TW X8x)8 q>^]Yg#"HWz‹Q d^<]@ҥhhP\@nU. *9vvpЍ̉6U' LMY/ l#;#yI)H1޸I A|J$ܭDb>高R@xD%XE "oL,eD"(&7PFk Ez(ZYxwuҧ%1G5z3"Q+͞u|pebhjHV_{LwH VoVo]gX`<7`ZMtteD#WZZx&2^3BS#mf0%?[gXbsH߹z t档<[,xz\>F < U yU W%8*93JPu/#[ V*4P<)u&^:ed*1/uS.A OUU0ہis)k8^We|_jyT` *f` * TQխYF-҂& cK[S296"7w7ޒqF*:Z[>Nax%e> I*WLBcp(<_OǑb5MR+Wlc£o|/}0z&0FGĥ f1 噟2gi}Zb m<"<$ 3` lӾ)ux<6fXȂg k~p.gu?Pфv M7=]0\hpb~C&YLn]1n跗 챁Ô 6 ne>DIbQf7HDuߕ6I<3\j.-".*7 Kid 7`qW0ޟc2=+(2Y&4[ R <*2?rChMSjLק1WdVVr \kJ\_<%)BcܕZ˾L׷"H K×k$Ǻ2Z!&Y*p7LpsOM\+x-œ@Ҕ i4Gp)DGQsP4c)3٘7֪r$˒N1&igBO֕s2K(@-ƥ G:~ 1!NDjyd%ie)2$.Ս乐{Bz1B)ɑt3z)IBqYBa#M{+ QZoqDYº< mN\7(4F1e.vb5\ ]m~օW_ij(-/B~aˌh0խܔEi!|'mu׵m=*MY}O{${5Ozc KxS 0d o519 [p[? GkI%8$bs.aeK |T8ASi1ݽO>6';P_g1,*,Cv~ʫk^ϋhjoDkő ߥj/x@R).-Yc~ݙ^*UHegٌ4~ zLtd#o)?>UrXgdoBYuS)1*1\Gj2f3*`1< TidROHsKXd\xs00Չ)a%2_Ba:BMzYiϛ1eũڮJULVuy|Hf6CTGU̗} /u-_ς4Tm_lh|q# ӲQf<@[~P[vv:͎G':ΰ/вaj?Oc ڦ嘵˪J꛷x![Ҁy=cۃ??$DũC.8yA*5:puQwK.!rg4c6|.'GMɅ8,IΧS) cm2ނCg32/<N߇C\N\ȅ6Lv'[0/F݁m|#xKڈpȮu[a=F{EL9¥>d쵏nDd^+r)74~ &F`t82L \lo= w0Y)}[^77-o_UɿH驝*ܜd"W;%6ӏJQ/>AUmc d d6!ǪV[웙E2gĖΤPknU~Zy*<|UB~A'U=X%zLֱ\ᬇ]nkô:-֙b::OXެ'?4+n Z *ug\ޫNB@mVxwx_N '?G$*0}1aF= >7}2i `eVsb*:_ok|<7? @>˒WԊc}{|֬E+y>}/_U[-+iߢǨx |roivVUcqqˢ4z߭EͶjy9nfy>sUI!j\ZN,.~=oHc.!p IBЙtxD?<^aTۋUqK=xD݇שo n&n ~1L~S85@r໿iO؆XҒEE%AIE%y֞VXs~َV-±hIXiU@F _pϱQg'cPM ^IU~։1lZ `rj7 *RM*>̃l@55T:(y&ױM\5ޗJOB4L1j˔2F-)bn53PL{cU)V{_cYjcKxMQUf$-PVn6,6F,.,[˙JGu``\֋ DՐx*gSb3NI3~ alT'QubHFӫĜi4Q\Ugҏ =X'V'V% hUH'X'~@̋0πcS&srYJy̢Wz5ܾvK`]~t^ |wϸu-M(*+ŝ{wAМ%匤Yfq6\oh5 dz71;k1֮ߋ`;,^kI2:`Ӿ 'mǴm0u 9[:;ܓp0Ƹn uc>oLLϳ.io٫}O Vos;]1oI=$ǀ #ǔSm3U6: tcY{@;~ ͒Jusl7>1*"Vf80tDuQڄۿHƸ:tRTTYAң3%%)+˨M6j @_IFJW88**A}/LAcqlk4ϷkFu4'T5'L:ơwf^긪\FcgcU4`hLej3\ o@zr9If=bddQR2E 0Uk'R}h܊6UYɨ8GQ{N#$>njȋOFlJ S ?ӗ"&Q<`go6Ky(Běgq9- ?#u?W >f=a`{xܕ\NIP BD'|iGzvTIH{a%IF{ |l!B/B;{,JRөшH{Q񦓭?ԫQLCqe\oyg%g [*of;n{`|YX M7Muloi{rG_{ #cRX-ۊ=0b&% \_JzhKi3 m+.{Jv=A禘umV\4LRƤv>DhRm(ϩ"' p«VBN^6!A t}kR?倕t,[U~t"ǁ)xs 4 :zB<,3O̟eyZ7Nx9o+8ZHk ,@I-PJNhc+E+,_[u=W_q߾EAa}#j~oVŲC-㇫8Q%I)vT(3=^y>. ]bwIwpIǫw<^\_ć2Nlz?ُWW|aิ5Mkt>hz=Ot+@qW77x%Ӊo~F> hZʱ&eX 8Ǣj+UàǎcD#3[*\ӲRSFUoV!;)Pwz0UmwMIMaK`}Y3GզϨ@SK^`^[:SWJȊ-ƺϼ4.N=Kڿ\1AiYMx| ú1Aq(VGZmmMC@e 3=ժ?!r_=:1t̓ec.n՞X_ _0fmŰ1C`to*-)0 F{2.`X$aRh2]7=Ͻn`Ue_2@X*U,5O-e7d-'hm`r@˞J qDSDCJfP[#j#)nkCkC,iZW~8'\֩<璑Cat-thE^^~QY,+3-Kq`0a6Qq@n(ݏ5 ޗBI]syi6trEWՃ8Sȿ%Nu|)53;1krm\-DZ.MNƐKq;Q]0d0f l/ f\)jÝ"yUmh}g?(~ΦW೽z<Kx4 *)wv 6c|4xP8:zikZeˑeA! -`e$ 9ȶ75+,r3+,#oliXqv8d\k(|GcW`혽V0h. =Cs6p*  B{K+6N V3`|kB+ QUuߍY~KK$mY}g(W)*"1´Ce\h1__(UUX4YQՇjԼΗȗ || |LrtDg)Jm~hd Y/G8 @ua`?ec&2JtYw?U W}^뢰?#p祝RqRd|*y6ݚ r<2aeh.BʕdE:‰Z CS1,x,9Q1],ϓc5d5&->aJ;f&̲ Ʀ[XC1Toܡ@̶Ô~y4[u ]O9?`qFZb!^dk  ]i0Y #z.aEMxr|cncJM̌r95x/G^f HVPZz8?합hy5cc!}-j.ƳrT KXr_BpwGHX~D$f-t3C "7oe rRdT 33rݲopu Zf<4`kzyBXZk%-M 3WJxTe_%,{v/\q#n+͚i@ .J##!8npzllmk"(5vAi_TQYI- nqB] y^ BO{!"Qʸ$Ǘ}A )IBH'tǻcHWj'손wpsه(MFxc[iw\b2 eWĴ02Afҫ|knʯ7V1ֽm9l26{B ֬Lm NXQK8*3ˉWU]gekvs_~\#\~\;j/(Q?I`x%Xb?U UTI!+0J LRcց-aUEq0|֋}>( yuזuvU⫒WK+XƭO5J9αdʼTt,R'p<:G ޽mimjAOsml2K.-]mhl1hzcւgc=^x|?gwt/oh|j^G}X ,` ;,{a$h'07m=n&BpcnweEm! cEb 8Y;m1`v,+<ç,M#/=z;>c&+m-}m6de-GnN,NT6}>gUi0 ;d4ȸںck5֬? ub](F\O&qQL'0c &.؇h|z=3ՙJU=dq a5ۆ.Êu*QRJN‚<![ƪ3τcgmXX9y$ R^JpSTӔ*uSPA~Pur_XMA'F9Iy,ט בDV5py?X3AY/e*&NyL(֭ 3%AUW%3_0 UY%VVrO/R>1JUqgzU&3ªa0>JTR1<\wɇ 1g$^_6Tlc<`Xu@& ,uuPel 1fwY=q6fOzcC ]` 6p>8|l~;lY}f79O7Ivj&o.j/B˸4L_-؍)R'Oa) =?mtu<ODbs=1'ÎF`uNDcA?|-?I]21F@0=z&cJ=L v01$ K}~'RiVr=R/6_FG51@ v \eP:#z$U&wU襚%eQ5md`MWtxhw༧%831*TtLE )@K;g$hu%dCA]~o9]@UˠҶ\ \ވJ({rڨRJW%`\D=:{\x[:*L2xTr , PWeZ ĖPq a46v8r>|K %<.E/̇[2F/y!=HtȾ*iB΍0Y 03^n  o28oJ RBbvq1S!CF@qo}M’[qaMhjŘ4|VoŁv Ot2_#A-&/܁m0S`MC2BmM ی3[TT m⧆ϙ=~lgR`gP@kr1d^^q]^~s١ZW^ׁWh YMșK0p?r9[G/E¥4KҲ eh@EiT8=v`ĸ5IHCgO2ή`YX9O7I.rsQg+pjU e 'pp3'%4,"!ChC^95Tnᖼ}822`U Lazj ?2/z({QB,[Q+ P4` UvQg\!V5d3yK+9]I%L$YAFVAUWՇU˸ `^BPYSir̋JΤ ~'2 |@͟6fn'-aZ35:FSgA?vg9:΋[փΙ? {WUGmJU?&beq_3<|qjUNE[:V xQ(Q]m+J=Jߩ4Q}ݯEzK X vb&?a,\Kbȥ0y-f߁<'¢^(9ݧ`6YrSV?]ACZ){0aFNj1@][1Q@ssVY]+W 1f+N M97fow5g9^V[<0r=N߃Sv{0j/9a^_L/S7/]`((m"'.OG ჏6;Ok0f/I]JC:H^K8ck|iԡ)Ӭ8fnĬm"=ެu0Bd_3ړo02cM,f:$̵{WeG|#1`UC~C0>S|/`Rü}ii70=.S71% p˵ BS{3 9ԗRz_ڝ]Gg -u79z\*ś&P0Ag_ 29~U$yi}bRƲF}Jے6s/C$X˷x`څ3/z 4NZd*itgW+z$ߗ_F<w{y# ^\щ;t<x]&g"6 [YH-G[k'P-b.=SP6iϬGO}zop MħkZz~Dqe;ףu56=zPƂFjK)/8ەJ[T4lf4>(3>:|Kխy̠ *׆ /y򅱑jd\w6}ἦWeUZgoU-`9_3UeHUBBNvjlf$.zs2`ƬR_V v(*֟ri!G929޼a˪+34"7? G4d>ģlT%>N:Vu[hfO# fìnO2jFy| 0t1KwW#Y>#YcLOż##V'c~\?scD웄I1.s/`s<& է !K0xc;:$au2Ƙ-6c@=>4 [c9,@%0*&?}fcLZ䓄0&rD_댡 W6bp@vS~/ <1Ax &X}@4lUx fH1^q6]{iau$ 3NDc_b>,OvbCi71S@8zcaRULY3U>_̚X%3/+h+&LM2ֆFMKˠG ݕF L[`}^oLԉ˲pM Q6bبrԔ*GS,N`H4KiJw [73_kPtgLԍࢹNnχfK8a ܖfĘPoE)p-GAEF!5Z5Wo@zm@xaJRҴS(|rn l\s/yi[ATsn ޲+ 9)PJmF~g]w5@03MN- θhgeWÑ  : `[}wGp0;x(OLvpxsTH'#9-׃lqv^l ^r=TY -ٲ  ;f$z[+ fTC| 8}c sHc=sXI/$?,D Gp#|C%)fRk᜴DiS0"&6^n Z}M:o;Zo:{h L::Wz['oKux0%52$۞o&%~-9]C_2'/9=L$Nhd=j:i͸Q^Sin5g*ҦVUu%*JauɾuQH%,u9)nGm7UdZ͟ ڄMօA%+(MAkQ ZJdP]hn8n1N(m-+c+e Ffkl)E&~_6 |( |vx!脱Sp4c9o>z q! 2po'y!{J~,'8@ʣDQ-2]=hڇkI~)6/6LuaJ ltFȵ@e<-Sjԡ|=kaSe:*,( trrk}^rM`/_zwɉ)~ }Tmy$30z}V 0Wz_{Ƣd=Z w'Z aߣ~N' 8 '90fs QqTڪY4,[f,8|;f~*`?:aCi3ϳ<4Z2!TY4 _,Wy3?և@:rlRg*DB#s˼~{k@{k\=S}'Sՙ4օdބK$:¯q_!WgxUch{SU:өjR^^8c:C⛗TbɇjU"U*9/8"Zcc`$M'i;5z+J@nQ$ ³b ZxYsNf-}|pJU+2}+ĀK#.ygIlq`EU-kLoqfE{-}kkܣx@K͗bPx;'դxLqVj_ 0>NA_]j3!߀mvjnD !5i罌sn?2< Rw`|C {#},{ ާ=+|L1prD9_%"4m I %^7q(Uv=uH`ɡF6F<]];q*Y&^9BGklTۧi}y_uƨӦ Z*.*jjN54߇qUq fXDܘm+G:֘!m\ڨ89VQﵾ;G]׌C:N2!4-(̌6N^t7q5(Y$'TХ1ơS!Xj\3yx_VLJ3 yZ'Au19~кsy-/nL _s/Qg:D{:񞘗g1?T2ͺs z3_ Ivc|A- <[W.'4N/ͪ^l 7ꥩKw<ўL̷w(M׬+@ey>Lg#@m&,:-Rj֕6-M2@e)XQ!A5HncX W5" Ūu;$#%fVD[:-ȩ*CqQ. x5Ar5ˠTRYcvtq[<:tүK\1\ԝTYa r N%RbUe2^BSKj.Uorag`U*CU:<._0Uyye6" ,S'Pɷ?9֙eѼXk'k,_ zB0 *U;%=j3x Xf0>5yuc<֍?guBD!iX>`٪Z|F?;=onΦ}OHgkfm[h3§#Jw"GEcC4%b@=8aJ Y~bqD*:`e}酙|1lv sNLJgcKm1 9qg4օ]cbiLzHMG^7`<6C=}LKbs9171#8w{`F X}af7YcAI`&z}aq8\&ò1Ig@<3Kg=?2 , ts p)QZ'i0 =3tdE˥V-@029/6~YVQ/%/2O[u=wܝi cfNbٝ8ĎsX̲%[233$$[Kd}{}vn}>S|S?(\K~kĻ&z-0v5}ح+X&p샻0Zs|`@"ݝv E8"xu*/5GH䕛=W_*[əma6l~`/uP+St|GWmf#.ߖcR<gvh>!VyO8* dwwu|\^̹;Y ɳ?!J8N UXt/<+ef%:P3ӫAsmpHH"٫ UQ_x߹.ެ)*th[h2ﱽÁF*EY]n lOD<M{r3٤Ӎge=S6όр(&  v L%&!%=6Ѥ\#eXm,SA"K& k3Dʶg>?!e6I'EL=y1%\31[s4fS@Ll69 9!JM~VfM]mfi`^hPkű`ıIMoA'-ŮǩHq=4mSlRyS9jTWiIʓ'VAdkKζֻ4P旍 ˫\TVqPZVrJH5U*qP]RVԕYL!!F} ٿ;uj>ݠjK"-,HiCE7Om8P5AuėI@܃s)qmhі5O =H-s}ف >rLGUމ`#4hB#IM XzI~M;k&58V+si@~nr 6Go:Cz%8.\d𘙚8@5{5zG*@oH%ɯI8GDDA,\@$L~H{4ljfK(EC6N>|ǀL:K0PCI B^y> ,#_h~7bz5{vĵ|IO ,C[L$c=&ZDlbp! >s;hm9W:8 Zu0{/}7ű6ۥ\IDAT=_wpz֠R}dzM^`tË#Lqzp=)zIz t`3zP]]ӣo6\ Iw O<,Q1)4:Az~.ӯzAߎSNY! NORĥRu|+\υ,p][]W[2Ĭ uI7I^AQ+z}8wg>S>GgIoϓzG\ iƃi\g,RSa=l cծ6GR ۠Ksg^^KoR4n[޾vK7/zG55eH{uKOx2E{v.[x5KU~dmQ[sL36;CT//-R`>v=;[K lq&ɃCjݹ`N/SՉ^ WTXU,6VV`:oweqO)0\|L|`$ ++ہ->/xoqv@003X*vs&y/y;<0MxyF k"GXݜ8wSI`$G\kNp ꈄ;m)jxI\~eF(jnf:@B'{ Wy]i͘U0MKogL J_를O45|2VzSx=A'$MU+Ş$l/N]Ct c3\|iB]0$z\3iı{ލ,gXqu%Nr,2R(6ؑbj@Ś#Ty|{NhG,t }Kwн۽׶J}`T}V-%zgWpJ{ //N|/TdK&Rf 5,BݱR:пqgI؄ 1iMb gJs&=5uf#$DUfj(~ޫn`GZRW55c+@ԗC;יXڃI: Mil͓6jܴs KKs}_XԑzSGPPw* `GSϴ=uK**]pWY]YU^RKC/oGԈ[URZ饪U Q7>ur3m^Z\VR&yc=KV6RӲ ?-(8zEK/60 p2bk:Okk.}%n C%8BҁoqmLvX7ktʫ]U5n7gJ8_UOG320-6O`R` 1go0ʼؘ֠tܗ"u$|̜< <+?9Z>6&?#=| rτ) D0Kz ض5Z"~Qo@.`4 4퓈K08 Kͦ4 6[b;NfG̑8t0G!^[] $ؔgPo$#n7rrfr#Mk ~ɓ:ۊ 8``La_uMl^Zymu|yx ڪWrE4{]F-Z3/'4&.6>&-&bpdy/\{aKԛ^C?jmOg<cs5\]ū | ={~'$=#4xROh^m[r=Qq:=:\OX~nLޝĬRV}b֫nzi#6Y\'8WgPFOg(=+2|:Tw$xh9SYw~GLVi=blQM0g 7GC3*KmVI_gO_= CT7C7*M9{~16Ձ}ĬM꛼KĭSU E?gӗeEZSX=VM]c6NS48>XDMzֵz|fƯئs:3sfU9@/ " M)4%b*)ށ.Ќ7aaߊPrM ;^'y[+ge˩qF*5PM=\ ӼMpu)~ˣI_E~s7(qep+,3{;Kas5wŬoSVVu8^2h^"VلꔼAG,Ӌj`V/-\3hב]FWf8 ҤYKW1i62I|>Lvmdu/]-Ww^%C3hp6m^KS{zֵgPF YoTiLV9[;szg31!tNITůuw{'5q rKp!kţ,P Yn 5R;j=WelDD8U`K$M`?juqSՁ=#j+ZWlu~O``!"i=[ xJ-P%m n*{gߪ,+9=@:xܟ=A{NT!%v3=# hñ}i<H%+]\WNA7$:5y*wG8vNQAV @0%IVjp]<L :eW6.}n|Z!8mYNCxck1К@i N Se ^<~(oEњU,[-M>JQӕ*{f{#d $Iȱ.9"v.q4KfGzG.:=VM䗐uw0^nԕPo{W;p?0I㕶6իw*1jBG)tp͛?EE;`*Z*sU<|i(+$^5j7gwbl[owQ=}Xܞ;]W$>86F[@Bߏ׊lsN\Ae2ʶb7%hTTjk`/l=4I(dePeh`c_8u:9IA ySIms&mf~`˜g Qj|y ~9O9DLye| )4A&2BNO;jr ȤǴG&\|z$"@)=dufkDMq!֞N^w<.uqv.|ͭP:0@@tS9]=f_`[uUjte6ҹ7ԹP;hV2՝@*Pv;Eb[QU*;EUg-MF5c&mzuw:QXG^Q~IUxf~A^:Ul@'PF[/*Y ?96Zf _X8@`n{/8G ηQ.eSLf7%u46Ձ9*t{>k#@=1i 4 !:m_Λ3,_Se&lyX$MT$ɀ9ڲm̖Q&mfO5oѽA.Nmil:T f MN:c 0'Uت iHoR`{X A2؃g )Vh8?+nk=R~qyIĖɜpa7YÜD=JʎpwhL$G\f?rhIoQ`^(U]>8<(z/m:QUaqktS mp}e^>N?O>h n/RаPo5:غ#}yD>qzNpۮ̤Lu$6~z$Z>ӓ #X"E}&jd9[y%=e:~oVwBxu8NoDl3T~Czs __މ+c:&lQפ5^պ9ͫS@ij'- mysz1(=iz/V7*iD/׳TLܠ^3gGߞ^DĹzf|:MTk~g-sNϿU([CW^ަk~p щ4Jk_0e?QmOi|^kۧ+A'y6lH@f6OL4  ^/HQF$ߨYخ{Cٗ5 y^ ^{b*t {*ҙ!FEٜ=i9Jp!#_$ǁ8gzOxF"̞tE||WEl{'KY~)9ڳ&RWGx5[U+\VDT/"0P%r&**~2: d9Gȕ(fnLc\ǻzyaqԘJL Ndzׯk T"=&|fP)c.c ~1`cxxI] 6U:elԟ;U{ITYB[`Ѫ QUWvW* ߏd]{kut`k؀ 3ַ=t3i2i#yA[&n5b44`7%@8d,SL~bIjݔcncRsyIv$:p7/M`roS'6zF ~UO>cр64`sG~TTmqԓx̋ /\G`%-gN{ /յV\5 ]rU;8怨3`K_j6xVgP]ثTu'‹7ԨLSCX+uz漪<9+TC7gwT\צ&z` >U0#`5]3[Nuշ0p奼8#ɇgTd`"1A&X^8ɴ9ûD^1A'`5$c,bmhI&_Yݨ )$Qw}/י[kM&&y6ofkv/^kN8r݀6MHHLzL<Ҙ])L}{ lkG$4 6ggJ5G j:e$ĶzڤȀBzzcHS?h/y@^MzC`9eSAh:bm%[}!(BiԼ0R?l Z{ѕIYa2fCaeߤf m7- 1i͔Ss0xPw<Gx U'IQ}3/fCG8MW1<=SCXߘGүOQCyg[ jx~]kCz&$CNRwf34=qΚח z`TS'( rwoS25չ ysngbo ekS{':'}zF7/7ņ@ O .mߣ:xKԠwe,@ז8e+M+ś%^r8C. 2Xztsyuv/NPyF{x{&ƃ4*Ԁ-0[Kt9ھ^ڥ+TI{||d+%@7Pp}p^&9{ɽm*x?vIvm0jE{x{^̞xz޻.Z7yB-s=# Qޕ/ޥq)D& Vh =v@ pH}Moa`K)=`f@jja45eyoxUt VΪ}9oRVJsc/Օm+3[k* Gl2ph@>GR4UK94UzQCOgz葎C4/IJ$KU{}'ޝGrhr [6-~秤q=uR?OTUKF'iW p,آ7= }2o>Iڪ^_<8J}iS)sA}yc=2p:1S]G$h+~ϸ6`SUE„sSuZ.*] 'ڒ[Tl1/bҝ~$X- ^Pq|lE Nˎ-*sUrTdzy5ƒu:%nW[NJ*[ 1+f\X|x*^o %#vP=#!!&`+ % pl[}wlUqhxv/؂xo?,1\CyN*҅YZӕ:S 2"o\jM@bS)@ KX<<K!pBCېf|):I7~ywZ( t!Y8[sWzd?xOqpsXR+s<ˆ2:Se]4;@-f94w;I@4gfO/?T\$%-YsVAW{F g.{Qyz27)nݫ9_8 Aֽ^,ra4= f6z[dJC;rqh 6CfpDk㕁I/2 &%kc6nRYS6UcLBk`nA 30F3nV%V`ˏ5sTcsdEKGQs swZLbEosbtgNDʵ9 pOHB-[; #2pȂAJ[($GZ;vThcay{7crTƚ*9լ֖gۼSg)̊ K:w}-Ǵ)DT \~Nz1J^=^a4c y ՟SmS7aVmM*\+ʅ}.2޾E%GTT^mY'3/sИ1:u Jb2UT2 橁6& \QNaz;QK>@[M~sf48nyk3Rp8OL@|wܚ6\bu7Tq:jfXM~7ȶWs̜PqKQ$fd@j( #S-Pl__ҒIp6@bWiZMbg&6hٶY✭N ԓħΤnm7c7ΰvj4u\okĴVNg}ņ< m%V>($@7b(O{[Xc+|9!P/l8U&>ΤC tM<[[ԕt|,m$𡰁s:w8k;U}8GX'O&O?/ԭ;~.oMKc4bB}8yz^Uu_J?3E㇑<.ECFGԽgNmՀHI44nxFNu2G3E_Qa+5)m^ /gߝzShbFo> jXj0_{N_n 9M~0n&2܄yݸyE7^kn&#Ue/Q]"sEnR+=+30{9(|BΝ*t㒃++`;$6ڣ^]lc/IS9쀻鰗talٽ*p[kU̖Uxת7jH 6*w /,+gi&8>`(6ÛԌ-o\7w`z+'yu˞oKSx[k7`B鑕~a/{q N"ؖEx5'68آu~o`xX2MKIy2oNR;h*ަcks׏lOS~[+EWpBmM @bݽXNXQ2K) d<ڸPR4-l"fI1~ˣ(vG(ڥ]u\{VjK*-^i?լ:{BpEkL;X%+RxuFq:AlLli b.]+.}4I.߄Ů]%zYL̙ԙܓ/ׂ%ZjRRgb;F ޶98VG\K ́$ >.f>͖i=6̹ycWˋXdgH;&4`$DԤ,[I1M٤"m[!q#c%G4Ԏ h9O6y2sQ3Pn`h`n*53(f.dh7Pṷ}[r4iڽ47¿E[9&55uԳLpvM5pʥs-$uFUٕ֩{^exvU]S"IgG^.8W>#c4~V/Q?=4FP!Õ_yc.TP_ձNS~ankQmcϫCF~@^kb/"ϫI|C# t.CJfu`ԝ*6{(` 6a?fo6->sgh&#i`$S ô'Ձ#D7'I۷d#"-c+xM='̤M22H2qN#kHZ3h b@lT !T XAVfB:ħcȇztb6=!MG:yͧnm"IIKe7$|pL7TL`@9١ҧIYAh#N?H}`K (ϑXIgun"zZZM]x~( >> momE 贏eHG_2^6y)`6֝V@K~+XJڮilSCRk*a~bVקHK=5lף׿=H!! 2ya(ViizhuUx_ޛGV)sNb͞Wj[_'0Y݆E'73h}B)+}CFƭW y(J6]Vٱy8GDɇ4S*2}Ƥmw@=j~Urz1zwVf=r-8qJʕxV ͮQImqe^)Q1G\쓊RG5#rEszdzp(=l _(5Y1+HYeմޫXe.\;^'}÷Mw-@ `^jѭv~۬oTuz}@~ᤗݼT5O_՟;|Y{C0IV0,km3•skKvnNRDJבm(uc&iXQsôȁ[tp4qgJ͈Q|[E*#h|=K{ @~+t߳}*(v߶+>Qӧ9B.>jlIkuۥ]+v~G)la*Rl7[în%5y:]{7*ݩeۗ(ai278SgD(rIR7iG(^ue.LTJpq(7n^fNS7+eevۨcYڟI w*iI\=7Qi>+?}Ԝgե l+vd{Z{hG2/U} 5* t:HE6c/f l}QWV~uf^gjfހmW7}fnTHjNm9W-Ydb >ڥ?k?&2J X2O֟~>`1n4@~G8xJ&e|%-`J3qL(P&qآ4sIK\SS}$fD|eA*e#s~ۢiO |KV9wԝi}HlAp$c@G_Q3/Ḿ9g}@/%ԁv:l nlœ'д~$ Dij]ԛ2ٹq_K)޹oНuջ?^|czkؗ Kؠd}vi5୙d>c:az.|KЛ0S7)if%.ڮ;BC37<^A k)$Sgכ*f{7(=RQ)i[e3aFU^p@qJӘTnP]JX|@7hPrZ!&)feيY[`M*,hX u1g^c`9i MLZU9@6toWbV\MJQazzh|QYҴ"G̸͊pW_G_BƨaVi]ƭޯJ,8˿GDވ/?ꖛ?歫^*s9U[Lʶ{݋jQۗDXwVwOy{ߺCbo_וJ?si}w?|}}s묗'Y[D1jэ y_o |MkdWɾqP__+׭n"v-jkq#).Cr@I0KyqK.ᅺ2K9 ݑmvg l7 > \9Jn?P -w@YQM.6W󮜫}ګrLotqVzh> UPytZ\;e(=9c_}g7):n&MKTTZV՟&tnܼp7<_<^{zzC%/ϻ55dZn7?ꜛ^Ԧ7Xti}'$_ež 0) 4. BmH4ᓽ̃ͷ s\ǖބp̋M*lRX2?{=I~a,LrƎpw g39i˚@☰ 5/ao/bMLN4>)Ĝ_f#2iBj*HQM]:::1` RqNGaH6f*oGo&}%2|F^ķ!@?i&zё~:Ғ?2`~&e&CF}vڮ!q4ʦ7Xp3/AleȠ<A:eJ u6@هVL^E'P VHgJ^JģR?l@?esg[EBe@m%3fkGVoNG7׺.w .К )nze:&{{^!1k$w}#car-T%^:95aU݊]o}Ris4 b$*v"NCPu@A%)YZwT'ӯ@C9|=V::E3Դ[5>2MPW(yqB6*iAOެG>[Y:5]|kފ_ٚKɇ5A3MQ4[5c~8G$L?"]?lQ;'j\:7 ߯]mш3*V6Q}ƹ^p#×iH Wcb(tEޙHDg~R,U"Em<17՘:K 9u ;PZ}g&) }C_ߺ|wGfÏ܄޼oo]vM'^{~&_w.{=ӐFM>Z~rfLZ Fm7jƷKn]iR`@7/)DMޡVs!__uМej(ݣҽ^ wT'Hv9zB7eI|lfۻ4膋RW{D'*H{n=%tX4 T/0 >}{Lg\6 @1W/vp݉^+j{ l~+whb`ެ wJQWT,e\; .}!՞ئB/U:UAwNeb##Rup]J]^ Shwt6"rl]C۔eۨWh ^4?J .͏9!ڰo޼]ښIK7{ޱiݠE >N)=1 $#9HݩCv=ޙUޛV$za iZ:M Ν7[7/|hvQHkt*[G)p/Zj==cߜ0K2Bj:]YmŇumZ2V{3SF ,=;[{ث8O#[`[T/&9 uy{G ~櫱ϓn\[7w?U׵J\ ww~~Nc+t{?NizHenє .җztdR6jVJ5OwKt\wpjoL>}UwZNSMuδRFj7/0-M[vPsyN^h7nF1[0+oxf'}(ڗނ2g|} ~h<,77Zҙj9olz%#}I_e15Scl*TSѫ4#lh4cƮ{MX U+=<.cQzzLMTwRR)|QE9IsW/r^J٩QdLڠӒHgѴȕJt ϺݬW}YclvF?}nޛKCWSFvz}8K~^)~{ޚCs~0o|7ٜД EfjGvU;\UL[+ =`oح,o1ÕCJYRݪ$m(^J/UQYbҖj\EcF\WZ]Z]~tl?ROwcέC:zQE;mznm)ّjm/m:uo]_Yϳ*>\ԱF'ZrRF`Q]\uq|]wء^o?y$~31!Ybi\ `)0/0W #X9{57sigSC'hyfmPP uu{+ׯ~ZS#kdEcp\>ک-ܣMV\F8wKM:ZgFۅCASk|D` 0@k buu(`zcc;ϴޠC813e)搫Ms}¬B->y#'92r5y1va؇`gWX`–)a3F1HXՔC[j"ShY WZ4d(U (lf̜m/a&O ÜaF=4Ȅ!m"i7)A*,qɇβ/m*p`ߦd04`Kz@>tR ڊva(1OG&: 3645E1xyй 1 FHt}qEĴ3 lMi&&Hh{R.I5]lHϾ8Swڊ8NYpؗgӷy /FǴǔI^L9wyG%nݸ+znlRyur ioS{I/jS \Gj`EloTFw<A8Oo֐IA{ze?5FO~0S#&,RvQYoE/3҈K5y\.;ԁjM3jtei>mJ,P\UL^T:uκsN=;~7?꧛ٴŁ.ۯ85=?xFuyA5?:y{gWvʛ[<h0 <Sы'Ӽ; Q_K^=ygWxNz(yw `lyT=bZ>bέm:[71p;h`_i:7zEw׺7gƩ;yk@vuVWݞi5qW^}Rciw9(|='Wu}8gkbfLcmiݕ:੿X2\idžG^#iZ)1:@{mk$dF${_!m*.Vp\H^Eھe*,vFrc% &m߿Ml^óD姸<õt6;-)+Trz-ਹIҮ}vB+6e(0~?}s7ơhܣҺ[+:eUsÔ1k7jYBNVMG[+}e(_֗eT҅*gT@5R8kokեFgpϩ'N4hˎhlkJUߤn:`47.xM/فNL=`jG=c񃃎uU_.o}tXU_C[j&޷š~At?2/1bg>3m&of\3?pAΙ_[JzӜ ks(KKhl,h}D"0OHm>&i` G:faF~h3S>iI`4CA@%mGL2`濵irv*ƴipd!O5pܚe2>q([k,GMLmGx`EkKCYPh M56h@Ƞ P-8!<̙2@7_ R)NsDHMptL L|A6y2(?@" KOڀcu1( kF9lZy""OO\!ۀ $fRM(3QV{hLAl@ڄK3al.a^9`7 ~Cd.cRO x)'/gfhOM\LaЩ/Sg%`sINrA֎ZU:*i 1y;5qyd"7*$rF: !Rҕ67~:=U^zRW- zqN80|uQ;Vi K?'>_QSTP̪ZWҋ5` y/P9GCߝc~Qd^(_W;F}BzlF:T!YҦJH XϺ鍥.lڧ XUYQl%9`.B=L x X5=ҧS ܨ7g%ѓ] ޥR=:[=4~Ù*(GY%=ZKk u(nVrAhx`,J'%|=TK,Rf%5<}w#h8ր/^K/{)\>>ƪ|u5{Qg8͟a1f_QNhz&Y%[;)^}|~*]<@׼u5k׸p[T턉bﲗ)k}^!O^=U=`vI7ΠvP^@ {TLƈhOUxp|̽kj6x[r:Ɂt!;`SWkWI6nTuJ WP"5[.[rTѾ_wk˄R$ŮTeLUu-jJN WxFiAJH UM*/QI.f+̕3&cWz2oN=ׯN_TǙ=/y~{*(ޠjiڧ݊KX٪ۛ投j\u^9׷ͬu'GG}̝kI׿}~ 坵kb{+79;~n|:s0h ӱ~'Uysn}rk}W|YqNum뽙wy AdZX{ ,~v1 O8mQ+dWMi s/t(/א#,<i[ DVkt+%iYxi1YGǀO\B2ؙfb|E4ٴ-/d"d~ aL g̼60͞i)?eDnl\,H9kP84 ]:{wjuĀ=PrPV5B"rب4?ebyXiAmDhT[Iޖ3UZwekgzMhomVȆr=>jSLv)pe^-ȯ9xnkI}މYOVlU ٦%;4&,[NFW/_ -W24Vg~wt{v__pV Utx׬븃!xRo^htOכR:ƻ,p|\$¬5vuNuit' {m/[v^ɛ8dHc]n"@nk4mpPZrT砳% ߾ ~fWjTfZٳ-B0{Y+0`up$lS5~K${s=64][y/{ri H4CXM\>mjnE_֞~Dl[AyhKs9`gӜ#טlC- 5k7~X׵] OՖvuu7ی;:zl@'O訃. O]"%Tif:L`*vkߋ:vM%uK丩Y|XO|kv+aMR ·s <=T=:K}:)P?ԙ}`{;ZV/[b ̀\/_ C]ZJY[̽ZQO!/|G|yzm.]a51'v6@DfmuetKN<<k_^_a5Ճ۔YEvek`J+f/3pH&[#+5r)6c nӜ ?fK]X(#,ٔp,o.g3 (p¡퉀a9#%K8LsL%I{1U5LtP4>ah *OhH›* ` !ɗzĤoHH4"iqݴ%njA,HOiw m}2' >l`?ޜIؾp(@4&,e0 pBځe(i?zc/mA[[iC2ͱ}o(}h`K&i_^6R7WPƛ}`⢼ԉAv$ud Xu}wHwb܋~rJY)[;S;{ocghY1ܢ\Wrx)r}BKS"5zEI,T'D꡷N 3;J̕'K4fF^.X5I7-Fc%JRN]Dɷ,LcC6٥+ݪ2U&%著'jܜ$=5{EWtr5's^i J.jPz #C>S'z~{{mr'lo;_Wdf'ԯ&3j#а|}6WdA7{Iz?HѕGTܬ*i^/}g>_` {{MSVo)i 77F.]wyCG~{shڦUXo~Lq޹zD/=g1u>եooxaVNwzsKE#< 7ƄgLu;våK}sܬ]N uCZш]:EՁA&orYnnK\B5+FÁ.:;b4T-j jiuךP3 A@4ƝU`*V`u;ׁAxe`4“3 zAqjڝ&;`˥ײw" shv ۲'޿FUiD%*Luig(}R's*UnR  \a}13]\e'/SH X'Aa1|'/[v*9)Ёi=1E޳o\kSpoVteVm+XV+5)H#*&cs"!(H׾ތz_n%; \hwD.Tx[yd9r&c`Ιr!.+fʌld0A8S^O?+ mk%MچroqȃQOҢ4OMꓗ%}d<ʇFAcqգGy-/eݼym\Թu`y_u䌂"W(!D!%PxG?iq*.Ubfƾ7IҴ(*O)۴(n0H? Kiӕ_Hezz~?׽7t_t]v9EzWh45 -U7puenZB C K5mճ֐Wcn'p@sH},aZRڟE~DN6%cjlDN_f._S!/;ą91gxAyH0dA2t`AF7+Xmq͂810p%/Qvf@GԉkyI9(@yh`T /Y@+jB GE0FfҐT%ܲe˼3,ҴeŁ`9R_là0]Dʣ&o4@QHSڂp 4tN)u! rHY+ :2S6g`2@/uL}t&R>}.Ɣpf0WKڑMM9(+K:E~P̀=h $Hۗc`JppfΙ>_ C]ͳ5.}0Os"Q^&9Bu3 MrɑILKK>mb}N}H\gr?8pJF*8eBPKCF֯`zeY-Μ jZcgꕙqz~R^&hqu7[9I/|Mu*it1k o\OV9Y{`q` po ոbqXᾺ~0|فO{ZΨ2]ܕG:^͛Бݝ Pa^ q\W0^;U-jv^xn*u |`"{V(,E;؍ (Q9_ jT Ap|͜Bg*!7B¼)[UVxw"W.W@.0q#\mRzb#63;aVpre&/j-'ym*q|R"</mN sWTMQ1Y Jߜ().ڝUIUu.CX+mM79NȎR|Pm(Z~+*\5RAM5wgDn?>N5䫽j\+ҍKuRZJ &ViPMO꽩9ޮt `mNx6y~q8-͋},8ܻG;԰WIDATղSgLt?K6HrU7UVy[V᯿9ӵy)~f`y4 cfe3x43iʹ&s&Gȓr0o򟹞Ӵ̏9fuE=o딉\jMŴ\_kiJ:>7/r4&/X טꗡzh6nRTbM:T׷5E:{}8)LAڹ]?@l@ps6S^O9@ ekEߤc \K ,9$Oti4[Jf'Nidt>i46N:'k_7l_w^Hģ0 D[Ζ}E> $Gڴ)7/r.چ43G0 '=`6 OۑeZ9 9=T% E͊!d/}ڇAM:O~ag'?ڸ7 l #;3@_ ՛64uɇ 8C;W\#󗯩iXC˂RLѓL׫S4fqs?$ z`R[$irZ_?`.b{Y1s4|r+"Gzz͙z -+V\y;5#gg_w'ߞ7f%ݹYm1E/Ns?^WtM\O ' d]Ws5bV*WVliB=4-ܮ̭ IݤKS?3'ѓZU6kivxx ERL^nگ/j|z !AH 35zJBR|+#/Gcw*,V ~sz}^QSFX-W&wO.ⴕ: `r]_03xbO?뼛O;`Z8bzTnqPs_[?^w|3Z^Fv !3gڽ 4&=>}㸮_APqv4n|t]A+V+&1j,h1ZQέzfoڌy`-fSQ5۰{5uk=b ?(7qLY{~`uzȇ\]`ZpVmnY̠*=<%; e9\=cBFZ]=Vy7sհ+ME ڹ6kvO:^JUou/Ҥwu)?S/QDA-;Ȉy]3juB|ϚyR0E*<)H[lPIvo!i^Ӛ>pBWV]n~۔Ĥ@*,ȍVfa%.-Y:]|Ta f}㊚UחzYt;=#krK\^@os6oSW*kkBR k]MKU|js┐M2#v\vx9^tngBFRoiށ]:ұ{4oo\tH׮yZk㔶*B+6$y[]^}uF5ʉʜ >Wι.vf]>{=s+ f룻W{>_s۶$Q^whk 0'? .ib g<͡im0E'U$߯e^#>sj\jZZref'OeTL \M8gs C{Y\g2_dwu]qC^qHI۷t+{za_^L}elShV&z1vzKigIZK[[Z_,T/5G<}s-SDr2C15݅zo5aNV($zW:s 7{z{;T{ΟƮc(0KIE )Т|=z|4~?X/HO0Q)Y;t֟\ců9ƼٔSȮɐ2M(3u>sߔyEy^+p% J\7l,ڄ{01 4S̙O\X0\`3e~9_\0:f&mNeӼVA͜qt@@f(68 k` r&]rF4  M~40 AYZKYlkNh,gi=p:{@)lJW9̌:uI4LR~u gd0^yK!=3[f2ԇQ'8HϴL<{Q!e}A,ahu}-мyA[R^˛rP^ƅ;Dȏe13 ڌ1B}L(#E\zfOMMyɏ{WLP.EǮϿg>幩zez =?+E/HӐqä}[NU RW%)z,i5@x[{s4zvnVzaŖiV. 2D/>Z&Gz BBgF%9Z,Uz[cabp^]-JTxwQ_]7r47Tk|^},C~2G3򕼥FIy%2/F {GO<:*ve:x t[E*({ zizu b*|}ՒܝGoT|qV!>%VcUZZIe}J+=ZG \.{3&}~wuG֦[\[<-(J{`Kfgosl.&@th.[5UW _|y3yWQ!38Uz(jņWt"T^nmߚ '.?|p WH2SB赾b)͕5TZ愃<OWU^SaZy>mɖkU7Ujzb)&~r$zS=4ӺmLQtmT4%(c]\oTn~@[)%eF*eeV'(uMP\Nۣe7$qpdպUgTưlqJum6>ޮ;*;?Y+ [V{pTu<s8}ѕck{>DGx.DZMqHws_^Tv7˳_8ץ z gf̿3 0W1XhMisqHp3~ }[ҥ e4+- -T <1͹&-Lv"<&~'|Gi.mFgs:OM5 ڐz6L\&gm AݬLlee6Mffr GY~1%ofk`mEד/~'F~ޟ $Sfwo:ʥ+u!vWUKo] MX//jQJmtA/ÿ??yy^y}xwR2vş'hkѠ;24d790Ș7\I7Ȕp\@Xs$li?KYc+0>m Y2rsL j(=@3A呧K^9">uSTMQ&іڲUځxr4xf @4@0 (5m& m*` zmmD^TδM<60 i= @6m @GRnb Ec I`of:ɴ¤ ɗ0$%6YAP@Gr#/!YKL^ԋ딑%} yh_Ҡ*e}eģxH 9ȟzg1srL[QO@{x a+yXP/SfɈI2WU[ äE˾sL#eL2M\rͺx ~Ҹ1_jܜ=39\TC&z'z^ YgkBrtsmK"h!F4>HO!W 4[[:S}<ӰO5z =l=6v; }MPZPF4k6}|+q=;;J|D [[E%z/4OOKVȢxѠbF4:3Nvi+)Pb"-^B+-/^aZuww.ܪJKTlN(+?Me{9kɫ>A+d+qmV9-.+ڷH٩͌UΊx8Z)KMBLLURZVWK@_Y$R&NQ1̊ppڮ:R\AUJˈRyIN@M^كePKcהwZtN7>wq_w笿LUj_Z4<*~Uܢlڜ5[rqNn߃utbۣzX7G |t_Gzu)ta@Xm\Sh-GlPv5pf-VcNJuy_{?n6w^4[Ӹ rA/Pl{f6m`fKf\Q(s'qL+d3@&/ks5u!oAS#0[XA=g+e5H5G1m* k0K?)3mK}gˑ;} OX]|ĵ06n\E1E 2e S={z]AQ$=<Lxo9M#)fˬ%!ohwϺ|CTT-}yg \J !k [ekWGN3#ksSJMsuokUW;(W' }@"rD'12-l}NB%ivM$e7Z\Qo2p cNw+S^r9X>|@y$ҁ`H&OA[lAB h@0Z\H4"@,tǙ6\2$=:88öťtiIhT)@ rF!}=u:ߖi h0:̚IFQ?o3ߦdq-C\b@N&Б c(dδ€}9 ֩^x |fHK9irpa?_xڝ8I,\ҠN%x |Ҧ^}`N O?+,+SNKie$L`u135EJٮ t<+RcBW47)̎*zk"i]7#VoKքЕJ)Y __&/5/5uNwYya4=&W7gv|==+w! -Ҳ;GSO|ET؆jiazrzz荩2~"6*h}bKD-N]ͤ.]~'TB4oZ;W=`Gz{}w(t:'jzпr{tůeϷ}~` E:1;w#vB@ulZ`Qm\ec^΅: Z[R de*%R{Aн +~1aE\:A-0k H}<5f0 Av+Ghw{g^%/ݕ҂xE&t{:QS oNt)͘5u0V+˯?hܰ{:]/WkKj=ϝ4^}͟S78`&#N5i [{GQQa.ҞںȯMȎVTFbͻ7dU=Ds5re*Aۼo*v(+1BI1JKt`uJݘ7wT\+r<k)ruO7f pN*e:؜ s{ y*[VݺF)aJώ5IZ=+?U+ 3.I;֪R 9<ԶGx>նCzKus_Wy?{Fގ}jm.Q\R:s}R]'vEDk+kT)Z՛W+ G]MjWࣇvE=.Of{v g{7y=~scN8}Nh_n_4~?n|hKf˱ڊ5.|bu栉+i L{jX `Lt \Ȝu488~}9&Ðs(A)ƀL6 F̧f^kZlrk3E.aa4|<,@x36ij0#w 4y2\@Ҷķ"eVAybpdX}=L@V >z#;M3:wƵ:v8yT\Ю:nhы7vsy 2v@^/Qpfkc?>xuG}qSwQuife)Ӽ%i>;|}yK } yWxfF4K7gi146+"uv\OU&өKlAdC=nNvпk:t-]Uks4dzJr2OxVE9zٯíX&(2rkG>\W}]ʒL!F2 ~6œir'kc("MaGiw*` C39CbZ`;6qNY fn>LiH@hK"4; D/T0@,a8P+0:v̤ f @) 444E0XL{?F9MkgjyMA[4,߼4*\^ d70zR?/%D39ripǠ B3:/0^}"_^ |^΄#? OX4.ԑto ml͙LI31a_HYK jy쫚}=a'igLh3n,' /]|^.^kwut{7h:>^S?)A2jNViQ~^קGkzܫ35z~y`jw*Qϋ??Z 86$PE Єb~'mդ_֠0-_o?<Ν=sΜoAJ8n]CIa ;3g; ʊͺRܨ;OGtJ"S"q179' Me((L3ujF2sb&)$\ CUCjDN Bdl,ou"<`允_G&xdZ¹ZY͋qPS(G_ u/ ^?+9j9xE[8ePB/FGrX7䑿LC [AwD1lKiGG(S ,]}>#S=;j Y6g'Ǡˤ"yNl?eYu9럖1ܼ^:U+޿r~=~?w"Ţ#Ap:*@o`~=/W->Wr)l:jk~g3X܂FT#韁SiX6`,dHYQ|dυsYE=<0e)SIp˼ *$V[w_G xeDȵFlpSvaمtcOx d[2||CSn!F`6:KEN$pYp)1l-~5+jIh8kJ)w~[cq&4ï| ùb,:iC:؋X3}?xkܛi 1ݠ{Qwx}m\ ߿徠(WEu돏͜B,Oߏ,WO0[i.#j,y? PML /X#(87`e,w#xU"Лi\{j1Y̾Ooci;3Z|i m,XM9C_c 1Vgx^<]hhEqx$qP[ xz#+P[X4߈GSIFZX&GK .USCq8 s9#prPX)ٸS$ Lae!Wcߥ1]JP%0WV QVwեt|Q.hVk<8_/\/ʒ>w*Kpv m3lO F#Y;jPZxe 8g1c VǰX0QR-3?a#c7R,^}_ѯ&;\n ;,g=RpR$_p8zъz9 ֠2 2~|:Pw F=U0}PX |v {BTPf> u|?-2Oru~^/eReYoCdzeël{<2 Y2,jT#t']ta2jeCW V`B+fq6>x^` UdZ| qlӑE6e)ջ= @ixy,0&xcE)[dTZf tZn& 0Y6E30F6`)x\|(̲2>U/!N\x e̺ pO.W LßJƀlv5'q|U9ΑȩAZ^ĚNad35|B# }%p+[ G3#; X-!9;p7[\؄K5JsR3I7zO'Q>o^_~y\_9ݻ7a,>imȣZP}& z~i _~lyE*(o\x$l(YVTf>H"J:^lSRx*0N͓<g,p=/ݕiĺ[ƝǗ\Joeh0ݓz|N7]H?BTf1*c3**~qEhZ~3h6ŷƲ'0sO^4#t'#QS#c~Z 4W iml,c]v hcҕF2*bP(EEw)xo_3y)san^@{5n^Fkq; QU3([Rԫr=QވH 1X49Z+xo\<q)f~mp?ѡ(f;Zx/C]ezd_wV"dǕ uuwPU%Yۗ"ш+D@u7Q-@ۄ; "aQrCVN$ہo=2si9}Y-M~}nR ͠? |>eS඲Y0m{7X~ sw͏DwnrIQx=8$jt+d^N1#CWO<>1ek%Rhie&´̴ P y PwUe~#eRaYBk`r,3WV1ZLC9u5NyO]!VW5ˤz˥z]UsLu }M}UD- ;Y~[%#X/>ۈIڮ:aE(hA/>Wdqȭž+u$ s( .]'!_]ApTr~ ~yK(1.0}^/=e'*^ ;Ϭ…|#R-EaدuvG0eAw I1~O߀ضS{/&SZgfO`k_v> igg_ã!46 -f )l_ |6|Vl_U>wrf;Pe:QP>'1y4ӨG?ϙ,| Q;xO<X7E=\֋WwǼ2d 2 (iFde`@%ҒK V .Mc!x2.,4LRniD߀쮰sP+)ݙխX+ |HXօbZ~ys)_ C$P,'aQߔژLYWחI-|՟)V, tlO ڱaP63?? cjɤpu$e/0e; +LR_>mȺ>Vfal3u`cf>#U#S<7騐Zw.j-湎1g#r,QL,/ˤ#b,ۃ0Y>kt[vl[܆A {w>_QRՉ p"4.p Y8-EȮ  ǢAxaH*8};p2n7p%ؑ vX +wcsܓqD`8R5 ĞC^IҡaOM0K:0w9lwM48 &¹BI?s | 'bщ$LZv Nnv"uȮSRt1g'vz`f7:\`|P yf/缮+6x8s\N`P +fqʮGt^ .WK;csґy0y<ol~s,sR7kQ \xˋBD46n@5c5h)2V瑮24Tb.#*9@, #;)YHKKCɭ+23~ CDgj5WVs9n #(,:*S.E!CBI\͈L$!GBwݾw2S9b(ý+i{2+Qv/Uf10 P&$ 2%lc]e [%9˕b'O;e9 ;/Ɔb[b =ք]p!6z4wby?xy-^>*UTY!AjabMԒL]Iµ{Ũ}، 9 uo^?Ѐ|GO͖G/ǚVHoo;.*׀7u+J4;wOsW@*HZq=ww2KfKc|kYJ hǰc?kj-*r,_~r9]b]g I2f~%;av_aL&܁{x__->Z"Nws{bFw.?%n:%"%[8WZn9|:e=&YNnqX/8)6LF-!8"]qd&OY_ߖv5 ^Y>})|F| I]wXQQ~7jp$W(zjHdjdZfɴ|'V uq)ʣ\e+0_ʡȎ62"P3/AVA>IP/cYfOyVݳY?di!z%Zq+u饕i)qxժ{RHHq{"[t%XiU ]ziey$x, G?0Y֙*R1Ov*$r ϗי1nLϹ;g61:^]r_:7__W`ʒ}6ow ,>{|eG0Lc(XdrֳR}>e &MZϦnylg,<3v`h|jLu،iKc`8J fXӗȞV` w+./:\B'ew'S[`+A|t6=L, CQ-Gqo,>6W$͖M[G3wzs t7Ŝ%fo8Ls܏RM;.H$īx O?1 p>C*Ghtt7rQ*niu3@kg#Eلa`ooۭp.XmVR6fǽ#yKexTKgZhaj:MKtTIF=\9S6,dEL9[.rr/Me)fo]7tx w%A%w,dK7qy^aϭI_jm[I"#MSqW`(y)n(D߶CJ@hե27ڄhԕƙ hgܙ[͹@1W~ {f!,Zڂh\HcLZfښXTƢZ*'!%G\NKBj@|CW9xIx3bsgO AQfu(倔0HB@1-!aLFPJBSq1Ii8b=p칯^!Í6*5 ~YɋGbydsA9<(GDj(G7 h%cHRY+X?&#IR+ HQKSpQBSSꮙ;m@<4gzYw" wac/Arbe+lY+)?  RZ$d\FZyWp%r 752P'5FZ{os|\Ď+sjFUs?8q/ W'k+i7jo:k.[Ϫ|x# 5d~=UhAZ+Bl,SS,MT2U˲۲Z}C*SO1-K-\ziT4T〕[ [y[Xm5iZz=P3:z멅m:ەיUxV%k^ GOVi~@ΣZ{!Zltd/?@w߰T(VŧaX7l_$aLaNb׾ga V8a(}?y>Z w˯/SVc^L„;a$>)sWD}|3?s l;c£fH/1y1X-;m0s&9lYs ~b5Wnj%'aTtgtOoS7fAv͘0y=>lAZ?Ds{'[;PWOբgRO=Vug5]@e_RV/TrPu궔Eݘz4(ALxMr(A*0F! A21_ϲZunB6!ga$ާ,e@]#JtyɔAf$M >Ps/KH B'" >>> J ,,3Y *!r LG`f]xdg:,3tfVH'PS6(#0>_g ȇyOV |xz]'f3_>0f >d9l̥0ya቙]0[S(t@`@Ycg"үlM×X1yX闎u~9X|nƆl ŒӱXr$tzXf;i䁵g1X8G`kgұrp`tb>?L|+le}ah?&؂O6bq?zR08_7xtL'x²J&, ۖ^Be"cxoO(}2X{0[6v 5KB0%.~Źܣ`Y@gMa t7޶hŚkY*ѵX2 z,Qm2B0[ a,akI۱iZ( ^1H/zP \̊ [5J@ӝ$tî(FAr nw[!5ݎ7 Bs@*^jnitfo&f\p@nE~$vK@z<*sÍtXM"(@vEA[ <Wuq93:HBlr(c-h^M@-H\(  l 03Ԅ _rn,"D\po~܏!Q_  h߰k.ȫHFBrY +ܶL¥>~ܢ)jY :-/ih6?~3_3^\ۮG䳢 lP Z6S.xIX*_,vE9P5yf"XG- {bCJ,2EWG x0tāq)y(0T( _ }x^@u Pt0伦XZqS"ט/#9,+XWևy1?`VYL@YsShl :Br10>Y?rN@t`@ XFvlShgk0CgrS?%>_rDfGI FbtLjs#Tܽg6b E7~2 _8n6?3Y:x4 aK*_lX@߳㏎{1}Q/<ˎa:WL3^&|ӗ= nX'vAq#&_]t2֛`+t-lNopNn,cCX,3<0m8w!. XꟁU18˱vƮrW {eaL؞t sOF/:a _Hiոd4Vk3bno,茕/f<~,ZcwxL鮮J#Q &۲1ؑ|<Ŗ9e:~`ܖ ך=p,Ë|& -8n'x o[ѭ@Exۏ0s=(!<#i''!83 yqs"$":# AY z0uIΉ5yK/ "^F, aRΉ_)+1 14^@Ozڋnm>Ql1@[!z}r9Hto &Rܻy .hiF#4Wˮn!rJ",5ڬz5ipvTG~_?0ݴ9P[է3<ŬB|1.:N]M}das6YunjLyCaO݅ٷ7):W!S!R] )iMbF,Ӳ_%TT.5#@1>WVbΠJ,:厷|35S`M=q^Qf Z8ЬoA{Z~՝meAxLx=}Z~ܻMr>Z+vS$(,9'?]1u|>M@y&LMh,u1Gt\|?&>̤v1ج>;|̖IsII\X0m6njM[G oǒ-~I,^Drl0]֎f@aɊX30jZ W^CWQ%ehn~W$y,{<2>ԻJ<8VSzexO ] %_(LEd4j֠^K>ojUS׺<IJ9 fd72*9N^ Rݝպk&{@H$4`zH}5=rj fEԭxZV%V!ZrbY6Z WנX68aTa {z]Gظr|)`yM}"#*ƿ1%Cӑ9(3?Cb\$_4Oq)?N3=˫@@y R1orʧLx^42.?vd:ୣc(xe5a}<2Zy_ȔΑv0~grClZu AG_OF(#chЃ:#p٘aOF?_7RŗNO9cN,8/ϧ`|)i/Ausͦ /08yz#IL^y/9O`h|$<{nʷ}r0k\[ibebJX/؍?YoMlN݊%+Xpwaƚs'1e>E1e8S8G`ڑ X9bl㳭E)aDl( K$ܣX# Pvr<0M@xOŸƂǰXRKk+AǃvdxDy/AOp w5g.y5 /SR3_Q~i% W9Wr&sG]7~h~Vbn6 `-R`:h .4s$\]EfmoS6 l2|@{_˕7 7_BOfI7 K(IH6L%h p $,cm`vnfvZAuam+5[v-%rF9oc෾4RΣzL[iIK- [ h+1\_iܙ rΣM:o)X f:K@żr;jtx9$mG\_4̔DV|13EQx/b%njZ("}!u?na ELzL/ D#47[e!Y@1n><.(R.!4)qlNhD&"jN)F:Z 2o $IټEf j{Tdk+2s=_AocyƳQ[r$S;KKpKe);ʑ lz 2K2`dp3/ ,`‹Z :=,3 q:~\ə\;LgX~d_>o[L/BVYZ@X/Imuk0s o U^#&Z )b*<5 ja&|WBH2@ m`,Öu9*t>W0IZ6֟2[jV-8>Zo`9':R GA~eY 3W5fX;]/f_aF_bޡX,8+}n0&?/f4]>+|ϚsD_,:>?MXE8e1qqoĢ]Yy`/&˽O$uV6OatvXq쥇7aڌu<'1{lWX-['mpڻZ{< Օ0Dݞ:-u`2e:dzΔO"-yQ7f 3.iUk(«`ad9_3nyMv Π2xeaxM j,eYN5` yjfzdoDRf:WRXݦGB)-tQ]bUf\\)fYhVZĚ7cWS9SV@g|i.ZәeZ)S]yב/(/0eWjy<7hyTgSԗxxOa<,RݙYG2 ; ˸VWӲ/7ۂ, yd9ZuR;Vaix`g{LeuuRw"^c؞W;1Ρёo'N=Unc6I$F%f1f .HTt֥xlnE X pKmoc+>gz\6fA4]ué&L4q_B24'j2 vVIc%r~/QxPh fBnea(nǚR(x!he2vCo,}J7dZ ض݈FӍhܢ;e2-$K*X L 0aħ+2iܿwYֲR@lP #}w$F!%Q@4> uAP'bbeE!8+qc7CoSt=wpq= 7c8n 9!w b*y!"; O$ r$"c *M pD$`q=а pmӕڀytnBsS(u-עȴd$\aU3+ib`^B/ q3yPl |p{˾JHݮeb6IT+嗍;vP'YtHN4ijdD w6V/9W ߦ.W@/wWHi1Zo r>i0٠|ս\A)3=482es.ƹ-0?h.%ue?ΌVKu}V7hIхxd`E0~.֔7_'fZ0jUe~[A LV2S[2uZ2(Cj<<^fxk tP'lmG0u -7h1h(^-Z?-ۍ2xr:8@]xVf:nrh{P?/FK?7K`֜4p9{1Kt ~a/>ۉO)[ s'r/afnŬS9clt_n헮&:[͞Zr/3wbҢ#Xu$s`OZy1S 3cFgbwz dVV3q|6{ 0nlD[vcFL݄V`oSt >ci6IJ7h@[eY YuU ԣ@ݚz/uw0\00#⩆(DUk?wVfaSCaSˮqFEY?M~ Z&g#JLǺ3~?^ɳy֮!,k%`Xɫ3Wp{0VgW SIpꅹ[=a V '\Att0GL27_G[G땘Yiz/]VKǗ7mf60^XYm`7)p|>[|:cr"\.[؉i󾆽t.'gŽX|*h Ncs fIcxz+#LX)Ic" L< Pc=C0a aP\ ,&~~⹙=<"GnjhG.<КgS~1J*``/-&wPOM'\]oF[Q`n_4}[VVcdh܊(Ǹ@wd}w7fB+@#n&[`V` pw]gƩ 'NW^+3vimk`L`sLƭ{e-['J 1ePfmKFqřV`B0 ˵t ] f;&Λv+EeX >-i ɽYVw3_Bo]]iT7/ t tCT,r/aQވ58B6}|"{Nxx@ S6} LO 1ee_s "j9eP 3)y}.xVEZ' ϲ):zh)L\sDB!uE֓u)-gm2iCZB0-^@]dp]˞ Q z-suAw)Uj%Ϟ>7k\v,8ё1<~+~b_[w\*눙a.|Yyfט 4NSENƍxspXYohn }\GӶ`*wد¯zOݏsVӘ8fmƴgDb !/JֻjYh6L߉/7aƬ]j\`Xl!`x5s؄ϧ.3:t/L]i6&L'}kw|-Yv[ty$Tv+ цG51.7𝣾N=,B\:꿔ϴyC !rF>`Y6gN TO;#g?;,`g]??V-3;Jv($ٹf}gFx tchd]=dy|'-ʲ<-=OpnÂ9e ,U`-@}~>8 :~YM3g =1y^LYFV\*@XVI՚Ә<{f6̢b~1s+l,X` /=9쓬ק1aV)! FaXL)_bW>g˝mpwS =cttMFX9_z {$cXǬC!f a!OQ^W~V̅p|(\V%*tk>Ts(mx(ڼu V1֘-T j֭$Z8Ǘ`ܟ$L- _B-NXPࣿ-G Y뽢}ԣGqoS\1QBYB19g9# $9'MQB DNu}oC?{ѭ+ソ5k5W:><]FG@V؏nhG.&!Kh h{bs+ VOmԙuzWQX{=i 1kYZ+hvbuM~rS֛73]fx1ցUϚ`N <-mA{׏Y8J]=d{އ#[ty:ݭܣ * uΟ;AE*\̤NXpF0?.*Z+4Ҧf,3(c-;Q3g((-8Z&O ec\%/;1v]Kԇ]lBnyEװք_KZL}a5<[q\M'|&.q|}e ^7`Ao勪<_+XvZVݵw8$-h}ԍ*UzAp\U~ܼk2[L;wuY`?})Շ|o߱ǟ13 ԾGUz^. wb>vbh:PT'k1w:NV6Ԩǜ8˴ ⦽3jي1(<#-'+H29#/uLQf)57iU٧A&Zȉ!6֏QVT(9nj U\Jn1ΠΓ)6ij;#\0P]yWjIO^t{EǷ35nU;Au5QTuj'+&5Yv;XD Fur3/1$ ;?vu kʃs MIDAT%u C]ilo"s}I-\K~tȥBd}M0ͥ8+`mܱVfffW>Wiǹkf=`i(F=9u"G:;2iUtΧȗߔ}U\]5PC ;;8քLsZPA/C//xs:/#qgf|h6u/Po~;tsNͨߵ>rNW?#A G-Ѡ|J nJՠL%HSOT'jF۬j?D37CXh>٠4P'S4p558Tu[Q]8Xհ Vn.k>Bǫ"5-?UBNkn>L诨 R}Mɟ*nbP:N kzM_Z}YMsdTnšiKFuXv [ΓԁJ^k_t%z@o\GTU}_5{bpq}V /m km`rDV pd=` V#p ':woD+~x!8"Gp$ hpsEۃ(40G&π/j4NY\uqx&wlt`k7Xc||A*]=GWY^cU!Kt=D잒s9y3qo A֕' 2NkK 'ܴ8׏CtoA:ڹR[ l5ަGM+`_9EWoc[u:lu8]mPvl-ʙ]<[fU銬rg)3c6F;ss竤$K%˲ .*`KY*Ξ4eU3n,Tf|-Ȝ*Y;k2^4U'0]y}v,*,bZ]@_@yhJfMٟSh9U: K-jqstOW5.Tl w_| 7+vL$U ݺ_;ڕ3ۃkճݻUxo\;5sUj0{ލp`kRE*[T뷖iNN}Ww*3GwN [UIdikc,]9^,q`xw?~“퟽[ϪvSh {VW-ܻ֞WzC)%-O28B6[a y_^,5ÝC&͌F~qQvZJQ8I^BDk+iF:yW$859SkkhOx\> ٮ]߮>u7v@]"~dm0zV3q<ֽGc2_q<.CU][tݽ}fb^dl;wɞK|>rlQsTQ/5h:@z~( X &ªT~H #2?2S#(~R{EO}<;.' tLUl:dE4yijf]W76m5Fq*hIk2L v\wM&[TJyΓjB6{77u+TRYjvbG/ڌUB~N+aKĵ4mJk8eIX09&c2Yo`y|Dv@(d $ L2.s;ຼ\ /!߻bQW|C k]A`Js<ׄf~sse/u-qͼjpFE.5ΰHGypZS@)005`s2ԜZ`/2瀴I<*(=p|^:u:F8K t]=S/'qxYȇ߮sn/ۘ_icמS)x/f)q2ׄޚ@/2m_3//kx)(ħ<)7)am$(V3|#.u%erh q9~~l8V S{WJ45֣ 4`Z,Q[:$Oulmjp&wAX7 P60Eu?6:O[0 l=H- Pɽ|97CGe[cF5ꗡ6PK6LF#lQOzښ($X&lP?/~ţ&޼}M*l5 .K@/T x]. {"䢍}tP_ +iwO0Z'3j|8ʤyg'#k 1;'zrg0 E3]68))"qL`vzLP##{㬁h䙵p$͞#kb ]~sw`|zS̥}p+x>'m@s&&7˷, iNП55G'6D̘>k vmcWq`e{den# \_>^0~5Б|/:6MUҺ yZxZX ϝ?Qe%eh԰nf3jI,4]e9?}.)ZRdZ_x]~ =gބ`>:b^@i4gxu0wcQ0{foޖE+"+Av^eOT~B eyJ8@Ve[Ҁ=a ^-g-A :wC0q~gn 8kڅ U>[+5*zmX\uc?OkVheqVQiP\U7FUɥWլ?&|v\ -0ie0 -k{;>X: #;vv妰fw[u{ջ}pFփKa9̓Ț[ ;-׸:): rt'0LX&/Yz|;R'` |'}$/vUݵG\׺:ȏ\{}z];@}s#&>mEO}e<`GvBq0wdi\5¤!î~y(RX7A&G'zZ/_=۷n+uꦮ߽޻&s_|vє-xV i2:K |:}d$FR|Od3nlQv`h`Zuzf86K V9]*qyvA,8EǍ dk\VELc\hSĞbZO|9_{iya[F^%UR A+j[Sb1jjZu^Չmk7e*ڝ:X cOEuPtl5mQm&opllG5>O?1YVEya!r#~w`w *r:,02%\Y1&Ls-.$yZ[iG^88h'qܗw AH\qI=\ӭd]|_\$[0A9w r &pήi.95@&#Lu8\ꕧt'bZ^q8\7Z:sz"*wm<|\s-n!xbpw^.;d:l{>𼬼t^2#./2y9,ȟ:L B2kPX)_\^YHԇ?p#C'kaݵƮL Gep%/g\MdGy 0>0/ωgPGY^O%_2€{u^s"4l`&І7?MvbZ#|Xb{WO ^,UJ\ľ'May VQEjo:N]n ji0y*u\',U=@1P6 uOQm`<;"<5 hS+ݤ9|ݤJ6(2UzØjw=,+,~^?fr |XqI~ xfk{<=Go6g^7m 3\]=@&Tt`qZJI"IE\8^yei~kX'//m5V%ߔG~eՄ^סyq0_xN?rASTj 5QQ88-lmޏXиaҺMlO>K.T LWn3ät1ag-&SU8EydaZ0gNv78M TԸ<}2T STa]olߦO{L8jv-NB9/ MUd~j޿6|4uucڵJ`WucnC5m&DE7h.J~]o>+oUٳm,r3ksh] `=ιC+aqran꼁 M\qN[UW9R6z9_~I9_ pN^q\͎`7?&:c@55ݴ5nFFR7D^w}̔dwE/5gEHkZaYp)#}FpZ^V^h^Nמ:O\IԃSO ,M# 8wmq^s'30IC:'ok7y/i4v;0:;:qi3A%_M L:ԑ {Xs+)zg&'G:{BnVӂfɀE6mַ5Unp62 ]u,~j6l:.Taj9M?)Q4 mZ[>0H T[+U3"N R?Ut ŶTI3|25Dm&,W[ -aNeTՉ)exdx>hvW7T pzQXfP{W6g0J&$3*IS|Ϙc\$ pBe \:%a񲲜v6|q5/}B:/YkO\m* Z`L^)^ڰ)Wshlp5άXS\y{&h`hKtk7x`}m_-w^&_i<\[yrUwXuh0~x~P v_?lQTx~d@7vH ?|{]o_] ӏ0>l߿?}оݺ{Hեk#Wl寜ۡ_իg#}]4d*T~F յ5Mz}oD{}lw/IXJ:)ߡ c,c񌱎SQS' 0iǑ85a`oZMԑF|œ>ס#n_kk}ԞϿ4h2%L3z꽶|BY|}Ԋ$vv1Tf6VwTIc ; \M'|5<#nRn<& Ġk;Em-b;G-'nufg (TXM>Ԭ˴ ?B'qV>~jqrdETfdb ƨvC}~ bc|Jn:BXY[QT'FtmTn+խB NjРz(!ؑ>hqWN:vN}^y}DD^>~enDG 첵ThWY-byH'pkni<^O(55\w`u/ב R>2T؄ptesknJW9Qt?1(aصMtfż߮}8 nLlc`sfQ䒞=z\s& su6G:8<\SKGM4ԇsUsC:|6ij:K3(: @]e_Rgԅg(9wOLfˋLJ]s2c_jK< )g[45ԙt|a|M2=/ϑk6~S.yP`'5sAͣ\( -帶͝|AġT?լ`.'CƔjibf253M蓩 wP :L QN3O~T2JjO_FߢZ<>Guz) Z'U|1a[:$G&T'!ՠ̰1}imzj5F4z68$PRcRGb Wݔjyb`=7hr%]v RʠEJe`mR|/@- |>U]?ݻqRo ] =E\/k 0|׺}`Z `L#&\rj}c_E̟W~/hK'־ kTyxN3w~1oE4a$Ks']g/ 0$\?_Ϊ8,kC+>]x58]ā\hx `7@mX'l;-9+ ]s]y3p{8Wo}+uGsL]2dh/`;{͛3V9jOe ]T0_Ee*\0 Wf+dr-,Νxs7W9ӕd~4/ș*ڶ\KvGQ9YPy>rU<'+#VE(`J5&׹k+{uf+gM[؀8mfiQl\kWٻdk ^;ƔY ^<)8r#\<% M0qc,߫a;A+6hA+˵Z"{kkTy~!h܁ߥ%t6=|P{pUK;kYcZ`̠`@ FK{Q=nl&n+ܺE0saSX-A8 /㄃ G̸@ wX|jGh⻩/+4v:2~q>oSSKK==n y:S?y5~\^Ei9&Qú?/һ9-C8| D|ƜWOY9&_Bvոh%6v _ܓص.?F̞z[oD[tP|l{Uʊk:q2MV<_*t`9ي Lv=}:١y׭]&.q\tٞ[g=Evedxg/z8pxݒr8-7⻕/$OW.ؕdn~tF~aP &Юdj°kkBSA`Z׺Y4&/ 0t\sh&?׷C\kysMi4GH;x45)1nK'99 O|>nadx/VԜ5^/ Z%-&;XSy8!e?Y?d7/&>mqs ߮ 51_ZL@ky)D *'mG (MN>pQ}@%-O7L躆<|֖ԗsIî< o7iw{uկ1fblJ6G^jI.VLL X^gb`Ff>qCԼ %4tZ&)ndZ]#z0o0`4H=Ɨ1ytJ~7Nar5~(apt0)tTQY22htG=~ a2D7[Y4w~4/Q۩e>&] W{Xnm1KtOzhݽv(l}D@+E~Xu"ܫŚSv,t0 Z-_x*sfcxhEF 8(/gIҳ#i߅/]9̛;ϴ|2L  r/iZ&wse`@ ҥ9y-̭̙*'}RTPy eI sVZVlY%giw9>Wxڳ>5pT_[~6xem*Ԋm˴uZLK/ժ일\w)gi}d⅃WjG;dI=>Ƿf ogBS;̷ ~ݱݫ'M07m7aҊe +n YggU_ ב'tHsd:_g& 1H}Z:hasd]FdY2(]mNVJv;5dҺ0Wlch2Dj&#LP|9JŁYfC?L7D;dvǵuØ0+眰YYx>J&&o4nbދb{+59CIj4Θ>vvyZ479^L14@IoJ!j|dpd+i1q bv޸8L(>cM t{AT;*a;Dꤽ z UTrUeGV\%B>Ly\DCvMs 6*5|8"'XC&gsߕv.5?w6qqWPssF ,j&mMhuŪ[:aՕa`7wu{mZ2Hnu~>HC X!))kv}07q>L G.]ճ_SJNajwR.PLOW~iurP ۍ [ISѩԼtƨAשJPd+߬jg.Ԡpi<@u VC1]<0Ej1*_a趣r<}xv|-}<[&78ՊɽР OPF ج[ VCrtd"5 xkpkC0yZ~RSWiĂ2oc􇆝԰ezfz`[O^>_7hPdw;zp0xfγ 6w/WZ!gWh9f}/A ߻[ܘDc]EΑuw8p^w\a_`LG/@88ygJ XqCvހ}fLoQѭ0@kgؠ졕'"ި1}H9G6XYBa Ɨp ĵ;齬4xt|`}Ꞝ_kaxm 6P=oU0]fn^8`a|=t%a_f]э cUN7rڠtpmJ+/V) 㢬YZ8C՜1xH-<,4``mA<ʘl0l?uFϝ6c6mFfՄ"5T_ǠyKZqG*dZ%Q1J:k4SfZ)0n.1=52IIQYևÂ1:_W'6 ɩWZ:v.룦&g` Zw?% 4h [^;wTllg%&1z ڪal-:Qw$͛Slr=;%akSL9NcY|68* /bLou@tC'+HX@Z9s ]Si9AZa( 8d;9oxa#`7]`DWsE.[& `nr5hKpIdHG@{Mv ~fHҺ+D#eVK@M^ԇ߾@GQ;xS&бtw hyt8<@{Cԃ p2xjjByԍKoMת:rQ.)5>c`/6i8g7t>hC+έˣ-rxٝJ{vͯk{@NȇAõ ;{~ᳫ #{89I2 }EI}E=Oݼ=.5>:h6 s-7u>ש</ޫڸOֻ4뗩k0fw-T=lqU:8C6̈b }ڎV1;Cmi9de}iEFY6}fIDk<2R؁J,%S{R-n g)Dj"Au1)Enz=ԢTu6`/(ixRGO_ZP%4&Gp,ڪ>}*F]&ER}'P!dD0ju&tС3׿`=1C1@z/x|e4'Q PrSuބv]1z0Q>nգ&xWmV^5Y㳺gROȽg<oIw$/su_z!O-X^ 7⇷"\b0qѠZ3΅b{k`[L,_;m8/b%SVnv|u1c.+䱝*)w/E,/MY3>UQʝ7Ni3Giq洠t2X]Ȁ7SekfS6n_p vqU,;;m`;WK(-8Pb-r/PFiFyBKU1MsLP7[-/ +W@`]a_T¤:]VXʴYm6ݤڻ~!'k|}#b}/JFӓ<9{V>)j} WkնU\ҭ%ڹԾ"}p+Xk 1$֓gwWLB$ooo ;7qzwp|`޾7;MaMaˆl걍O7 O"K;Pr\ MqNC7wܡM]s9q|nj_q~@õQ"Hy5͞m7iPO:7a;y𛸜}L}Fl#=?m"so2c=}=һb5^<ALy=z=U٘bm@=jG7ӧ5pF>h_djRТFT}&/~b57?oaӟ5Q_jz>0SORrQxbV!a.R}g]miOWVk}foIIMTö# vpzS~3jd }MIWKѪxX@cr>ibRj[I2wbv#պh5m1̠>UMn}hKu66GUjԨOݨ E7x̤ۇ?nΝ tٯ3(/}G0fDQZqw%~sa"9srAG&9< yϕje(gsE!XI'Yv 1`WTR>ys6ղoH/Nh$}DFF<_ :Tx7!Tx$.)Nq-1DCMC9_ˑvǵi1tki#;O"DKt8<@?:7yᏌA?<-੟'ԃ MܬP?ʣ|.g-)~HHnҤ# yF 39MxYX]IqR6}țԟsd_ws{>̑Aݟ9Vͺ|/w&h?ԑv-vM5uvᆲGϞMU+H2C}7=Kݘ|%WD%{lrVӴa 3e֔- bkvHcoȹ5+l<_ThQM]IM:N(2Ijݦ-gxAeܫ6H2ώS~GӢ :u216@t2Fg*k՛WoOћ~۟_޾1 շu"yǷ}~~|uU}[_ ̘]޻u<@0uAiEM~|}Wf֟>8/ hݜW[ۏVΛհ)k<-P}ـ ޞЫgBx~xd/pǶ}dBgv~0CCNqjdli0 Z}? yz.ԋr0~޻MI½ {@ ^yOzu@' R ݻ^d龫>Ozr,u kؾ7z|퐾kֽ_>{E.!F{lnZ.ЫzRo+I=vT1̞#ֶeU}{١CjU3 ^k ;Y BD~#'ѓN}k ;Maл4+@ı37lTdϴ?oP66i0Dj:ne;W~{εZ"ǾR[{nY\eֆg[8Nx~ ]Z^}>'˫Kz2L09SζSK#_}{VduI_+׾SjUxܶL% tM=g}+ϯoóN{ zt^/O+m~^?O >4h}z޾;+]Rc+3>-XZ0$3 M}[cc/۩ `kNoo_5xpv-c #03̷"=tuBWVV| i4H 5Ⱥf^sB>vpums4}FEC9R.P?<\]ģ}>@?ʠM\sYr8H,n\LzDO[mzAX{+lyM}O1j?`?7`sȤ-uQ_E[Ti7E RAJl:AZMPjm&_{:YrvkB.545Tz'vh;R319d̹ŀO@&^ZVCUp;Os1yⰲ %џ A[ڸCԬE5MkĔJ+ZikrO3s #~m9\i딝SYiƽ38gݰ]]<@j:K3L 26hI:$]Q&c"])U~i/׼7/KO~L# (p ʕk29{Ȉ0PI:GdqW!# L;3#ɇ/7 ud~S /pM2r;J\0 :1/2+8R6y\w곦gxnF]S;Jh 5@X%`5>}WVzWF37i؜eɳlVJj<@-LRt;ԄJk [W3~/ Ѳ-4+{ؠ>*8m4Hɝ'},h/GK_?<(׃+{I׏m P{f9_/9|>뻪SpD#|Ȼt6P{ LGv[h뼩#6u?tJ:ۮ]l^;ݽMG,_~^S9Z4̟bZBϙr怎?{HTo)QVq-Lehq4}}Nm~Gv送!yꀎ]8igkH9kpCዧti!oFhYZg> 4U?U8X׿Uq q8D%Ϙ Hoғ#iw/krFfތġlf}lNM7&ߚkιXz;)q5&POrHC9ԑO>ȏ,nM>}w:FnJN m~u'H9wDy[7/^=՛^G›BGݭ~5J)6ďaaQM;kor?3( m2FQIѱCh_inv~aڬM'z2jmjwľ:`Xyk x7ScJ[{H ,ަEMBmڏ58f'ٵiFZj= -Nިq^N&K {ƤU.lZ}i@;(dAR6RoK^nvps0癐?_x!/e@Eg%6E<2KϞo ԐiXIGN|P>P4nZ@0L#σ30pC3u`O]uX'>2ԗon:FT25tR*ڦY;QMOS 5Š˾2Fv֔`GLmlai4PLWṈ`-\yo#A~ T%JXEלּ&|>sFϳ`MoO)b** n_\WtVǚWOls`IL0APBd$r9P @dӧ{W\w媽~u~~ys/N{ݫ>x/o\_~#!F՚w=[2,dq >O $Oqc !TgP_[% E'q53(%M ~q3NLXuIvoRZΒ0P`M6VW`t m!CgLS/c>h &%-024Lؤf͛ڼ;wԣzAWa iH~Ǵ@"qtaE.Rҡ*}1gu:doGR6ԺlQ# uckѯũˀi I:ZyU.kbRV8>-x&/٠ՙZ]aѻ(8]Mqj K\:GĞRrZׂ譊q=;"MhZwŨ&Gu8[TDE$ѢZ|TI{)USԺ7jj6=&k JJ> YXw:K[ۍ{~{ y($d7jY*4yR4Բk8e!hqbjpu6ȁsk뿻>L7X0ˆl'ַ{&oxd2sP IY}ɜ`WxM51.xȧiF؜$ƄN,G؉2ZXkBq.eeM0%W8?HqY QI-jܷ v  &W1S[r4bAe$xc{Mo;Y"τ%-i{ + JHHp!s8>DcZ, l+a+tZQ'! l t /BܤapG7!Ծ<7pSwuDSmwUSҠ[,B}꛼޼e+bgҦ_v>e#fp|L#Ơg%M{ 01!}W/f2ugiRpVn;ӚӖk wkъC\,7 x5#|Dl 7@ ^eԩ85m7BMڍVS5<`BQ)]/JUP-Nڭ_=ƅWKԈ=AÃ{bvߑ+-Y0/Qtk1@h5@Qk)4%CnPvvF}@k7Vk__$'n<}@˻ނt>޾r7ln{ų {\^Ř:ꍜ ʄ\UT1+u/-u팇_wqӋGWeuǫBx|Kޭd;kozڊ>=m] C.F~\HQ3 j!zfƅ/* E}B~zzKno^ӽ넫:N-? œ^+J*tq]EuZ͊zqRILTٺ s=;%8tp ҵ_H<y~oҸ`FZ-"{]]?+׋tRj :w*J!3z ȅ١{tѹw1icIWn1e8cn"H)!tRrVPsLw辭ں1YA 9:w23tW&GhdU(/*3^y3iuz7ҍ]QKW+a3MnHl@&V#_V7ax[68a_a#6*G<䑴layf|cePN{[<>0 7Q|OzlQn޹ʚPUԮ,}}'кõ pZSMJWJ:|V_/[_퉴X{W5 ޡEa,JVo5ꫮ_QTzWS?WF-PI51:=eCVCgй=+эG4|{ԲX0pD^!S[O۠d CqIjnڲh szܫ>sssYa hNj_jʔPmxXKWj„jSb6M;P'M ֨[RVmzʁrOUVp}u*Ϋ0GeEqee`^iQa-4l3?A#,( x3:GJ3Ϩ'?4I즚=ҥG%8Ё|CG?<[Q||7q<pnң.}tt''?VNɛSf~-ㇰˋ=“O^z[/:Imz$^0h>)}o9uI97a(;uF\pԑ 8I\C mA=`s??Ӑ0Hi01BBwz|v{åۙW3qj lVWBUǯ8}lIТ;_) zys~-Yi!il:6H;58E'ehjjX`-ۮnCE0?UY.Ck} ]}Xak3 7|S3>L&, 4'jOu7 _L~d#5{u ~7y}gwUJnܾ[ܤ~y&"o^8ҟx^߃͕#TR]@!j-ZKU~`$@LI77\Oo. `0{`&w~CZWk=ꕕ%uijj&@RS(F8Ś4H!zKs|8 !161uEI89kEݾts)KfT@oU9(rA39FbDVyU}۽E{TqM_9wԃseo#ѽ~_%'@9919";Y yra"}upL:+ڣZ:?w/Z;oHq:q۩G+yE֬Ѫ51nZ!6sep7)j"fj{RKRCڸ6IKh끭*,QV)htŧ{Z+iu|6&E)~/U.T7Ys%;0_)UE]Rm?Mq.s8]1Qk)9v z#XHY)4lн``ܳ /.Eq&(<7٬:S,>f:Miip"\yf%n_ޯ^w@{oUn.o?,H}H`:$}C-ʄdUCKyXp_{`.l$8Se1FZcRJla4?O4dB:J55[. z VAZ/lmjlXqo6+2.C)[0V/jXu:_b&.٠ M:E{qTZ~=OdIei5j7bߢ~| .ZNkY.%$Ial'h4ouK$wcFΌ֟TM6`wo^يI:En^GIjdщ;Oo^yI-^_Ԟ}3ܪp5n2PÇqq YZKW(:&MӧG81,4k:H(""M4fT}m_Z)"|5@҉GTX3y^Os.0O_o1Wfnܝ+||>H1I(u6s}O҇ac'^IǶLP4axLG[ #ؖSX1G&Mptm!|& "nҁ01Wp* RPbr i-ρ]3 *J=T2[L4Ѥf `| ,0c*ƬxQqVI8Dnq/ @8ocQʥ G2*g*#yLBG]L_4.<“5SGISŸP%:yjV65E}bxmZA1{4uv? ex˶uWtI7?ʲ́v&BYDjUV$H`/Uw@Շu`<{={@*28h~x0F0 sQW~` j-At]M߯\H\ WG#U8=݃-3G9@0$UgxŋZşXlGRaȅvp JS@Pwt2.D+#"F'U:5JIc+%9L+fQ֙6fPX/v+TvԽGAxńt+="-; ן}!˻Na~U}gj/ N_\+cHmSV:8? knZusqe+3 {U߂b=f,]ׯ0lѽ=_?u^ EhE)ԠJ-}-Xoy9KèV^<(~/0Ugx_bT?{,#c moa2iccA!c$!c-ĚĖ4›Xe*y-@'.1f Ә1@r |Q~'0?ge%^}dIM3qse|6M-`oKȳQfn 6a^@w~?몹pYϺyAݿ{ϸuުW]4p:viYjsZXcwtf,ǐ _ ;m"8KfǪycWe*2 [Qij5`qLRpaE'QjO UR7<=O'8 R)Qj>x %7izxhVH5{ŭ;~թYǑjr:6]f(Ztij=p\,Y /Ů]z 0i!F۬g~&MjPPU^`Z7)(Όh4qPORТ$EFmTB6}7u?u|?WA!\4|$ޅ@}I7UV`?n֕kwBgJ_gԂUZrν7_q`C%w5~ݧ}tcnNeL#?HmB4qδm Fm>MxO8& }y>3em 4F&]8Kԋ H@A0~HX(0Md/?d4hGHǁդ1I6@.ď_a{3) qݣ2#/|4.R~m>f4巭RV-uL+J'S m'mYK[qM<&5&d0t&K8P ËgOhs|y3Ɵ'+/x@dd%.Zg1.2\6K^ȿdI߶0qGoisT8K1hk˟"뷦ǎr{KUյji:^CwD>&FG.Sa _/w\B@pc5-Tjjz R/9'+[9Evyd@1$lV.kb(1jgzUKc6):u V>SI1g\?O=ƺz}n~PllUrZ&Y\asWejnZ)[5~VOS74n7H_9U^=xJnI;zpGu7zpI̓]HW֓nrK>LF2`!՚C:_So{bTV=KU'D0@0g&˷x5g$S>t^;`\]>,+gt \8U>gMc%(V l?7O/g85S$m\[jEE@5}U'zpκwsN3TU:]WJ=_zz;1 Y}fA=b׍ز7 dwE9=҅m~!cXpqn{){fy 0c!c'cIhBS5h5)1yf<0ot7\1AXL'.`O5.`K1GXs(mj1N268m$&&&5 O\4? mmdhoWKmgBp:%,y¿-gV? $g*kjpp*=R=ɛw@ݿƨjgi G/WP^TԦS8U?Dl7^NT&uPQkNj39~zMw:b>9Yոy]sJ{r/IUZbEVfe[qKq5{*Cԡ$4I;LRԤHlW<ާ?i3L8g|yin2^ _mO nPCnoվd_> } Xή3jAAj+u8J-ŜwˠapWxۛ )q+øûdV0۶X؎<7lgBU? j2aUԙIJr)Lj!%?'cg0ᇂ4EaPkj6 GO&3)"o`DT*RU7k=vm B42NV:G#[oF_~Dy\i+*#d ۔:fO]K_SEP2^?>}䙾B=6q[A? uI=Q@\2`5i60 7IIq͋Vmჼ+uMym5+Ȑ/J>+[Ƒ&u`#ka7uO10#Y&1e']=z~Pc|uL'×43Uro,`4$_uZ%}0j=Z8!w7k͞kxywr|f7c~g=[mԶڴg;1+OWuz~8yOCr|_Oũ7O'rN0W\CnX~ou`]@~V_Tљwu] p@ Ƙq$|?x@nc/~Xl-c ~lܴx >$8Ұcy㞁IZM?ߤa`˷Tߤi "Lܣ.0sdPoҳu|O l<iy3h'M[X n;A]Nf_~_IRaۏU6cXOWv[h;ΫCHt9G\.o*d8+{-V6؎R_"㍦LZM{m/ԡ0 uwJKCJS&=\+5mWLPQa6<~eE*?[3%H]; 0p&A`Ld ahy/t9>LaYQ^c'\>sx&5)q lϑ c;x v#O&&F?~QGqtZ/`*9kqt[Y!bB'#NP7?tj MU&% VQ7mK\3[x`uD=$Dg^mlj ̙|2KN?}WoE}{ .yH|>4bj ݿӜ4-t􈨍6;Fs|?ϴ8=MC'Oi8`S;Oa(rGJVIm6 $#<sMhVEޯ}>˹4`窥s0cF&;x!k41j! )19J-հTM\N˒v*8:]1 ;5dt7ӪzgݻP-O9^=y쏍zwr+ѾܣisMK@nV6|ց}rfg%Lr9jM8_ފ,̹81]]_}'u&K߫k`s R_ԟ#qEj@~kZ7M`ohMƹWy&j8 3s}Qp苄HEdJN ̄օ}eQF/rvW$W4/s~U{Dy{z*{(ƀg;۩#r?Jo\" ߹l]5yz|U5o1:c1g7.809 An6Uf LWNUemsxk+QNiJ\%PE:Cɧ6_q %hԭ9+`%ʭI({6WhU.n8{JgOeN)]:/|rI`qCiY7}_}Qs\?xVoŐ[Gtާ{Wi٢=C:߻ [Vjˮuڼkst]U[]{%۫γut ].r~ =]d$0 vz|[u?X:;^>#ˉ 9$KL[wuپ{۳5f~>FLLRդwֲM''OrdOSCˁ| ů88=[w\mMq0 Ťjwj\Q8-ߧ՛rIL:ܦ>Kw&?(<1C oFyna?۸]Zu#8Ia7Wep9חڵvmG}=rQ<,[%S[fMz9MTQZ8J I5thh1@|pTdV[*>3Em 2B7 JMu$pDgs8`3f.<sD&=0W|6ړ&p<Ƣ,y#Lӂ+q8q>?0?,e )$IWI$,GB`H䀓+'q +\d %,J@Eń"t\RQ<#,qa,/T DPAUi:G8 ,MNxf+KvC'q)_klVUsQ&5PI A4.,.HSҠsPFԿI%?S&kgT)A(/m`mH;w^:^`^*[[QCZ6Lݐw~+AϠ8SoLsgʷ 'ӀFaB\6r"]@=`i?q'wtCn_i:@/V kdZ_zlՌ%[+V j>/arc):_,q^,@TFn\8zK玸'(E/@* !Ɲ߬y<<~w:p0q7 g A ?+F,0Ў@{LJ𰧷Xl58HA|˕k5\S9ݡғo'uʏ8g ց<'ܪ3GZte*sn??U^P.ޣb)P326}TiE%)4|"F:F-2;>uH7(| /|cUr"PNf*m]+ف0SREsΜTڹu&GxҜЍM6eV$*9ŕR tAEu+aMrKNrx-=Uq|oO ~=@Qt~썰\GuUtJQ*)%aNۦ:uz߭ iIJߒRuHk1Byw7#`ҥL=p̙Xj,P4&uK|ᗏkdbI 0er{_kl=pߓ4l>~̏?&e7cM]| c$esULJ\hM&%=Ӻ Z@#ǑRM1=cv+x4x GI ?F8?oIxf'38lZl?:ÏͭLjMXieJ^my]KW.C,cjnPlT2x&c9.vi$}+;GͺZWQ۰X1xZvuvaRD~),~?w7fI>OC(&P֟Plz9I/rZqoJIkǃs=Imv7G>q]O4;A_!ns;ngt[zRzKq+2jlzPl:O[ Q̝Fq㾚:5TQ&E>^Gmgh>؁/\ۡj޴ϋѲNKԬiWut&M{K/=GI+kOYGВ%Zaj/]T^~WL 'TQfA_LÜ=|ܔs昶e44Oik`#xm懜a0~s!NǶ"8!?7ɈY~7"?|[rϸ{h`&<yQD (x2N%DRM5 sX[0xȃQHՉ䃰9: hF}̄1ɫI[M+K#Hg4F mI(hҡm/8)(S?@ 4.Qv ߤa ā_$J[%-!%y5h^=3EK^2ЉYRW Q&Af p&7 ^mm[` 8VO~lrPk'cˋI4∋t0/-Pe=jֲ>m9XG,;\ u Ҿ\ ۬)5}^A#Әpu\K4-ڨ)3fnQ1pOkaj3f-:j?ί6n1X#'(ĥ6SߨIjnZ^],jv}|nqR-XqLMIԷݮAE[ R-Kjxתu_ׯmﺾҀ\|;p&o5ڀ:ݦx[pUn7?/RH&Bd;s=&_~}7/t6߫XϏ_tJ>šsT]~Ođ>!ab3l&@3q,]<=beRI@0RUvX'Ԡ+vx@˱FUg|.&Y^ `p^zIqid׫?ܝT_weqyf"[ _(07ϫ;ԝqOnط˞[-8KKOljKz5{{n4eR ΞЙTpmq/g"%F z|6fo^ޮ\+>^GSoV+)>X{mQQY tcC<sP|dc㈊ Nь͊\80.!dƅ$NSα sbEVV|rVFh4f+rhݪX6Ў V[W踇,xXoz8ٚE'>_EUE:prWǩ沫GWd֪(1.VV|{gpgzp0An04:4\2ߪ>o:?h nqWMiW֩=ڛ^IKwZui\sihҵ+^859-w%{.W:4*0 Q`8`ͽK5~0 0P!HI 0[f *Vg}~=ER(Xv~i8 ӤҌc|+6%fX=7I-4V0C 02 J=Sxw~L"|DOSv|}XyHa"}9?U |)Ŧ #ǨyjVuv[ PhE:^]3u>t5:E-pyVgCDfg^qā~EV?7(u1[mLTի ZY~6-L1n*ⅉjӪZBZUNԱo?Y+(""IQQIfc{o. Ѳa_adZӏi &ƴxeRIi`2 }5sW1WgBnC&7L7:p~s>P7^❶O5-<q%ŶOX{wA|pA?aFIr+p3F$n @QA8 Q,Sdz_ Jc71cZm& x:5.99K Ʃ(NX @:T$ؑ=H)ɧ Hp7uc2L.>y ƟI@tM5ԙJBDڔt=d+/!y̔ ҥKo>|G3JyF< 0#}?&30 0Й$䏸 ȇ 8"=>$'n[md<"! F  u}~mpg&&OM^ڇtu,Yf&WKqD~X}ia$n?hF =1>Z-Ebo;EN$mzk;OGh$7`n;ǵzg:Vm;Q㶣iVC\zi93O.c]N(.=W.duNMoMyx_YxZgKϲwI~/ʀ %+v#FM< WK{^8 VM`2`*kE>'~3LU S8ޭG7ɍbjQv=⸤;zpյˍr]=wReػ2oT4{9/PGe[8~vF*25\R"Dqć)߿]%9ǔek㔰"LڒQ UtRٹֺr7o_99mtqZ)ZܚM."ez)۵uF=lgqF z7{YTyXˍhT_?5FR@K_܀j۫W;0R`4]8ʽ ryaN٤y~o,q>v뷧ݻ#~zu+ u/D]ו~1w)G1=\xW$fζ5@3p=Wwx,T8" @ukLԖğuGw#޾}~1¤8$CAWz3$oD&ed1{j$mQ&c-7iOx*ZnIIF\5I-r4s23V7?ec &sr/$' Sq 6'3&OVA3[0W@K?/_q`|9pL iyuXUCqoդ˷j3y4ZZ![|@G.Qmb6Z-e\YߙIrB5qrKY0/YAn8rDlss^C,dST ;x|ZRKBw4CK*vCV߯81y[ݧ[),3Gan0;h:|6OWO/]:NUߡ SO7J>9i) LZSgʽ,RվT8QڌG5o6XS`x0]kpAۦcan3qwS=xqBGj:m4ivm{g[R=< 3n߁m QQao]ň.>_oO Ks\&7 G}Kj?g巗$8RⷕjG|6(3?Ra30(2SNϋi) 鑖M,dGڑxcCɋ<7U5Ƀ 6Ӷ }FQs!ִ+иKB܃4@+4,$;@ڸܳ>OoVNyXSzZyk޿V_aB}Z=5>hu?|bkg T蓝’DOҮ;蒲OVYŬz][h j^A'Ջubߎܤ(U ֽ[tӇ5nA0q.șx͆auޫ+窴tfgY~N՜ց3tY-xv~QO\k_30dL\>]O{g /vgkAsiOӫ˿_ 0W7WO.OpBw^ݲwẸ!'XdOݺv ^X}m ^c8"mĩ]UAzqN86||:8jkKתWO"_aEk]!,-مs_P<62#|G.oCDs"y! Ýէ I#!Nsț: J<λ%?څ8'/<}WW5^b:ˡLIsʥ^Qo?Ғ-Ǵ׼?}+k,_lǟuWjRR֣ibFj:vҔܕTqdyjmt ;T樊Ĺ[;?xn~PɂʭجAj>xWKTد>#*f e|#eWҽZz(_b (X?QnJM4m2Q~p"E5鯸V)Km&(MשJm>45g-_>O,mdONH )Gii}հA{9[e% 4:'%anbRۖjތ3W^~K Ss꽓ظVzD_ky1*[=ĶAKoq0ӝݱc2>rXk ߆[f}d8w@uukPiGa 9y8|Nkya7F!VMaD1x# և'-yor6'|95p) Ppװ83b2%#ѠJ9__8 5*9_ Yj:$SPI=hlNnQ7\a!OGBR_xN|,?jCԙ'?Qw^v{LR~ʔ\^nΟt;x?/5&kډKWERߡru^?%[}>m|4s.숇!-:幩m=i&%QGɏz|:H6h[r`؅,^guћ(I!H=P%i5_D <3ƅwx<^?Yü^b᱖N8&hn_,f:Cs0H@~|^9Au^[ מ``]s|,MKu~>_E*i*Eʴxi~iX ZL3UDOtrv4H޲fs-߹ U6P3 ~*;wX' ..U ʝ5^SteE=%8N(ڵY /%nu8V}BGCVsL V ݹy2hYGgy;UG"ϯӯ/uZ状o-0s1>Qk3]K4ܗk[}E[{<%.uLS^2b}^yN7mh+kR5/usܓ2#ȃyHKɋt $ ^d#ާ#& ?s*X݆*xVKfP{jT+ތi3hhxIבx\ytbi-XOG*0\Ҭ +]v-92dk*\*}iHfYdfPފ젲SSb2zw_ԛkԄ2٢5d|5n:P3i_ R(&}ZuC[Q}W2 /Y̞['k8lN;T?ީBo)Q׬sC`^/kQԠa` wAT p ԫOo;PXKS#W0/.β2u՟ވ_]֟9tM-p2Ch\s]qxvu -:/,#ov 81[#/80O%пuMVX>;\~<0?o(}PP¼&Ѐ$b8f $@9kHp @ph">WxC"y8qL`!s!OCP'nM7ɛzmx0\f)>H{K pm(e[Evɗ6yH܏;ʢ As&mغ֒:mF mhya6O^ɏy9.\D|ʢ{p-3S(@I;9lR` ⹖?|࣡ƒ:}aZԑt^)EH&Op#^W"_r\L]x~ר/ϏHCQW#: s h2oUco Ubq͘SiBf#X/hxO[AS+r~$ajf''‚7ҏ5lNMZOybqٯvc+#[Qm8gi|fek(g>Bh=zLX6ժgv`^YK5ql̲N ѩ5xSޢ6} aM͇ٵZ.}zWa/_>7}_?k0u]{NB^_ep̀Ѷ8vwM1 ~AZ:qmF̛#oM <1c=U} f~a![ubT M:X5L&M c RJ]{*k&-K:];Ƭ.>}4hШL\'\:I0>upU/Xp|ͧ>=v0XG̣/,TstN^ׇ]}<37>rt>|vڤ[kņZqQϝ;?ۃG;7Wizb$h䨼p-) )mٺV_ڡM6ك:tߣ3Ux߮OЎmk dE*iӶ:~r_XWԩN[/6DՉ0_3tYVOgO<<޿}0̵V?j8rqeaR4Nګa]ǖ?0 K_`Mb  jƌIA3ldQ=5i7[#G; 8e z„Y6tZ-ռŇ**^qU@Ӧi@1Ѥy,ѓ/B?>y=X n{?o[[B0F\'-Lu{B}̕IS]Js/yF%[wd#}]Au# S7/U}j.,jɜ!zdG[@ 8B q oї^k܄ '-DZ1 }:A4.FXhZH7whv'yBy1PWWOަ\j0y}ԃ*")u7Gp9e{rPwGN]5u5>J&<./̀e0D{0y5G}4<$ ρ{]a2D)I_W#49ϳ#v3hڅ6Sy6 D ȋo4iɗ/Z*6k'g5oM}'Od!,ߥًvڡ&&9UJ֜Vyjb[S1Z*Rv\PƓn9S*o2/͉NUņ*4+3*|DrA-\uP啟ikbQzq?b\%[TQAeEkM55S^?x,_{Jݲf60,O7oy{U\m1a/$: g2c@Ѷ9wg;]3c"`D?~ߧA4xN]=v(#۟^ ٍ֔8ڪw//DkƲ-/W o{4~2gMg)Χ"m`=Z. y}98Bcvy˘*ٿY=単Qo3^~ylG+zqnUu_:yG[  Jħ kѥ#F?X!أmcڇvAӛ|{5~t1xZXډ,L|}}\hg/L~O?uWE6ުtpק:g[ =kV/U-S.^\}wEldstZux.ՂZd./ŞO}$ 8?iqquItVnג7^/ s$9~䌽C @mwewH ?7YB,8 Vw#?buez;hg7%ƙK~xwhoc4 Bh-]֯wg JgE^8X:eޯ;hB.}HlI˖ɛ5 ke)õW}n0}1F֗25O޿^\RO`6'0Ai# s=?S.@IuҎA>fNrߤפy~?ާ/Bʄ ͈o!;5;j]Z&} #[#7hՎ*^3lҴY+ÒA )\_5u~%V#ʔ{4_Sд%x皿rK7j:7k3H)eU|5s,ݣܹ;-ANI+i/Wf?Ҳ5T1 Kתl6U.ۭV…_x^Y=:MTzˁjMS K7h PTFַ\/:YwPT̻y/B%%Td _VREoγd*)]FQ߾SMo5{g[Saa J7;hrKK)=)KXA{TRA\䔫hA(+'TS&ԩU:w10}.d+:*w~+J;o֘(K 'C&(׉8Yf7A(ϵlFMOJRG5͸ޮe8J" ȃ-usE(<"hXWqB"4~Ld, % |_~@k}.[7ᐖ ԤQ|)!K %_@S>'PwA͋ICY@:evn.~h,8nZO:Ԯmvs">/-/+N{X9ƴ^J(2|1L\KFIG9#x(@pγgKc>E>δ1#1:C:@9Fk(}GhK/t(yٜGNr &?Fs&q"?matr6c9}00_YWO, 4mٽa-a /f }93o3EKfNktʠ{2f}qs;G޾ygW& >A^AY0&΀0ꡠ->{y`^@Z^_}-3isb @u"xF{ %L?|PoP pzż߫'&%pp.\#מŚCR'MN:pbn]+ʂUZ;7g{ &k痨9=|]WZK1~ep7wճ a@*n|4̷+>-0uʠ/qօ~3Weɾ7Xa` @cYXoo3x?'GGay/ ^E8G߄lpYɿe yPGxZ|E }@]c߀)20hkL~eAy+O'k|L'_;6$X&p'O^K6.~Ͻ ȗ2u0^fdv;= ~n%ƽn-eOHbPB8`4R6]&C9nN`Lϓ{|O-j]fj: k)ވjzOz*SJjԤ2:te#}>p|7fH9jmBi9Ci)(vĎnf&OzJ|L: Smtz=Rz7a]?T\A0JQf%u؎udep~ގԱS)?wUnՃ{s~/\ftx/?ՓǑcx;$Ty<[?a$Uݿs[\ jάuz|jG$yoŹ`14\kWeI0x^O58 Ye0gF #<_ <ۜɭ3s}C`/xd604д4WlΉ v,g7+gvsg [mwFU[4hvObfn@,fЬ)LK'? eߠ35xA}Y~?UG7Ps ưSgޟY˗p6ݠ i^4e ٽt6m2&iE? /E|nrٽTUWxN/T֊Z0s`Q.eVh޲r-]=_Yiʋgi^i*gPiΔ0;;kL.. kV؀.)+hZRU>nAx-c+Y,V+|rKT-⍋THKWʥ=9ݚpj.333e~7{'!C0e+!]~W~^8]/ rN`~흫{B)wX&0(`%,&%3f_=g1;fZ(Vo[}YV;viAfo zX{aOcN$!w|׭dAFz_u,ֵ=H>DBW P'+}{[!RJσShұOy^'=b\{} Px`yލhCݭ铬[2 RVrIݲmbMǵojԦ wz*x [r%诸S e}s_nuLɪtAp7%wqtFƨiijgZtS: Vc~T-2?Nv(6H -Fފn>f{Լp5뤷lL IXzz*%AgO Wq D{Zx_ IzEt KoL6Jkƍ+af0[:vVjJO_<@wk3/8, S\t'ǶW\lw⭬*%ĺQ SV-;*#[j׶=|ߧ?K.J/;:q^?ٜ ` q9@^>kv4q˒Ws܏yDžm9ġ\a1x-9L`O1l Kȟ|a?RA~$PI&$SϘv_&u4~{<%qb(s(%.Gܬ8Eu1pk~9Lm2 ~ZrҲb/'jSg_b"O\:nnG9|4ʋD^p^xx ~6>J׼}C(+??^}v&kpcA@^ԗAQW7]'pvD(*r+y?iWhd! K=w#|}H#_9W=r_Ӂ<< [)N]/n]O^kzh3>Tb>Jl1Xml?t'*HTr5nOMCCNQyJꞥ}s'GrpZWu|QjurX/9sRZQR1mô!j1,'u[[Y=]={6` 8RzRA+Jy?[m3Cnwڇ8pyimep^*|(`s>y w&;\gswgw{-t7fǺsajS7,ҹFc#Ƭ!NZRXs7Nun\> EN`śC0 `ÿCKP/4b)q kXMx9 2_ܢ!>1h~Y '7`gCdB5y`*P%nh,ppe$lcP^Rك8Z3V5| yjkZ̚=V4 orpm7|3x$ꍦ[t侶~Xyp.߱zݹc-xƮ ]>.0Ozhh-]i-,Կ4dB؁=H;> yK''=)׭( uk:{9P5{| OtCr͏t:p2c⹆ermyOx_kylcdC8 y>}VtR?ኞU&) 7EwӻMVQAjKM60`N=+ċ0I]| ,RڐJ헧hI}꣹a7wU&}ղ_ [ Sf)d S>Vu Q3ؔvNjWGVw=y:+P3q QTj#d?"M>_P؎JlҚQm#Ğsr@% R\ҁJIjpk#prʇJM3WQQ탉r#N |Y7>Ⱦ讖C;`0<Vx`EpzgQfO[K`̡[).MTwBG~˿B/&y9Ophkg:Gw++Qڡص;R7ґ0R8O>: plϐ'lE\"M]-+)ǝsݙ scg8]AB\c鎱p xRQ'knƵ\CK<*x~eufR< ] $zh ͵^y6=||f FلE9ϛs>AAqzKKM~̡-\wk(_1 2B4/"[gLx>Rs 5[wnLz_] upD(p_\snΑ?Q6PX=}qD88Fօs]x& T0BcF;RWAyOx@9< H>\Z su}wDVԤ(.7bR))|@lsmG+Yסh6P^yjƶL\S-G*ydt5 T[WӶfM 5QeJ9MѤzLSB7Goq^{uâqv?I}z1mƪYB%cԹQqΣZҨ%z߭Z'f^s%2y)U_,չ+udND@&_99h|ls/věu/Z=NDd*U_m`.,Ts3m\7W%ӂ%ͥsgkъʠf^a颢*͛Rۖ'"wNUqٶ̀iAZj*WѼ TzX9϶xT0c*'8w*KkgȕZL Tjy~lYV t֞ϋ%|+Σ (sZ7o]nYx\}0F>p1 ovaڠMqdn;:̷ratw z m/)3 2gJya?IQ=p"8Ã<"|r՛^}byҫhi)Dk+q@RX-D{>ps0]V:!7h/y!]ˋ ws*I|n>i׸ k|r͵{])\M[y~8Aq];:DHV\ܯ4uר/}ޟ#L{9s=WuހF7rjE]zKO^b?V|i!D1Y45:I~`z+( |#kޛ$&x(R޹vXE[y ,Wamb\5R 'Xo?[=vLGQjQ1M#[)*#5Ll jkɰDT\7$ ߸FjfR?RjH5& vG()yhIэ;nشš,KFijnu=$KLmm`8۸Ash4h;`5`tkJo ĩ~V& c'O;tQV/NpKMt\5 g ^CJ]\~:}\^kY rMpeR7_=PWla>Ϡ&k?HI`󞉃uuU3\sKls`e::(/N]($-u'/nMZ䢁|$`M[ltwx< RGCc*}(/0/$E#_p0|pAxNu?~Gx0s] ̽P.(ۉ}9N\cλ1;?sM+s0:Dyԁ|8ZiEZ]Γ1e9XԴϙp-k)M.|MZE?uF0ԙ5:m"Ezp5ިkgG̠ *YCa!딢"0m0Z6p6c  a]S4v[ٟbhxeIcZ3 A{*", r € sna3:;Zg0]h(h1t֖p_91xe=TH6DM?$x +LkV\1l2 |$  _hq %^#e2ZjJ~.Hօ5ܬ*<F LN.- *rT?%[7Y9Y#Tb<`g=s\Ҝx<-ڰP6/S٪$ofME%SU3Fs_&sU<'OsWkΚ // duV*##àExGD4;U=]-F>ۂ/ #=%wwyO;𺽻w]B+hzbV}ȍ- طpjo "p< LO :-Fs6m/ ŝA+_B,8c>o@]_>:<@0b@8gk lͪMOm0Ⱦ{19;w#/YQkb0$-[P<ߵ>q@=r Ku. ޚsY$ה8&=}^n]#n 5G=xl\:тSk@͞ę:0̖tλr>DI RN|0] H֝@ ؉y9akEK>AiF^-s3=L/7mvכG(6sgxP}%>\kNpȟ C9b8|2}#p̋f'_||4893evM~8 pS]~L}i#:Wf[ D0f.rS6 nfPrB=>ͪғ(vd?OԚ8 'O|!<Ƀu-iu|ځ{GzFz;XSQ߼zE<տ1N1)դM_@Y~^32(~I>D S X0ejZSj,Lž?K= e2L`66bߎ(.hy Vla t.M >RlHL0w_Ԯմڏw-Ĵ2n7Z 51P'uQ9GZT1 z"j\Nס3xb0'*;e|9ݴN㪰p1<#ڗg3:#p:I"k ] |OCᕽzpmo\cbZG9$1>#|R{Y>GL,1qiwXsO:rZ'mR`&:h}Xa U n@gV ,ND,j? 0 sK\9&-ƠV}a{"MjD[eztd>M kF c&h V^:Nw nRʱ !p:g_(c&● ^dwM蛯f++'-mI0Km#vY6Ôn`ڤGJk=$o8لjp7%u66ie v9%ZQTMK~?p\Lkկd0ip f2'<G7x/L7ѣ иg{عA̻x}>Jd#=<kծC'%ܤcl)'ݮ#k`,2)r~qm+]a6acȭOO%OıøuE.ל`A8v0Tpk>\W Mp-B@";s%ơhZ/SKa[:{}z91&7q9nK!< ^Mp(bG3//1i^w 1sA8X<(C1Bxp`u(y%>[oH[G:$?p!>uqhOG|ӵs}"8A#H\#Р|g=>[Rk5MJ|_1Qd@ s|Lg6no]`aÈ+ĉ [@k jc7`qbQMRqqMb}抍oF3"ۆi)cc3\ûJon\SÇ#+;8T.<Ǯ奿>rte3 i؋tցpJ~pb-U:N03[‰>׹|'x]8;ܺn"_^SIGl}0r]ͪ&q|99WC{Z׸RinTM/ЀOQqДy3iǮg`dM=x5y`spw PGrsKʃ%^4ĿuecRWK:הI<lSCA(6~Dkl9/)}y"\KZY:ӵ'C/ #n.u#RkyR7P0A!#\s4yS..B.paЮԃ!4)cҒ/[w pbU^jڻ@VY܁j^ ݪu'X]2+4CuuVJ{㙹27#CwƯIDATou&~ft`[ga}0Wj R+87s=³{ztdh0S4[SKkZ}hm_4AghL-=4l3fk4h  ͖7`\s`u'8gu֠l h񾵪>jVW+竬d ggm/ \RYEg98Ś]4U%WyS3iT:cfNRa`.]R6Ss4\0W+5qq.,J=y֬94-k g I(n]rq?=|f'<`9 ?A̸zvv#fhw hv (? wx\]|7i<2xg\]?PrhW303{6 H1-7G~1툇xXfrj|ZUw]=!8ˍ>2B+cO'zZҸF֭j(yd)ȃ,2=}_G9OzDֹ. ܲQ SG;i5\M\󲨳Ilɯ3>/iɗ8&=Ljk[T}RyF]ԕ׾nj=p6hWYq]ǪY<̱z2G)nVըy1Gi­G/ӣ2ݰ0jEM:O k5[ Q2(P؞jA6GrR~)#}D~j@4RՏ(dSZGרS(ͮ' QL`ڌ[L|_%5AJLL+M1~_䐋3N_+>cמso΄mm3H``1؀Y%mlLP,rr{왫s]k3.~+uuuU=Vb-0Xxvkͩ%Ljs!gYZ98JK\o'O~'i!ތ࿣zuUQy޹s8NИoER`Ioa 8 A`iӦ91&g,]LCjƶXIj 3Fij-.qx+6GZ0(Y,榜 Xܧ p 'I+.V9VXaI$?:3 0kwŐ=_TQXR`O:kͲ  $I]Zdzq ,: zMyX$ɇ>L>PIy9ĤBMR9Qg)y68$#`Wy7ѲVB!ɖ:>-D]7wϲz^c ~N <B:4#<wxw)Lg[joM[em3ۿNFYv xw%æ/]cMUe ʞ2נE3|(iŻ aU/P+-]:ce-ܪV.}T? ^uJJDz}mr@ݑZ6Fb׀^c9@f8J?Z/"vjktX`&7Rm#?t[bd F·7s}suݠR`W_Lز/0J4pŹjTԘ`8 Sk9 Z]EbF<l_7`/sW8ޝs <ٶ"4+(<I~<+Z^h<NYm ~, nތq6s+^4 g‹ZkyW~];ɷR1]_<>|͞cl6o([Xl;`,N\mq1b]>c{_8(W~|Gat4K۾xzO3~O}m K- ߈$XѦi-U=WX+ ?qx?6EU/hwv1OXIa+Vk{ʟҦ-̪ ЂFZm>騜ߵ&KIɱLބI)~& z$K}BuHzŒ%[ R}5ƛ#cu!%#-|XgVIS+TdKI %T$OqVZ C` &KUxMaF?R3> [AsONa.[  zHS ]]I0(%") I}xLԚI[/s嫀%!&^/PT%rsUV .I$EMNKGGƪ;8 lt64]`ISN#]!Ep⏆?yL'5HGDGCyהy @9a/AfT4K'x Cܓ%H}ue]#? =<%L6tɷfqA?0n\k'؟ZeXV>:p|]CҲujjpD2: AietmݞF{{m9F[VQuKu4=.7:hIGYρ-0X-F[Jһ!F0+t/αfv ͳ.ZN65?޷ns-mK~f6Ԓz ӡ.\ꚿZ(?MpNy_A!KuP.*2'>S7x^7s ~)O%_[v8R}Fx0 `2`}A4\˶*`E}/k ehF֟1`.&_ԜY ̐u&0BL .\}^~=PŒ2e}hid+(*DS@$¾.W$F t"a*Tr$@|%h$ȑ% a5/0L|8[q\#8׷3*ݒmɲ<[O ?=1~̟9厷)' ݂4>nZh+?,uS ϙlys0O]iEV0m-;ΏK'ۮgCdf32]d,UQW:C WuC ] _$8߆rw=bcN_.8$rHkW~4eg@H1xc *46dh:bU6=wzL$ƁC6rg 3vj]~Ah` G5'G,ڮw>z,4uO)oPF4ѤK5곀]O>yVxX5.D@Sde8$Imc!]2P~iB||īxGiq~$zg:TL$ Kpa|Jp|u<=1/N-S } 3G~YY-.@n~Ifm:nS_ZSfi]g;b_? _أI]v K_DA1:$$i,)uHGV2ƲX 65cu e3:sM޸~H0SܒsrJHfvo`H¨KVHIOyzZ`ZH~Q~तgv8f|YB;@ȶz;HaIi8vSK+?yKP&dAKIa"ki2&~G Q͸C\{p!uexkY Lc K,ģ%E%1N`oLRcf z/ԦFx`ǃ:eV ).G4yZc]_aɇ7B e'q2_ W9/{( qhT^c5qr_(2Q<(a#5 РJRJ'g% gҹ'Ҕ4ɏfnH΅8$/:dByt']G~#;SZiHzM8aԩ 9Gą#n:%(P&okąc$n6i!-Ҡq53,S}=;x}z;[\XBhFߒҟ4 @'3̸vpFב6 t]_#,[me?92B6 &XiioUĬpyZcQW0[a]mXu:42_pY9nqToZS샍ضUt? ZuT3So)G:{Ă&[𫁍_Ws 4b ;9Y߼vn\mr 0~ R0p_WEz%dX0C9R1F p} }fFZtddgwtOaU0Q-`0LH #-۷ڷ‹#TMC 94Yq* ̞n<*Hݲ00*X~=u+NR`W 0*2 \Gϑ VJdsw^x[=Ϊo^l޵lAL_`l[6Y!krp+ȝhxMkqT[4-^8;􍅶<3V~s`xW ZٗKl)X+2Š ,Yj .ɭ@NL=ὣf4SGTg\#H{TK T1>ƅE9Y*w$!ROe|zE*%#]"}jy,_=r`&ogrf]l~L[>@߸*д9\lQ_Ϡ>҆ 0ip@0R(q.rN8P"`[˫o_+8O}=84p=#}\Sy98)ũy"|,_zƒ5.~k%Xm;x*OqcVwj_p|{Mo49@fі<3r^aYOf;v}9\fZWu yԗ|oYR3mI~52k]ߴ.[Np@UӖd,p[l !XV%glqJۄg,!Y),*ReNpKz ئ {5[k7o1t*4_T٫"~2@`79k Y۾}Kd:.O .}aLQeƮ$f $.LD\U :!@xP'Z3G&HEVNkVISM$m֑‚QRxMj&mXDYģ$=::'5 PR満ptBnG~Hȗ$ܣ_<kQeu"tΧX3{Yh= VzZ*t92_rC|ۡ.}Xhi]G[zc%`1g%u~ ^%ty՞PO'b-b8#M9Y&ZϗY;RaCg[G̷[,-e Kzv .ح5\lX\d0D 64Y{S2&/4A zb zT/Ik^fW/ֵ_uOu:OJ|xԥZ,$ YcxjND/a,0b%OKx_aQ`7o#q, `КIh ~axZ1RSM~?Abb~.K (#GZ֒ǜstnVKҬPkf/0 KY?:$FҌi 7E~ /9UX1 ޥXxWd2EiWJwmK 'آx-^2Ǎ_ ̚mVT4pЋZެqђ\[h-Y4 '.+X4Nr8faW\X4 ϲUyX[?rGU|O3'W/k;Hso*$4 qRg x[4 G*U[Rh~I6Z[hf p6ߏ$o\>jwNlQ}|:3ch $od XW罾Ƙ>Z±Go?IΑtbR-c[ug@^9W4q@YNG4N\<4 ZIS1Ѥ頺k»tN_v͛y4's6"F׺ɳ.Xs3-wmǷ]єp?p,7Fm}ߵ>#vN 9~j}^-h7 )9:'eGW}3nk_~;ns~S\ ܥ{&Yƞ8̡*D8h!,.#ł3ԦNѢԧ]IcX@2뇱LKI 0K| ))sϽ _ 3n[ao0J*j/ $?M9q vUiub%^‘7IZ#NK 1'n1 p |Ob9cY=kR,]9Ry&+B5VK%}U A@'ĩ-h#^ KBp<;@:y'%;.@y `5B r!'5!=x^wU+jvUc솁.N!7d9*0jHq0ˠε7a=W▤`młA|6,8.>ul`+6:6^.1 q$R:`Pj"X[ #F֮#+H}ZJ,? $.86 +vopXePI0 8$Ĭ$W s vCWX\u@u[.|oT\IwgJ7C$} q3W>#k6ukmE0x.xO3,p-_1?yVP0#x-O?.Y]yY;?w-̛9@\r&nKf_Zcնfcg[{іXCT#o_%F%Z qu&l"m'w4+g5w__?I@ۍ[|7HY+w%|G/X&F.m9d?;&. >~=MF'خ)kc_Z]U5G`{Z$ EA } o@,}edJ  B9jk#&u9J^Wr\X_}`q'@*֦%aXGIr5)Qa5qKJ2|)ȳ0Π%M >@5)c'2y!-v5A;Dr3a Z0FS\@`TS^K'#A3ZaM='i5 p6mUZ  ֺU{W^;Wu޾AZsǯƶA@RZ ~5֏IҪI'Hv? 1 rcgi_$ _msUJBť򩂩RrGxK"* :,Guc*6fN-#TӘUqsO- ,5|4k'me3qJ">ipħKyP5=nlg{OFz\^P5uKpE|SXZs& aoUk!֥s֪]a:[oZn/Yhkv=Szh{F%!c`}< cFЉeiomcpV~[fF+1Sd1=+ %ǸֱHcjQ€4K֡(?wk:G2^!Lfwmv*;]ȉvd]jq$W딫R~4ӎ`' M!cW)wtK0vH a@܈UC.E cL`OC/_\Ġ  Td/Z }fuO,ߞЉ X" Z}[_62Vby`9\TF@H7lp'Q"!*tdkSZbוm-R`80k qt6\(p$@uN.{ָ/ .޿]~Ecsu |ʖO Xr.)yH  m|+F//em႙38{h˟7-[:4뇗P^>b|-p~N~6~Vd*~gP+gԖ=1o_`oZru Jb\'KPp2jሪ?p6G{%Xͯmm.t.Z_-`CxJ{duёo۷7 ̤Sl ,.Yc&`8l?U[y;Yv ~,>eikJq.Ҟwiq׈qAG[*S'I,iwir\}MX; 6O2s4d4q\ԷJG)^ 1c ioW MKh@QkN5~iTYYi41[pNlc7:cN,-O nAc+gpymp xȺ>5ݺIoZr[]Cg|v%ta{=?2z 9Y0^Pf{֣X<'RI/{u{.y@M0$w"a*%}H֩Y|\+j \ӟuT]bqi)OXjr @wML}8 A55 H}c8-۪Ug嘒 iw yOGa׏[펰KiI<5.j/؟55#a'?a{*5iJ'!l5_|"$sG,.Ÿ?^'84&pſ8LXXn '88 OFW(ɯ2E+Zaz:ЛcrpwuH}yl8xe+׋,In*k{c3?{ gagÀ +JYA.2L(ʈS}@5ps+xTN@{>xkd@uD`Iʾsi$ԏ.೨9G[$Hlk~/=_wXf7[h}EBŚʝ.bJ'S|`@XboUkwtMG`(± zK. Љc&kQ}|loM.Ixe6@1ot5iD#f%#NЕN1RÀ*\#\wojZWʍ_!wv}GKI/AP-A8-G`ROhVګo +?82v+YmgO'TiNE$*ԇeMX|puO$WGqN[LvyOsS/Ғ4;Vb?%}1}o4Q\O^ԇkҔs%/e>#VL\|9HNaT0USN*X*f)['/PlIk ^*&,tiÎ*$YlC oˑxG 2GIzI$G#L'>4VK^ϑk$̂/IGIz^:t2wXt: M:p|!n/mǩǯ:3I(ʘPxŏ Όtf5+24v@ùfϜ9OUEʚIKh)=O;v{څ>%g |qd4k'u [/Ki{Z\r/=^]^q/Yjs)\6’_̜,T߷hFgBTK}j<7R_-Aa67;}Mkn׮ܳ ]p5څKRVϹ@W,Ge7~4Q"@5ʝw HOڅVql[>}`ֽH^|XUA;]%M H3R^܀!vR]|.?o\a8=R].7^^ Q`A- K~p8qk+;KOGhm3쭊v_mե~k |d9@>?ک??~?1@T˷ ~G_!HҚ`@X\a* Y@{WIhp|eXmz9̖Ɗ4*9+ V[ uQ}_ |b;X>?uY8~fkҭvpw!ϲZgϛaEyl"W^"_\,ߖ-3 fosO'+0/-VA}f_>'?žWvlw &/w|hVTY+ PTdgW$@,RޚUN=Q-e$L C7=}L$lhjx&̽[|a>!b ƹSz/- q1Ś2Ym[hݹB;B>9ؒG `}k\:kSį `MKKIC^,dʻ?H`Ҡ ЫOUO|fmvdG9y m 0 _ qJRdA^cD~`\cҤQmI &O&;Vzn4]Ӷk'W 79=ڇ~M֛x6)[kixOb&J1⺾cgemkiON'[g^3Ijٽz;noMV[b&S;OY֣ϫ6m2r6۽7*Cx7wݎ;cJl=#kݶrBVmr,.u~znz g,C bY/:$XN wj={f vm:w{z8"jYHnfF_7,F8`7CvHRgekfUol{deuuӣ5ߺw`5fL$(`Ƣ!Ɠ u 8  C<⊳ a `L% .KW*A!\ %˔C\ŝ<4'">?d@T!,/L$"ny|Ɉ2NFF2qČs`IkJC;@U@Y\?/UytyWfj< TiKg*DT^`N 8F9q;S#ObQdJO~xXZ](ӒkiR":?:*9*S<" QN%EWKRBeB8|4ܻw˃':F__< Ώ(Lp{>3{YtKʱ]m6g׶6o6~2=ύDn8%ŧ:ـCly?o-]:!!e[qdaD 0}ҫ6cwh(Xo9߷Nt$xn'ge /M ٬UV8+o/0m5x]h lC#e}]ba8v;29UΚ5xG{˃\a`s X_HN] |p[=SE@V DGݸTiUqNsuL\3="#"o_كneZ@Z`{:RkUP_K;S**ƌܨiq|Se[nKpp>@wVsX0qx%l.Xf[%vQ~Į5tbIԖ8|X/|1ϕC9#q>- udmRCK7ڥ]vul΄@n^[k"jo!S$[?u1}xjwlKVH#vqr޹6Z;rhXoYy싯Vٞ;lkJޒ巟Ehi-^:/os|-Ycla+go?ml;7o.օ3m'Mu?{?ҝ߄2<`w.WBŬ7/2`d{?;Ǽh; u{ ̀!ho],ukɄ9QՖwIKcj+ߨv9۾ηXc u40ߧT1jums~}]?en5[6`,7"=`.WWG&P}릪~%ؾmOB=o76_ۑԔ#ig?mrіҾo0"[#m*}fU %~hc6tn+ou‘O믿Hkߒ Yc)#Ҡ%pK, 8}2i=|5η:;dڊo_7lqP~,m|KyjdOψYnW`MSfq)Gҕg¸_jwr7YC;裯fef?<o/ ~ӦZd VٴKg|soM7%QhysV+~e'.|;DC0UKFfs,yؘѳ|moJrWò3k|10z?1Ѻto7+v˯Y1tknڥsG} 0XGbd /c v~Ώa!ߟTc7V0{e?*Jc؉kR7O})<'ls8΁wOȮ绗Bծ)/MM[>9&;Wn;b/W sCp3fȍ-aZW4r2XmЎ6FG`[r.uwBYp*`VވEu;v{ĆRjªSIX1 c&Yio .ڭۑ*Mx>ep~_^r00~Ժ۩V[sƖ,[wp6-wM Vۄ }}YT8> _;wjws l56+w͞ >ZMV],{lVMo+l9֡CobbGKH`M/FN֮] -w7w^2Mk::$[NvW`|m.)3 _QW4wB]V +hb`\CRϥ)0GaC=/u[ Ӓ6a8FĒ0r8>cm-,H`'Q~vIdz=tYIXE\4iH[gfpx`P/Z$2!󟈵6?d ?J4e2 ɨ H>)4 <8xo!F_?^zb3@:p>Ə: wBݬS mee aoټ`f:kY֊WlܢuuXdWJ% aklA:=+lƬE6a\/d c?Y[muyg'|s^_Q/$0Pv1? F4 H9=i%.ḞR}YծJg᭺0 0rS`te #yjPҤ_|E&vUh$ ̑"ePoll.m )0Z@- ň(.[;:8{#@Ԭb`Υko vzۿ3z]o nȻ)"- Cvh8j/W]OީREr eQw|KYsJߨo.q%ߦG]Uv|*_C<aBzw|Kx1pvEQ{6ó2V7;ud1axFZِGUﶆ\j|2Lㆫ-?a:zvnJv}[>>tMWYQTv`:+ݳm޶ڶoX x-]8ǷXZ2?|wEkvzՔ1@bI@ #m]7DCL5^WBX PcsF zxH}]@/uB8wudO)+u U=]ZUe?ڊo_ q4tnW#{`Mn *t%¿?TkFq@rI1ԿQ_/9u|];-G5L德AOihqD& &C/#7p//}"}&%iZӮO 6h/m(m]*p8vӎKEy>JVIzoM>kZ@<%KҪq ~#Gtcq' A # 4^ xM/y"kB˴6mf6nƋtbg>c;~&fy+ل?obϏYjVnl/emҜm٧;Ցx³=n =ޱo٬Elm<< =Z4]cݲXr/)³n a|TuΟ er%]x1qoyh/.گ5jxѧl+ڜS./[m5jO2eٟ͛OLӖp^2uFCNVcyǍedt Л`;;Yĉ`r93f .ް?eevG}{Bs7X;$,nR/ :XxY` Q }  5?St%46 NҚ廣no?<2MHkxN..%% R"t""$LB28%5V@ GbJ8r.$#u7/9``}Ɲhxn^*$MǷYV@+HPl#:*ۃ:})6rs%_>ύnaep#Iv9Hc*|X{x%@p}%E G}s/PP~~;Wk[G?/f$ϗOtP>G>K_+EKPP7z1QƸ놏lN|fBWfۥuvG_?ef"_8V}܎=vM%..X86=[lFT`z-?*Jw=?o?u_7؞-?؂)6o[qپ'bX|zOxR \&;`,o_(>Yq:ɮk[g*vP_YA6TMz_ c +G*"#q /냑/~3 LVbHwyڊk!C#sCgĞcC`C˷F̸!5"Q}#.zk0Yf|C?o&φÉC_YٞOZvQ;WӚ.ln5y f0uΚ8IIX/&K?$M<⤽TG IvR>^8O8JK|8Iɗ>s9t TK'&5p qEI @?Bxϩj K( 9I^"wE|83,Ti}۶s]{ႝ}KCt6l;j_lӊY܅SĎ'FۤmCVv3Sflkqe0jO jg9`M4.;uFtUVҒZ}i7. WbˎZtO_[qܪ+kFK;Kg]x֪6ag.i39ޞ;̵frs?ϬkG2Ul%`=^2wjmu>O eKfcgY~r˝MTb kIYֺM\7m];rX4ya8zF@Ym{vT{Ɗ|tR el83eL:`8$H1އO:} %o3.^sl$lg,Rw} HʮxtʤO@kO&|Bqm-[^>yu-zΘ ue09E<|}.c!^l;lĕ9;tjo1ئN/ǒ}3ycK,6j|co3!o̴EٴXu{n1#tq)/Xf߾ :;ߴ֡3wPs՚o^ %gh$@꒷TdIxW:o]H/cX'2 R' d.ډG\=#> 53v2: u0X85ό5@7>e\zN<ٮ6ۭK5.1PXUwnh+RƸF_N Qk-(})<H/f¡>*Xw58~d6ֆp׮ ߵ:R޷!2kCK6yḨЋ1{VheZ-v ۍ7Q,,Bcue;??pIت}[]F;Y%H>j+ؼ9l;] [<x\bԢwmV\k+8} +3>Z4ϥ[l]k &YѼmGnUkkgfwoSm'-߿.EZH1RudjpMOCnU/uHu7J_k_S#R\;}ˢ{7Z !e].K}uU{.ɍ|g|wwTeW?sG[NKqW:I:' I"Kq@p[rww}G};?9})5kZgլYXf'^xF]]vԗl Ox^ڲsޖF+ȶGDWŐp*NV5;/XQV+^zOxOXC}V4&w٭Ŗ6c{aB۳f^c6C{ŕa=v]͐) -cjbUvǝOy8y34\&rp5aܵ nS3w]3Fҁ˞n-_ ^⌊[W>)Z@G$% fWV,!l㏒IGXfl{N;&kHYZI!u'P6ԤdU46C'SO?l2(tKΨpD8I x#yLS @eB9Ҳ?tHc 9xse<*K yGAIWgGyW0hh;8)MuQ<6hp:L~xщuT@|} )Nw*HGxO{d R_Lc–暶&_dE|F;Ro!f26v=_PD:,8Ҷ@w肇;e_Om`h\^PafTxMAmP OSo4dI;B8 . #uD`G5@Xgiiꗿ?<-Y-\<{tp ?Ytvmom{ΰSm;l-e &֏=:݆1zֆɆ6h-v~l+2_/pM׆]`6~6bߍacoi]`??Ӳ2X`K K+Cڬ7a-hYKhQvӆ|i3 -6ߴv?4>j<7Of& cS_I|`AQOƏVN;>SǜAG!֙18es]o68A8ђR\xIb`] !>mN3籶𽿖t:L:=sOU&IϜyypfnN@Ry|cކ&ER>xO:5) 1藶h`2IL~&L ޳P6ǵ1CY=iO(oҐ9>.ԓ_"'tAcFQspc1|i>nYUz26/|wK3جYښ;?-!c`)7Llo~y.xkkWۼ_o*l_M_rᇦXl?{r -'+ߎ%JF/t[+4]ݽ1dÇ̌\u>%~͕#%Ro+ȳJAcȖԧ{O`pyO_C4 3yӟ$|PΙ3'rڐoNS9h4AfM#0 'ICL>ēe@0QF\ rBLf3I 8rnҪ1XaߥAV!(#k F>a.P&L@4J_~9:@q&`S7zx`j ci&!|!ѮYa$H:+tulvvdmxD;Ѡ^Ul2u Ў $xI'\ᾴͤf2O|At2]3h\'eIKOH>GZm@@2y+4,'}|GcZɏ2hV'A4RY,Yk2фo/=y>E=SSyha$ȗz;⇦a赆.M"Ŗ. vD_⺂knnFN|1gz[>{sKo+'p6A*#pbf{[a5R4E(nn+ j$P)$N2 >ڰ`<2;'hf~n9G7ZWGp}1'^α`>!dd8| kkOxj%e%#1exZ “oZkyXZyG\̚;~ TWG @W)OԛrXy; PSR*xnC~=|iCuF6āWC^| 0O>˨*:RMa{eG6{GrV{vŰ{mOě Φ5XA1/kCGm<[$ٲ#>M}x1-~$Mჴٹ9FkkٖvUYyDM-.v\cSYyEl\OP_4h%-z;A\St$}HCu@7A'.4iWK|#-ykB#LY`/yP^SeHK7k~heMJO^ F/~@E]^i"Ey, M|~F,PC^oM!`QB  t?␏6 XնSjhr@V[cǏYʬKw '~.~7̻쪛kof '{e6k{cec?`|pE@49mNGy<60uMpu18-zeaP :qTxxf#|+13yɕG8c㺠&~8Y`,ZB^& {xknIy_L9~=5l)뮍 Xq.hmoβƌo:uR7?+p148kpF? xJ%h 1ubg|Ll vƾ?>ۿkS!O!r,:M[:G˼F: .sq#% RDFXYYKMКMF9@O;2]ĕ99FjØtf40CP6'OxE٤Alx:N jK ;[ڴklu6{ZӴ6rwڿfLVs_wzN:}gCZPr`)w[[:3^peDVmQL J͑,,r]VuB ZZ_|],6}K3}V~ۑ6bGO9{얛'|,84:u,s_~C+|qiti;ȃAG@7ɃZ=ehH[;9<JҐuMDԉINsˀ"OɘzH+ڰaԑw\2QBxW@8L|E9<uƆE|?u&o3Ch?J>Z:'M(WcnejW|oxRQ"hiZ%P/vߩeR4J/Bkg?oUu%6g*կzٖ.Vh~W?bWtf}bo>K?t6b}6f6j=6z6![8#=[SAm{۟a#a#n7 q-#{'#oV9[ocO֜`:PvP@oJxqƄ羖Ш9M\wp2 Z]r&i1'n-;qpJ\t.wnxuEk F Ћsʕ|̹jPrxSWg<͵Jϻ*k[h~1 Yos`guqp]ར4ݲsջ`c͘rYܲqo}k,w(W*7WdPV vr0['@-m 78@őY׹!gP@+\@Yo`1wF3>P̮8\;Ts)qAۭwo{a\u86klW pNsgkV`4?9Tp#pgK~;[ s}kO7fӉHGě# hUη,{J~n9_XVZojW9HAb[!ٹwE%NcHcL-HC߂ )# PJ8CпyJ+ 6\xq`<`'1(W>peڴi{ށ)B8!0 Sop4ԓ|ϠG`d<* e(O`B!0&k 0tʘJ yWH@"qEZii%A5ZEٳ/H1I:@- ϓƅIˎ4G#8h+u&M{i)F) y1JK 87B5xȋ!-!_@#ƄL xy/z[ulޑa%of1nOx'֕wD^fn4e 3xJׂF 'ߨ @I !ugKY 8 Ct?bRd3qo3,FpC'3mFY|cQgA|.eҰhָRQcgΞpګ+w_X/'N `;Gm0ً٢m՚v}3lȈlܤAՄ!7Yʘ[9Ĭ٫m7ل)ڍ?ec&eC0>=|ظ;do]1fu[cSmgmi3W('Y8( \ZMww#%|'|@A??3$ ҎA&ӂ- 6\qٻe冃.4'e(j? /fS]L"$A![X&h0],󸃿\qEZL/ `@/'P}4LMsR6`0tK~toN &8gnq$/]8_A [ѯB m*q9L\"U-fЉ49#Ȋ<[Ux|,1^5y߆cFLp\]̗Z\h?9㛘@ܢlOEBVi;p&ј-m {GQ0 A5j9 І6P9oЎ 4OKee*0f4oF:g}()7Ya͝ԷA- |h8?zy 4άf|ûq.?Al1?Y79} 0ghu DL1{+6 ψ\)D% [9@.H̍# c?n 5凬)<1/3q9?g߉ ypr7Xg#L`ynjV;\kT'{Cz )oeMc>T<7%L*28&!ytPeHjp oЂL#JÈLL,odbc96p~3eꫯ|F?G&$]F -7т_M~L }=)~&`x}dޥ"HI2v[[ u$.bYJqFfU6Eߍmoɖ.'>FN A#x&s[lq6xT|>=6`} 6zv=17^c^e 2ۈQW=ٖ,l[k+a3>m/W賜ٯ˾h3,5@9nn1oຒC }K0u4V[UAgS@Ak%ӘXXCYkd{'KKK̩cm`?6Y+k} HB :yO`ҸM'@@sy2ú{Cm đ@EL A ? yaN$ǒ6_zrvv]VV^cG|l첎,=YZ˟-kťzϯԲ gdxlMzd-[іrl#o ڜlɲC+|',%p  쮩/ w`&eCG^iF\iEd\hǤx-[.b|cs\~gնvXyMU74[AIix{!EUg.HN0|C(#-hwLV sm,4'8h%0^H ˩e}*\o9>sa\3'!0hhn_9ۉfHOLe=O*.̑f,&;} |j St`4>Ĩ+w1xGjl^L83ݜ'}PfnE>IE˳p\Ŧ Z҃mo&nIh\o*M԰n1^vu\m+:쩖lj(B[#<;Svh/h os;X}(4W6: 6:k7L^O9_6X/3gs%u6t>U4k6u߮G1g|!Qhdi6qp%?ʥ jI0z$_Yv :h<27y@t Ҡ!>)Gt$O?@7B5 (ē}?uvtLR|_t&xCāE3AvV1)k'xԕvY(I/?eKd?i sjQ޳OH~Qڞh8hI?.&+EOhc"QzbkF@TtQ7 ť dr ^C6h+kAewh/+) ;X=R/G9Νzs]yC6pՖ26zzelނl zGƍ{8p7q7yoڜ?L]ws6|M6h9j>j씦l?{}&[r6욛u[wY󼼦Jʬ,xl 5Gm9#XWtTXᾓ/ ?!N!W/_|,ڼ-i=iz}% &gϹ[XA@gwpʃ)qe"@[4L9)ԗ;|jڈk8X} xFˋ648r`W.epa@04~fȘd0uC?dU(/w`N»uwXC!;{]ZgR}'9i{=Na\J`B6/8f1UQ|x7L9C+pO` >]C ,1ǺsL ^4_<7- p\Tvy3ff&, l-pwG*'@;{>I=w dm+`:o1'2OZ3^y2Yۘ I\HU~<|Q>y06&'i?F ,!Ъk">bT9H#K'y:Qk`&qȇ ݟϬAȃ5)2u Cڌ4Z_.i3|XʋD'O]TPdIqxannm&4n5̙rqqQC+HxMpv6ja̵DlRr= @#(Wڀ! u Bv|2'XRTU!GCN>j/46}t۰cmkl/uYh{nqQn/lOg  :w,8_1`=o6`p)UG#Ggi ߵkԓ!~7|9S /Z`3dB YT=~ #R#xړ63 ?kd"7ġ?_ɇo'8~__Q7)>"+7:J?q@\06qxG${ q#B HuHd2 s% $Ah[I[6 IYTx:~˔ L|!B84>$ߵˀi3C/e@}%tA`&4)`>; ̠פ* v7:(Sf* .yR&u~uX;D]58d&AB/'%!A;tJ H(>ibc1>N2Q] ڌCG0$0| Zx/M2ԑ!\soşn#S) wĈ6p4pK? `C Ŝ>F~څ|i Wڹ:0)L_kYׅpWI"4w{svBWrA>;/)0/3 2+0L s.B |%ρlƄ00G-641pe 8Up\s]8XBr4wgh5%.e8ʁq&6ǎ7{( sW*0e֊ ;^:ksW$ir爛 peҷ^̃yo#iLyϜ#[  -IG|mهևs &6ex4;$̩8BLCϷ&oҌ<_S,=s]7m9j$Bu>=2:Ľ”M=AޥRuig#sK~ y sk2vFα\nGaQxu`5,ljdpe)j3hV>36?ƪqCšԭvĦ 8e| wXHpٽj|_xoO epΟzChOI!6`1A{pnWngM6{x_eq^q{Qc$" d<.m2im"h'S\Xd^%GU̗k)C4 gYr4YʥJZ7m@Ci NZr{(w`N=5eh&CMZ*x'^oڤh/Y>jXې'O;Ey7#BmuM*.m8 j9ռLVQRd'[U=S7E/P@ <~C/ Ϥkh3 MMXuG_I,0/z_h>pwt;I=uHbqWٯ3&M=̟-Yy.LsMt;\'^ GX?]r`}p8B뛒2>4?ٿګ~ђJe)MX#k 1ON 2Uҋ4KZi%x/eX͛@p! Dq)h3pKۿ?Q/4R Ԃd !u NAJWp<( 9,wNd8 0tv0! ii"LQIK|ťC,VI2wʡ<LOY0V 'a=4 Ldt6Wga0 'ن A=9:q{96gѻ6l_ bpWYK 75P_m='vB҈CIbVഡ> CI<[mMIb1'>w2;C;I7mVG{k!Je{A'jua3MCCs:L,+fԕsoAK|"'F :$#|sW0gs}ա( @."qt$דNJp7lPx"y `,;`G~6xޤ{+B uƁS{=-iExy.KQyXt 7]k=V 3M޾Gv}aY6[n7@?zU4hsY;8Y1y~ȒG\g=^t| @g?ۏ {.N\SU[xګsap]mem7@'}pu"~I)"a[94qcY@ZWm/=u18[Uqgi_ |1L( -ql81Νn 9}lLgsnb5S0q G怕pzUlq0mj}=' 9%`c^ddM%yHZo.uQ@Of@=d$~3o9u )okWefn;d|L~̳<ךyЩ ZWSk:yGVU*׼?k=t6@7Yi9$AmCzid YCh&_jZ('dܼ8uDxQh5U_vֶUV5CU\Y-ǩK $l:O}:5;ʑud1פ#>BXsu&\!󻢲pUS}fXb3gn{{qYKl6f8 fO=9|O6㯋l\Ye3f̵GywȐ!j{_. \2() r8hq?d{)Ԉ;x;b ,#9>@Hxoc: ٔ|H>jYpr i A8c o~fLhK:y6l0CShFėR:lGԝ؂_'8B^RD, Cv(\N P2PA Fe&Z&R&i Rli$`"҈<NL$ 4P&:E3% Gk"IQ)O*vhW"GZȋBh@&lKD\=xp廄r&ʹ .+!.ei@BqcKyM>xϤJ<&@dF=H6!O!R? . 4p6 4PPI}ć6mI!tHА@BD;5h?Ӷ鶊bi;do;gN<{w, y +-O6/} ӾJ{Ĝ6 _>Dҿ4ȗ#cV[Ya5>sV5;x<{+w@2&gkBXfXϘk6u߀[@.?NDjLi2`h|u{{dͅkvYq0Nk51#- faۑy=. FŘzh~FI+-c̭?p\Y+&׀X&;Qm,X̠J(e.\u9?-=t%l=~7i63s4O:::tExg/s0}=^,;r?3笵3\:5;1_Gмȼ*uFFsyȹKY۴77)_gzF9y5MZd^|(t<d"4* +MkCQ^ONE9^ʢ~|,{ɕ?+G}ֵ!mE kbҝU}GFَWT<"^nYEڴwj?6F ?CǓ ِ!%26'oNuЋ3@YY8pC4yP4𩩩ŎX}]}qv=\[|͙͝-rgOlw._|T2xBA'٭OC6'E!(SLa$OW\DF8w Z5U0 dw@btv !y 4GyCKZF椪lЂ-:DS& "iK3 hh1fiyMP œw4*ugS?ސx`M orwK{@v=A,,6Ч6$;mP4^ 8uS1&^t=l{uǶ6E۪lчfС77Yʄ='pxѻsyşel/0^\a8SR߶W_]hWoZj<[Yf-h.Xgn̷(WM68m|J;k9.Ҳ撗w5R7O\fSݨ35! jdKQr tJ jk)K# U2h+k rK x# t]VklK1v? Ef?4/Q_1,`4  ~2%O>\q=+ >e˿ ͞nvemkl\ʍv؍7jLyRaCaB}sM^v7AKhtudۯg/Kzko&knj+*k,(&D+ۭ*Y$3-:B4aߤ/ F#FdXIAUg/,Ƕw2 /\m;Dc*L"$\|@05Y':y2;.h<Ƀ4[qƱ+v!;0Ǚgz߄扆 oxʤM#'fhw1/us*Ҡl(i-㌳%NCw.oPS 79Ը(\%Eӈ$/}9Y\]wrmèo[3`ox].sr\XmM^x:8护Z}gXY ZMg|;w;}8ΪtW!F8u[ky{Hu9&6~@>ƒk#P&ys) \kPe5)̝i,w(Ti rŒ ܸϹ, Tq ڏ6 asߜ5&>w677lL?̌M`~[F+>`eG flشԤ9Vt{8,'U7䊮d9bC\_/Ȥ_tƟK-ec'~lO?=mۂ+9++\ڲ~~Ӗ=~[\ZA77Oz͙3uILҲzʘ*k0G` z?>؀<]x]oZ }trh?9FCgƁa`#ڇL~ʤyoeX9 > ¨%ZY̻8x -|ݨCufTb`E΢'-8aK2ԁU^y&U؅2R8 'Lb%s$E(qtu3yHaVc/AS!`,`d8L&>ɋFlCz'E}4d%;홦 $NH'7a䥵Z=%~,~M!˻Th^Ke%AI/w-ENJ/0YR-W||Mx (3 rYw- ԩ@+p)wMwugm&myR4$H #O>!a;)1}[SA_>]K_п676?e?jŽي5?EKoYk}* VOFK <*}5OfmтgJ?e+^h.&\~`_ G\.xy_yYcݸIE)Kvʇ^ۙ3qF2<}\ V›@[oN_JK&]ړ>یvvuUVZ;?r I {}`wb``p/W!=SijAFF-@6Zkq,pߩGSWP;`pϤ<L 0  6@uG0 P#r~xa_;Y:SsM7)9˽ `mOmڣ*v*F=Qf enmq xۯL߁*{Ow=Y rJXGZiW M`ɩ'wP3`c kGoOC IzO i5}'#u~EhW˼S.6;z{XJU#+.1tvM|7a@1PKiסj`4Vc0Mső332&X#NJ{i8(ǹ >XX~90t}x3 B{v/}ٻ~Y5Fx8qXzlk% }g?9*0'_:O*kSRiؕkވt0>i)5.d,>GM1aY`D 5=KIC|8`xJh{Goy5v T YY`g+G|6:z :$=G| h!Y"#~ '\e& 4Y䍸Թ54J&p%zz`^6)?Yӏ:o'/H^#(\ֽϯҤ5'ŷzRwY爇N{Ǒb4嚚]3:yq%@Ϧ_ 4]Y1[Oϟޓt! ^^|wh͛ݓj~~oz"eIDwa%.z(鉧3t-)tdR8tHG9$@*y EzX*HL(2)p/KoOʌQ8`5ޅPI ,wlEM[u'Q\p,,g02ot&BۼD1 _T o B_ѸbްaìU'-4JBSqhd*γ,t,zILZ:;q]zY׉Gǂ&?JCutgE~d/Q Y&}3k.t ' L,.k50/i'3hiF1`F@*LYq'AѦ̆7/Yɋ4Є$ЕP BLf&$/g@>ݽ=A}YUI랧lيmU-zNW f= m@-I 79w? Q %A,Iyd?I_h)KdV3[OO~}kcB"bdD&&*3ˠǣbF<ڝpbMH(Sj2Io&(SRp1@8WE_[юJoKBnN70 (-~"-pZ: uw-Grfhh -(/v%[8]ue*(]?1:hš Xvq+7 r2n t;x~J#4r('`_y@HYpϽXZ}h@ ~h'TsG-q":q l1UK(9 \w]xw] m@ٕ7y i؀@,XSV}>NN_,XY}!Out+0W] 1t,rq{ӑ7߱nC-ݡ\X±CBh|11=Bq8ߣ^.E{9Kf&,.PJ;&6ao2{s"7?_}:wN4%iWMf?HT[Yp]}2MvwbGOaUqW-qx[n=b倰Тe'a{Y}s/?ݿ<>sMvOX]5 =~Acڕk,0(Бx;"0n^j $,mK2mW&\ăipge&\ V*ʲ dj 1.:.Ai€gw8(&{פ>_!]EgqG_:a8M|'-&"Z- c r ݑq6X} e@*LYzߒKܪ~UgY :;\z(%8}5n~fp~::ÿ'Kw;]A[hSKi؊{?ܱVzW-^p\dU"[nw52wkK&/ytYjd-tpT.]]̑sz]pN^ t[8 #RP,4p :?}3K͛gw}o~}gvC ^)%W8S)l76&zqeǤ0`-ljI0Nd%By*9 )8a/k3*04`"-|Q\*Rk_@XK7!ͬЙꐢ);),[ O%gAԱdlG|::Ia7iBhJU=ot@:x7X $/5Xk0(tdEI=򔐂/kJhf𫺠Non wЄ txߑ/:x|G[@Z J>M$0e$,qx_v?u򻖒=[-\-^-X3I[$àr9u-~-\xAX~W[5 85 $Ky eHf3"[_5k^^vOnOx*ŋq rSV>N}Pwė! dl%MBY  5]h}øΎYOG]aͻ|hGN=,Df,pXpx/o`+W%G +wϸ\`,Ï{F2Yr:4 Ⱦ~gpX B̾ á,4,e @,h,Va,;NȍX75\WC.C|X2k:Rf'|3Gvw޹@q/!Mx>?N-4 "wvbp{þo9 2ۏW[ɚNjmp\`vNbL;g+ˣ;4vcb }8V~ #lS6^VKc 0U=Oݾ2]?˜3,(؊Y4VN̬d?=o6YiyvMt+3q.^w"{ҕAxzQ}PWߨ[ %Cʃ EM L,EKO,XG>Ɔ=ks[qw-/WeANq/37]%W"/ ZOZYt`'2ޓ~o_h>KWy#{~pfS,PXb`PpX,u\Cͳ< 3XO=5vЯa7<726z;sP̷({ew/zg|WJss"; 6yx]EuwN,S|<`Zwm]u~4wwc;9mX}bbf)v3?L8~Ľ<~O҇T[ToWg>_cq% ` ;XЋ 79k—AY0Z~?ykv;;}VdvP6}\'cJ߁Paxd}qqM291+iI(X dSZ2ӄ.y!O\*e!NrM ȑ? LZ~_5tsz&(?N\kE .)U/O+UQ;'0OGt"5|pA! B߸t!ȳ)}~/[_9un܆Gm|bFX e.(',eY8qK%gn]7ڜ[dy6'l+PWs~W [0žſ~rxEC˙{˗pʌMB7DOFGTYdR1"`+d >HZ}4 S|%`, QR*Gym(mϕG ze NIIGK€_i/J+ed&‹Zq ߔ#pa[|?K3PP@# fO[I s$Q?|w&Ri@W{|'UFā:f!0\Uf;_@Ë*Ӡ4fDh0:#;Qvf"G_ʒN:ц?xHV} SN>]MZ-PtpZ@|j8< 'gx4 @'Be=&LzXgLf_/+.5Ahp#WARqAaE8 ~ŕ"ySb$о ,(oPo{꩟R/XJӖe[}wlhIKEKe;@^k恟Yex+BG|4K-oV>ms۷^Kv>beUo%;((kok7pѱ|)(vƎ6džJ8M&)zԙf[oBCCipjSZW$M/_ ;;Z޳#Ze{g%n/9 )\)4>0ks ˗;\f/ÞAyǮ]p KiX}mN0g8N7_v_ ;և?H}ۡxf'^y1 xb{;.M,8.u/.NDu'N`.[W( 6]kSuPG G{&G:c$Sn4GZ-)5t[Q3I8)MZ&~q3LxSZ9Kr4 hCϚ\683me, HUrVrI}g Ӳot#o@|C_nEG!M4߲z\o$ Ooӧ~L굉a Nz::WjX o!GLp:rδ6[WO7ɇr`޺=e~z z{b5t0ik zCڮδ:{mo/k9Y=jI#@G^ЍG3}x-K< gl ^xA0O`+ޡAŁyU85q(}@v_o/386hS/Z ЄX7a-$U < p_QC\JTPRKO] L]ɚ Z,k3 %yU\ lB,kzfO-" tTh+q ѓYgChв }Z;P358Z9-O#KyH!v"1UPlO<VYt5D~(+0ޡIfYvɏ 8v=ғ7VGBY[ ^$|4zFXQ&F3#aЕ HK^7ɳN @% '^8,aGz33 @@}A,4c 9s6ɣ-XRӞWzVy͗O`~X{{SS 쫙?>[$a{䉗mзYoߐM;kn\7? OP;h}691'Qrd<>eeRʨ#j҃HACتl.s:S7դ7 _V(,j:y@eO&uHa?,,܄2LOra3=ϝq ^` mv p:?dӓ=~}—fK;]nb邾PH8ncgu췦Uvt_[`wؾ\(dU%[@Vֻn* VM9[vM7;`gopg,oKxIȋo 2<. '< qXo[7β$ i3ߡ%S( ~gCLf~6:Г#y*z~4sijʲ^UNZy'-bnr@MېYwΙ7K;K_-omz; sS\i^7-l̴}5yvd_5*SeXe}mm爍,m@'VX&bI25N5?@?7 x*m?4n%>O>P,u,v92qG|n/s'Qz9; aw&%VmcC3ֵ5D@_CNc\#.r \i+qbK`M BSVYYc5]@Xr%˲t]£@wNVdUY~/Y(BtMB8epMC7#O@r"O5'ͳi<@W Wj 2~k\ TW3y H{lq$*% V TBɽd%* '+&P ]*CVheK5@ʂ\#L(Ѓ XbCp K_u*u&xRA#KtkOvv_a|]]xnxNc]#MV_/V:|f"%)e05 zAy " <#Sf533C6&MOYɟ:%?Bv'V䌮|C>lIC')@ቼ(+,[by^Fo,+R>o `^_5¥ۜs }OvNM}Ɓrzlߵe˾@zglYˋ?hKUk}w=g-Z::l/W%E|}(RXliz.U8YLH80/_>;;w:C9e}ޗe- zr rkp!WS|[g_,N8/K/X&}|R/]eφtBiWŽO+3>aO"ш;QvzPw}dVS@&YQ:zہ @%?3)+|[E6q^V`$7i_:qR3~R`x VYk[{[ug61ܠ 1V{F65f1I6,8+#&G8 0c&|XΤZ$D&A\x֘/0,- *y# c.eL^R'SnS^ć&$Cԃ;eՆ@5|C8@|MR?kF2 Q6I_I`K7ҧH+wDģ?Ϛ\*# }h#zKGT(08$3 K:{N җ cwCñ~ڟK|K"{+0mpđ.M#)'8yQwCgie(4c >eyh&.:3*iM}]dC?&[Zw,} 6%em$?Y XNL:0#ϪKVċ2T0҅Ʃ *8  sb^/ G> ^F!.H4ׯ_YPRV_UF_Q2ɫpxt ht\Y|Ц4#':Ek9t`ԔGGd`&/4ʏY*j;+f|5Rx#.נ,@+M| w($@ h@GfON 7iCІW@ P7) |KN^^U;[ъ+pӲiY竊7B_6]7_q ]mlcsҩ*2hm㮒 xeqNC_`r((S*y ɑ??L8(G}hȟ 1 "%9%qTr[q9X,{^eC)ӹύuKPzE9RIإ0k#  Sv*dA1z?h,ko7MW|-k@4G'8;4D<4i,}qCu g3*>u7"¨+S}MdG*7H7]@X2L3)H?IFjbYUn&QwYx"-IW&)p`AC2da7IInU>?=~'tXC>C 8z!Q3KfNVeBx|  H[F>'-SYEa2-҂+(i^|ŠqX<_W^@G8:9w z-<%‡\#0Pu#e‡Й\ͳD82(|FW U}%.q&8#gΪ|:CzW } T)|[r2@ }d}#JM!>| ġ cj"8X| fz"/ |]VgYxzzքfĠ AJB8!d@;_0HxՀLj&:HN| g Pn͢BAYAE p'GZ*?E]X%$52~ښzזE`Pgy_<J[*s`ՂE Ϥ#]UK[Jh2[xf5/ٗ~?+޸爽F=8x|)f]IvQDE CǗ@k&7. p{~N6Y ؝~hߡ;z99<~1eǓG|.OwHP:n?Pf{sHJQ# 0m]eV,8 XL48-P|l, . 8ą@=E_IXfz@, 'RYpeqMZ`o ~qJKZE2R\@-{? \aNؗ3l/9;_-@&9h__=-gژD5K {A;lWqe<ϪK ̳ܭUgc~PO9{xMXr}`9YgGmb/}T.a0Kٓn wsda1N>{G8۔o9 1 28AH.k$ϲƳb[0VjZK9pHCP9`IyG:][AOxV<$N ]Ք 4+P|ą|h8olXOB/WwM@MzEyajW |h|QxS&)y'OM@G"'Oh&+I=$NEZDU`2 (M8aM Kŗ.voIg .N: <2h ufO@'peΤ'?:H@<'##Hx;ae1I+0H#pI9tIJ'Ť%<3 G,?h&~[??>q5H><3t F V%fEWEIDATU~ICE|:"@`\2 ]aP!B Z`h# iI'e"2.ƒ3J*~~EPc{M;zž4Kcgp}) Tj2hܳnMK.^m.]@l#-^ߕ+~dO kV=wڲUjsvڼwm^JDA:Ojr<19'RtP&ڋ@,gSj{)zwNwڗ?#-ˡیdɣUְ?Fjr3jG)WT1dPcPHqg~xe (Ax8]G~ͳ];B_kV+.䮼$ê*2vWykgUWf[MU?0mn͍.m\},LA*߭3@#+ ,'a+ &'@_Zs&i>Vh  .D[yѻ@gމTI V]3{oe%V9ʌO>rQ]79y@|9*`2 $qZ6_|F+ hK-mGaoֱOEeYEa欫,ζgZuYVYy)pKr3lWivYVWIaF/*wQZ'[q/ǫM̹j]bNe??=_lsrTwܘgݍ6ҽDzK9L@A?W5&Yd)d/,4;3 JґFqe턮&:@0&>E+2q/Wk$Tn(P" %\|,.s^x(2q7?#eT7M]"J}KyQN&+0M|I>E=E_ЭrDydyv xW{;+귟>a 8B0|3Rˇe s *=N:qOZ|'` V´U=:>|! EeoΒLE<|_׿ˡm6 G^b5x#o8ᤕXeIoã&dP o&S.G|Dx*FS4+4&Ew!MG&w|h7lX3(B>eW:5&T'yS)$*;xVY5%k9fy|Q\F?߈M'pi `^ 葟.aX,K@@^H/'A}R%HKY3j֚VixNT&x".3=hES L34`IyO^˺ztB# zngJ[IK.yέK 8u v<ʭ[i /wk0a~ҧmg~V-O};kvd}oVV^e:IX٫c)_P@93qTr@->Uj?I`4M{Jѿ4AMCcfk7%Yd8)L8~mElup.cO3}?wC潒ba2aU/?  %[lOu?\fgNIxWr0}ac f?2`/:y̮*쬲k*6hqbC4/K88aLxKckV`K)Khi$ ,y&yh0<bYIS$yK@]hUefC=&?I0)L=!+$g ąFR@t>@\GRG oAo9q%(%['O?!,(Tz%o%s% ʏ/]93W>$0M8=9T9 kwo+V >f> dcp<&u\;ur`Mځp%J } )r}v(;i5K<|&EȤp#\夗P%\GB} cdxC-\[bK_U+]-Y Mr6o~-^~Vx E oܱ~Ȥ{в2mW uGmfj`F9q$1?5y"85ɲK~Tw:Ҥ_s)':I~(N;U?EAjTg[55ԺxFZ+loyau OP|Q9TfP?9V#0;T`EnpwJ (@ʲY7\yWyY宂}peP%Ϡ8C +&5  WIZľ?t%&`$& x gV+* (k['i',ZLH[WJHell[/PSMj e9JV{M~ІY ŗ374 >~ KprUZbMgfg]1=LTXIn''-@IAo7_֖ a5jXShuE2'"0ʷޚlk<^[;ssMv}4qsҵzkegklK큮Sn]}1@o2 &-yhN16Kq9.+")$P%>k96811uIhMP%I3u^#"ɉjYG~Fu*CZ$a!y&y z&?QЇޓ`Vdt?vY7wF:~I* D wbB ?ُOh7Ə}}|ٗӑ^z :^t oymǞ{[`]vmc>BUHG`RݡhXY_ȀE+@0>  |㤟 ?@OEgtaqwY^qW_}~[Ӝ9n |o}兦;6\sd`$ڤ5Xˢ}5?qz%،0*  ®ІmzLH7 Q0I Y||idPyFem;|hi]֬CCyY'::-ZI㑖8rCW"0K'%ZX)@ u~pɟC3B +: Fdh'$~g@&^#({zɃEBB|ቺ4 30S>ڃ:!>pY—0>I'&+|-hH#h/JX>gז.}_%xٽko?np)΀Gl5`j[![~>K eϋ 1sWOlz3foT- /eu!PCA9 xzhS. z_#VL [qm':qJӆ SǶ3'mk ֦zڕ;H^ޏ ũ.:fG9E͊Ң-M(Z\\mUG0oƄrϻ|,_x a_@3"=&ZT~_#x!\p7ZsM3CDA+Z[G )Pc~ގF h]o;6c鵟[@W\ N. W8>oG ?_uIڝq/('e'LBOa"~uX]YfWYyjm;Q& 6=EqfM5,p >`U[b>]bc twqLcd|C$|(Iy@4;Y*e)$=CC_4,'/x(ɒdYeWЦ}C~"MYr7't0>oG`JJ`KN:՟ y:!=|Pkr0YK@6 `KzPFi/toSNH!>I6M0ڂN*MrE }|P^+-:&Pp _o>mٲ€wNҞ![Pw-f+W<0Vo,vg!P!Wc3xES{ߑx1DxS Ԫ/%+aLR~RB$Х_$`Ww߼˛ݝ:9=Β4%A,ϳl++f/ov \Yl}OmU{]M/) "eΦ̷bPȫ2~K((Y ʒP0q$(̌w 3dxqVǺW؄;l dqrċK3=-/3ШrqXv+B՗K3˹ W6p,\D<I!wm9E [t't,I8|;x fG5:|kfq~IGzqO>fv9 ɂPz޲mx]]xy?:Hf~@z5©O-5G7w\Wp< kkiQ* $Y{\2:X/[_Rܭ/ο3aKβ݀F9$3SigyO, z'no3o}{ϝc6ѵφ[kThm;aAoikuIBm'8/vAMCSD '@c3i3j <|#띴SA"3`N> ?%PE򦌌粶"Ww7 K~h@gXP M֤"_TJX|@zҵp,7MSfxiCz |iZjO3@V'* %Q:@0uԝE @4%oqEN+KL[Z1ī eI9Rowu. z"[|uЃ.r/% dť>dk! 퉀Uʝ'ő/N~z)Z",}]|YZ tW3ą.ykE. 4֮]k_Wdg6rzԙĕW@ %~JTqRɏxTG%@Xi)=yцR0$VR.ߔP'78th t;0޷l|P]ﵖܾ 0 V^VY!? D}9nͧZGK56|=?{޾%u4.Er!߬͞gNѽ]Wqv*š/P? xmǬуAޅ `1!{ړǏֿGh}KLCc;|>0ǝ]%ϗîuqE[B?) ]5uKx?! uxHvrϑ0/۝V􀵶4Z)n}]M߬Hv&eͧC_Wnum Y_n wعA]h._q Y("Y%lѲaNxSCSTS#HG>%O{?3裏/K (ʫd466t/ֽLRْ%Ks[e8 P@uDA5e;px}! 'hd=NOҢHG 7IK|ϻm{n]U˲C{}`-bNC~C^h1(ֿZwG-tȟylJXmG <]@*ro:nZ=]_gǞ&;pJ98j+JV^c'~emR.&yŶnzA |z=[B|h'ڏOh1RCZ )dM\Rζw@;}A},4hR?n;Q{ˣU6'i)}>J9'%'LЗ ?+%J B Jy?6;?gMoΊbWv*0/N皷ѱ;?=i!Ϟ6ۿe^P^*}"$:#a 鰑6wXQVpI 尵4XW>+|LEn\I1oycc\dEn"+47e|d#SxYE_ y ?2#K\ό2~J2"HqVIӄ !ɋKeGg!-e/瑼5A@HD7Q%G9$sKC~s# ,|T= "\_$' ȓ:cW$Jotn~" h mC{mj($9 ( (r(bKj;_iu ?Qyy5SɵCr!;U,"Ojhޖ; uU@G :0CWc<F#Őq6Hg1G૾#(C0XaTtN_4?NƋ1\h<[mP$s1vGLlq txLG|T3$G03 myc9}cG.ݧ+%qs-FdS;>Gƴn">跅X V kld![ U(6>m韾ap䋛~3|zT:>`Owwm8ǧ0zīLEg:[?L>t[g: w1?wGOx!_Qpk:S"eZO>n\{ե3/7(0o"uxAΚ *cOҩعkm3Ƒ>gxluT)%ɦwܦ^W-gz շc!\s;gTȝz8أƪ [ko|hxvt/9[u53dW<&#xl{|J/|o?^f(J]Q6O0L+_<%cS|z|*D;׭Ɯ;ǥ\4}eK/ʻ$L d2V jz@N6tNfvZÚa^c4Z&BNÃf5;EO`@-OlW=}Цx6;華'NsϹKh^xi}|;z+?7|X Z/`B.Jٓ< R/w87tNM^RwU |K*7~7O~򓟜_t|/ūb]:1])^Ɵ w^'zUU.;zf+z]ߍ&Ԍ)bcVkFqw T*I+.# ?B1˕;Cg8ڸ傔BO_bă>r ~k=q(=̾SG [=/۝= sDtLtiLtc <=Τj2*"W1Fd>W]>2 M66~^Td Z'ds- 0۔iAx$Y@ia)IU N7;y;a |J,B]Yݟx{ʣ:h<cO;˸㕗~?x=Г۬n;|l~;;w8'Nq'cv}fc]>4~pO}G_~8T>4cNtwH߾wzhދCvٌݱb'읤)(v<'x}?s]֦b}n]˵kx|ycT>F! A+I򪩰ԍ7\7%ƳO'Hpŕ~FqX7 ?Go\>څLȹӂr9s.Sp޻޹xV85׌Q8(ywqm~|*RuS|9gӦEpX)_= yIb=Wsa't8g8Yn}q.좩_?)$|cɼf*09钋/GqԏW_sTwM۪ogM駝2Θ[oQpϬ5w:qםwJ'Gμqm70SO9qnYߚ>85NgyꬿtM4BFs4bh';i ? Ywߵn-nzҤg]| w0~:W Sx8=OGI'y?ef3V?`QH5=\rgO3NSg B:q?5#t梵Ҝv )VO?Z4ύ_sѫPc|{Ms.xIqЃ֙z3&1OEc/<7|.9O?={DnjܱyU7r<87|n٧/0Ǵ6JN1WX|oQn+NkݚT'eL.c\lg hF5dcuޓ[].LѦ;Zޭ>*+nQ 8xr^.f 8LZ[ѥ2G'heW ~ Xu7<Ø6;*W h-Ͻ zס\+欆v2ܦ4EWm||8w}__s܌8~݆zf«60u?Os"Sůʧ#~S$ݯdsG3յ 5zAWO\No[}{RT'ﳠ]%IWA%s9ULZx"LÇ}>BOpỂ ӎ o9]'ہY^d}ǟ#cᄛZ;p=g o8CȇG /=BK&dC ^'8RQVrW .Pl#"yxIJ7W^ԓ/W{|ua8_~ݎ{OGNJfl{LJ?G7'8͉m:\^1Ň{t}qM7/_zٔ/~C䓋9(lW;63Iq,l{K/px٘,E]>%ͷ׮}z{^?~]}u\;')q\vo\>m79z|?74ӻc"qLs>_gy֬\}83"}lX\wu׌TMuSzڌ_Axhqz@7v>w9fOgӣg>2JHN_nq.WtT? \tS1}ϸճo~ (uOa3{^tw䢋q)]&{.tw\Kxb6sq~-&jI:G:q -:^ (Q7+~InAjg >:^˕&aܼ?;.(U7;OVWB|@k1&@ _E(x5!M(Ajy [-ЙhlpMK6N\Nklȅ R4|+@K2-a'xfJlܯ7[<~xO_|py͊=;96{ˮqΚOv[`nÊ-8׾qg-$y=N¦M7?f6ZO6}r<<%^EVlf<b7evel(qOp%'eЇ|ϕ_MvggN[1jL/~F;xa 7Oj{jͫV5w3ȓO{`ܰWȵw 3,^#yK8-E2]'X޸b/ ԛo^8_p ײ_B,*uoS}ӄʩЮ^x%&z/?CtţN*H ^z/+^5] nqzl?/2_q#_tbGSOvX?p߽c;I?;y\<Em{ƹ#<=qu 8UɃLqqgE -~YvZ &_0N=}AGo*0u~ZY㏛KA.v㌳ΜpO5<8#N̳Ϛb]3qN_y;z/mذI[[l2.Nd9L|G!@x≋(Rs{_oY#e .pY=U\=E\<ؽ7NJG{tŗ^2.qf]\sݵk^ݬK/l#=<,{OϜ?zګuyf՜n?tIyQsdSL03c ^>5NJ}[ {9>.8[ݷ&WԉnoZ]Apo-B3YZrNI.~cJv3 X\d.C(W&/~S?;ONy/ZmTkxocNt?:n#A“]S[w[>nMǾ>{M /ML 8C,5uή^pe#ran7NEX.n6ǫu ;㡼BH"ӳ1NpK~&-X͢?;gMwWD}>"k UYd=DzЕo-N@d)p |"k;Zd-W5=pj"+.I0|CX\1%1Gh;zv5L b1`~S D)RJ+ V'^칳P q@ tJMc(&Iȹ; W ¿p-kfSQK0G"s/pEO?`4W8 TҾ\{T. /WEx ɡ?gnd#k;d`*TP.x6EݻHA@XsO. N*4JA m^]+UgNf|ߚEQ=sJ? /:~___>H<}M yXBI~6TJط&Dp jn足ڮ.Uq{cQt,^ǎg)_:׮{\sy|.~z|Ӹލsv]{?j-ngY\'J[l">\;i ^ѴhgV .W9lh(jVy+Tti̥]5—]~8}QK \UᇞfB?XE& Tp|$BW|$SzTl3&O8i.O:qT=wN1:8n[}njKQvT 8~z߆G{Lr*]viF M>tN GhSkXPN1_[q1vsVO<ޅ6D'6ϛhG[!ۧ{E+OmDz 7wE>xW=ey~xrSI7tjKcxNʫ W]xES|x'Sl lP;.q8OkqQ|駞u4WocSr~w{8ŵV/D2Gwb`-L/z1u㼏/z_{jz b^7`=>J64v(Ҋ֯7kB+[ol]jsV49\Nr; 5:_\kk \Ơw|'[GѶ~Y!)g#xc}SQnk1ئ6F(++/x7-|:g3?%K+Ƕ~>ntc5BQ.a]bxajm[l4n\{lldIF*špqj 2ihNnQd gɻY'-x,t/јq-v) }>Pq>GC$^Zw]m)tUF S~;~ .8Z4ѤpWt"b\ }YF?-@xO/^U[6=m/'E6(mK^uӺq巌#8i|o<_=/|kowǝ>0zoqAǎ~x[nbٛv'Ƒ?_pԹ 8O~_ UH't F3ٌף_:N*rJN$vkg6.{Q'gY 6RgƚOyocR7u=fgΰ{Cl\G0%'y]Mt~;l֓Itm=kޢ'pHn<ԁyqʳX8O.żK7SNNq|? )o/t]gR\qѦY:}↧)b m>`^ybO<̇kSZ<}pټе6EOk9b,b&=>2*.[kh~r&.]ed_\7]ۓF1hӜ62tBH'`tn'+9+\)6[pϾlG ^! |8<{Ɠ ]#G5|j G5,B^f<|d V^'(O̝Q*[_Z<:0)X]|Q&b5:Y>8GɊG{ ^lXza_O&IsO_c5.ح˜g> }W@LƲ9?Qkq%m8+|=?%>r0īlIeX'D?$O 1NJV}fN[5ٮb =phV0boYC3:d6o_3x/0hG/߆}|_ܭX DK~l>x0/<>[g\-zx˾7}/dnk{?k,D?M'c'9}9>3ҩ|ÛTq+#DGt|q< FF?oq֫|<m}oSj4.%6Gvp8WN5 |씟Yқq N^ێ/}Ksԧ>56lGG㳟C1qhcreF}C;|஍$ժɷWwojAWt.ƪ׬O, r_[_spAGx|Z5l!Diaؽ9F)h5&>BP.~B1#Goe0!2g 9[ȱ(W<.u3%.4!pB06i&q[ V-D&MES [( td%SCG?9D01JLXgE{,pOEەtO.za lF*;[R! l_op𑮌f?| nI+^Ȝ_#sɒTrЎ>+=6'^c+VGe/wl]Ɗ7pl=v_ob];~tm =;7ۤKFN8‚~H-_\HɬmP48[V/'bw]ޤI\+Ɉp{ |gޤxa[1>n,@YZ~!LW%p.'fOMySB|u-Kw1~c'ޒ 'ݘGdm e](. _9sf,]>[?C5ĺ82>*<شXk+Ѐ'/O Lx%YCb] wB '8<ໂuhx'Kxt!h|:6}b=%Wx1ɏx3s 0p]ŏ5P "C$p_Yh^^v 8 Θ67Qjm.lE'I8þdKW>5M%|6<*[_<#^e6%c{2\?1/EїE_ƠOV_W#_R5M'm+`uMkjXLo:CIɟ@R{k]k~Ϯj'‡|wd֐|;iHV/b#lD+ޛciN냧j|+u4}5 /ϿVI#$d'1a TD=_U\Шg>pP& %;(_ - 79 "<(%#q`4ɠ2>Jd4'rOd=|5iȨ=|B5aƤ{EEނAaI=}@qT`كp NpVm%i'X|لx:B|\64NXYY 9Pb&}%:a<OtQAEJ+ѷh*|#;K*^~p/0Xo͓_}K[e6ù_o~|fvϱVQ۟Isebݻ}zqTro~79O~O6$\!#ے^-h%B\2epգlPb O㿮|nZJjB_ax.^L.E|d- )Q.a#;kxL~lx~I}p?L,y; ?pL[15 P/xpk kEqq p|f2+>+lEXWx^ErW! 80w!gCx!kEwptQ6c񃖾&/ghx1oM]<=pU O|b0*Wpi '+_Ǹ6"}g3suMO+^`Y%p' zA 3˸i [KWt`e=7\XZ>KAbLJQ'kbq=MmZ.©}GkH ݥ7xi'W3+]le7 lE<]]6f!Ks~/<#CwOi&4WȎ'ZG:hjm^m@W8(n+>˞-?~\ U]U|8&F3\|%5ؕ1 k5D]>O qw[m={Ʈl8Y犟/%yڊY:^79KFP tND S͉JY\9=;.Pr9Pq$+I+[2B2J2Md4MLw m2d`Up4A+WQȥ{&eMNV ,h'mtK<딠D'ٓ\dΌ}A8%W :=D-4'! :ԄlB [+0/Dy~0z$'\ux붙ON}͖S{j>W[o;nƻv",M~]lM`dGN}ZB/+dQB?|gx%ۼTΜ jޘ;pI jdw^rWǕHJfJ/=X2¯/]ϗK?]4Ih'G)Y#!m %0^4Cx͘}~#׍XhL 8:#3[=4̛ W6cWiQ/Xsmk=XpP 98bq!+:t_p&#ࡏ~B~ Fӵt(kE/Ǔ+@t'x_/w/|6c[rh xg} qc<;7݃CWc,gmzNpWl0N?8bpۭŦ$͸ X1^X}$_rOܕ+(Q҆zBM?sMG=/b~G7|bŊo}ksa7;k Xm\[ߝ*WL0S0>pUy5X?z?}U;K.n ^YHkA) \-S>k|x* FpBZ8^PK y3 53~q "|2$[qn,-j9~;AMN@JLV07S0ؚ]1e,<}oQ)9kU;bdGOcoL>L^KHJBrv*H*]5NgSC-q%ol$[_Pڎ ]pno;nIxQ DI$ '[\(e tɜV8X|m$8 sy"\{zם wlŎcmva5qK_xjcۭO|{>_>dq)㐃N(~T=v3 ƓOjJx87=k}<`H{LtTM%% tIj(Otfq|ye,MzTcJ$Yྱ+[Rv]) &SIO_NpGl`JM=ڈB7]g?;i~ rvYj,*0]g#m mJU-S QRdW|z/QW_j5DgSsq/S6p%O]ۺOؔL͟eq9y-O.etWG/7 e*-Sx9gヾ*rF3dJtK,مǣMpl^+<CN •U7kN,yj'l >>~Ο}!+xt|xVZt!v2Ѽf_0_g/Cn:PmNg l:0ix:g;/@hw upU4+*Fb8|-?ӌCѮpn\s\U?b"y4 ,Yˑg:}:Ox /әkkA0Z5nE#y1V|IPŭi-Z|ţC;OQW}K#q7qNsӓjh⣧ `Ťxcwz^F_I.;p0;lDM Uы^ʅW>A -85׸q)҉! N1nf@hUIJA1FX3 0bh9SWNȇgoh_'pdP7=:V2_ە+~Oc;ǰ:-LZd /m"ۂG? JC%߂mEmG qxN*<|?sO?mA|d2?eCOw/ro=!3^mڴdFx)G~:@7kpe:7\x K6c;]Y\G_%%| w V /x}݌++XrI֒U=VWʟ^-N/>dC #,G-7b{dTWmMxo>Gq**jk$ڵXR[d,8FlÃoCǾ &?rb}&_UkN}}4+(K6 &$/mP'x$>h\Ģbaktp-+CcؗS?>.PGƇ?=%X7c=~|}~6[wmǽơ, }~:n}Oo>sϿ446>Ŏ5١G 9WW-}_N$l&1[ah|Ҹ hb#¡)doSUؐ/9d6q_as߀$kkl:!*ڍe7:CtJ/hIq0>Ϗo.Xcʕ rAn[N|Fj-8l&7&/G|SoN`>r)(a*E~}dO&\L,?\MpWnq(aKڭ0Q~ 3`J)(Xt8{ɯq`gx)?3(/yGĖxƤuŬ <:ˎC>'ihlѥqM,,Q{=2oż^Cl:7P-p :)B ?[-W䀻!ȍ#9JB]52ӟ1p/ˋZEw ~`{ӛk<-x%Oɛ Kw[mO~c{8?ԩz'owOG Ciƍ~*W_xGq, T'؂DU^~laL 8`lxӫ;\Nͷ3C`wx5 1bWpFl㍌xzͅM:0Fш^$߯`k|"׿Ӂ1?`kl 4~,:Z2I:aw:1l]>\[U)V#1dJ%q%_%ƕ|{G_,K|1PѪhksAUT|c %vWsz-jk:l12-B L4o8s\#1f5}Wx1Hx7.'p*r݇[~:H4؀moîK&ϲ|f֟\Ʒ6?Տ?65Vw8s*^ Ƒib{x =o'j~^5M_h~O'9WJ>тq+x {tXXqpSIqiXOotҺMlNn9^Jɞ'˥)_c@~Gv}ƕ瓅_BMP7 ˇ ~L֒WOv{Ky~~_։lЁ|]-"c.;Gdׯ\rr~y:gLMnyN]]{09/TDC9;AsLI al|IA7a)UϠ&n,aq-ܢA59cNKG֝63dEiDIOE,eIůQfcwIϝvz .8xp5>Qav@rlPBY1*~|CF&<%SikZ۵VkrZ 6䄗W4E%;>x+ (ec:; F^phT(_|t Fr9--X,tٍK*GOaL^te ݺ_~yQ1M?y~\) 뽱q-]{8Kơ=ǟtiÏGyȳߕ1cou{~7|q=맂g9کt /)ijb=Ā%))ߢR 0I6ؠ=`kĥ_`q=~K[M| XSkS,@%k%UE)yH[RF1bdl \q?Gƒphp/O%d ~?bb1ʯхOG}9UmqlٙŸ葧u Ğ6/J}8K*(W!d˞&'rON1W}t7XEt~O6&A~rYt?i_%=A^|S+Q\%/5{H˾NN2s钌pgLO?w 7_yi,$ =~[O74m4ZhG/_G\[! ^6+ΈX!} XKX+/F |{}>+Z^R1踶>OTV<n h&h#y[IfQ =?z=! i [g=e]t9{xQs:쐳ǿks-|X鲗kOoSr|H—ɞ+<тv|' !@cs;$݄(Ymg~k7A]mv57ɍ.()0ɉF'ƒKÃ`g+ks ؂YkaBO?F}|INWB&/_b|%>9'*  3h߄P %+kA+-jB+iϸΆ>5F`6KL}Xb^$v~gGxc=}~fծx;xIoyˊwpkSA^n{/?{Cl|t~A{aTv?%G*~^pKol%1Bd_Ⱥx>]-қ+т?EtCǾ:-,צyނ>hh%Nx@'J #KȄZ+"ւ˟+&JLӯb+ i=,,ȧ5n#P?pB+EoyMCx(YJ`U.Ɓ)W%9Bw%&%dON6JʳOcJy=e' ~;\с8zP/?"1^zg|~s"} b~^~t{Z-aN>MҋNdtMdXp+^n|zIyL6CkIwB't\> it|wM_hUŧ+{>h.NwUk-++u %C{ vMf|X[oLù;/1nrU 1ChOE{5Ƙk|?Zh3Xg,ƶζk3\ơN^4|wffc{bRGtg ZJ\[nݵ3滱r[D]SYIDAT0rb{iqtY-"zRˁWgYA ~tm #OW& m++{ RкOW٤4pNٓ \iclBOm70`ܳRGꏌ RWꏉש{DCϏݣ𷋡ёMM8C_`+vt0op849GS<7- \@@&M*tnbV$f@# <*]ݯ\Z z,>G_"ph8Ā*,>\^+c\L Ux|vؽ㇝ n+?cN>cdB8haJf[nHK$n_"ݶzx18_7mlջfozTw -oXbV;-޺xoxo;-w~ۍ]qaGF]YbaӓM?%s @E\DR쒝| j-D?ZÏv+I?fmʠ />^-~w Y=PrOARl9Z򊶆<#2e)xI'i@rDxϊx^Xq?L }T W%w~ 9sxW0˲"7b=Nh=-c rւU!kE<~(X`1$nE /mhA_ U7NkMO˯vlي6>=c{~=zwMۿsc]N;gmMm Ccokl_ٸEѵII|g C ` |d/AtDJ|4g)u;p{]%gC/I`6HҘ7,a3Y.Flãgīo/K\rYZ᥏|%A_b\¬$gç*^טEQk\s9|b݉iQ,'\dp79ɑ/b9ʶ<ӉNa{ ~hi/WLgxd;\ϵ|CCC n&'>_<_Ͼ pư5|}gb[r O`ӏs/,c}Ǽ__ wgģ|Wؠ|W ȶiײf]l^ﻖn\bmu9?q5w,6sq|MCyyX:_+f>IO_NOQ̐Sw @$XK}0dvO?{4-_q\]A>ޗs.3|`-NV"]ˡG5pL}m|^jaC/p[׻k._fksTxW\ӽ Fdw8D'>[\\|rArG LUݿ٤[ci+0}.l'Ձd@ apx}P[>魾세K1rZ4;$8ܺu PW# ьBqD}bѴCeυюF }U?m&o7FѵV3=_C=27[;ఖw}pi1q-{~g-K}ɵ~\_x0_aAEqñ\&Q3GAª-$V0r$*@4B#BPYp*q?<Է*?彟sޯ{i\hmmjekV>9;ٵ_y=T]r_EݜOXDs^htҩ_rΥ5$ym g'rFȕz֒J`U{Uџ]X{>Uf@\ҾҾT>^$wW9NhārEKu\ܴ|ܱ<Nu7QXV^NK6ݽu_rx`Q chL\Foa!lca"cVpI/|aduO>),E7 :fN]˟k{y@1<+'g4wu-чhIocnn x:1fMA gF%JA!T SV<"E-r$INɅNo1M=@L}g;ui☠p@oO24}:[~HL|)x}*.u-ԁ-ov~#t xoroܬ<ָgzYX~fTp hmQǯb_` F%ݷɴ -2E%6e1% 666Gvl276nѩO[yN}k|׏]8wW@,PqQkM#{p ֧=;>p@o"76PI{q'\Ro%)W|3;ɮ$ElvSIbDLij1koȀ_ mSܔh+Y${ɖ@e2t*W;,ݻ+,+.<8JKy](KW6@9Rr^]ž&W~٪؀  \XCzeM9f|ZXrѝvs9_WA7`zPTyЯy]w'Нzd`fs4/H2ſ6c_J`4NEM X+5glty:'y5:<<_zkGikk%\<\@tN>ZS/N6'Ds 3[6^|q6:C&O@:Z]ӞU͝Ͷ1z|}N†J6pقa/^(7 +r+Rߵ|3ȾwO$?X*՗+wإt`}N7c/a h'קDAv.z^P/I}|>ll 6d/E[`7`|g8J}:t;Mo`7୤p y~ 3ecY #bHԞ)5srQz?9Ƞ_MJNX[ }p*L( m`/rfo'8~h"6grM>^b$X} xj, P}qhsedU,S>m-jLX@QMȢvb :bs!66p6z飯MUlf6{^ ZhUtUͧ%oi|>+_;#Xyc}^ԗ-D;ݵǞ]oguEˉ\>yi4|W,uJS^@};~dc#G>~:8҃L>vYOϒ2y6MĻH6#T<%7% P&dDLc}IƄ!pLbDMzKJԗ fy{ɡ^6>m|tNg0\lLz>[rW2>'K4J𕀟(O`[2JzɖdG%ki-c+8}@G ܩkࢿm>藎wfs6zT/./_l4g%:hgd36y~݋@Bں4+2, mu/.D(ƪGem|J_>K@ki&~Wz!=\l?wЍN,:SoneWOmh7΁Rrߺ:Wm;4ԛ-ON(umllm4BstW{ تr#'yd<Ɍt+ ek4nnؿ23_N|C('ۛ) u Fod ̉!},%}W64z}xjc2oeB">a3ւ_ՆPrߦjA3lΜ@g@lJ/cZ%/<?OJDrk 뗿ϓs09ıoυc}cǎ3Ǯ]^sm[_ u;_>>m9{r|ƫ_w߳=+`{x ( v %Mm%d&?۔)o3t~%e衋OAmI r_ xi|N;5ZE D}JXt)y)TJSIg.qɀi$=:FtSO +UZ`$2dq׀S> k1=bQ"Wܖ| Q&T*SNy{?p칿hjW򡯞e6毺25SE%}#5?zd`Ũ9wtFwt33+/=nnLꛞhp8u䱧{.6l_qsG׷5@(4ճa'%[{h[s#~W0F=7g8ʛO';UؚXW^Fl1t߫叁aܩ0AԚ^ooW2xpCS;zr~G4;fE ]$C1h huR޳ҿ:W+b- lꋯ;5 Ć i|_+ڮuP+0?[5=YEh65 ցB8҄g0휉 B!a?;,cko| pv4r|"! 6a#B.Qp'GD Wv+/mb2S+7`rdpl\梽QϝpXf@dam^,>~~CBXkqrmbg3B-+SRK٢9m㕒hac9e3e^T' MmB2֘md/2b$h^}6l7'%r馭dsq$oyRh!~am@L$bJf~0 o kŷxc\a{ Zrճ@ v;O P+e1I'-z|J]Ys?u=s.=Z;C/`U4_YK)nпٺl\]<}kHoG9LGrVk][]zc##>O?g kvhKNW{&_vׇ ?WZrמ}kLGFk^2~m|*;k7s^8ƕzƣQ]~30D3~VX 8g;@H60&[hbmu ʁ&Nݕ#h:EKi*Y6hRp vȪ}J U_agN}6iq8rjgl&k2/Dt! ۆ Ovr "-q]կqmƏLoJ~=(fdq5E'd4i Զ84B. dWR{`AkC N".`v'6h+޴[X1 >[Hmm\9oã`ɵ;~ ()_C (cȪާ7ܰ̚lv`io=ϝl=)cW/;O;wuλ-69G)N3ڤkӆ:l^X+If^15_Iٽ$mm%^Y%zQůɷ/_QB\hϛS'^tSu-K+Q54KKJ7Aǘx[Xbttb cS_ djԽQ2_2vONK-ݘ[+7Uh1{>YTri+yn_z֦Tg8ujLgpvtlwp_`}bO?Mv@_ >2  ~.fQ׀JMWr1W}z3 U6]hg'z9zK9fցlW9pZ[WJ}gzݛ^VܓŞ GO9繵O]]گ=djF~ [;!{^{cZcS1ޞ[cukT w,NYqFcrV󋏀u1lс9Z (Qt;vj^ûxފFY: DXNnvhi ڌ cj )oep8 »gxMg!GkL 8g|9] TIL@P8eG+0J)袩=@&Bof݀}4gD6-M&uP"ȵͳx}Mq4[7wd "c,y<еZ$]8ݜH+tƓ vM{G mm<][ſ ͅZxSrQk|c6=hgw` t`d _ ܴY'V68q _p mg3Nrgg~8-c}w6ăw,s\Н>%#=/\ ~%%iPmqg((=Mtm% d6UY8Kj8>s"͒b% I>Jq%lW2GddJvגZr74_JeIptl~ KL\Ņ{mnRDI?}I;>ϏO)ihz$m̽Z>SJR K;5:0Ł}ƢAcOW*݋ v+}ȡCg聾 ٚ6CXaSQsZ_銇D10|>^ş1J.v'_,{9Ae,>vd8y/}6m b,<ף׼կ>C/E_s uO@]<.nídE>3cUlo1y]뫾5'hnFrJc="op27[c{Aמ2XoW~Fr^4]يWO:Xʇ3F.sE<ֽvx"xy!~tzt0> Rr Ja(: =^:,C-ua1}6Bfe+8 n g6ʯ=סrt$9 :GN; U{ ״hm<)8WhBv罝2z= ;J,7Iܕ{TZ"09=86Yܡ~2c|[t46? 8l"$ý~G<닦i24LrMEd>@0x~;dd3Pw'3hւr TȤ7j%il4;p;?m6t1%J6FEbCr+Փ]_ckCIًx߯; ޱ}}]]It/_?ol|xk} cս@+G.tlvɬI{q㙮c..ān\o=GZqF7t7hȺG|} yRySWs쑱?b_&G<|Xd~[3]'OlUJ/W<)7'ƫ7?fcDǘYn^[hVJ| SaW G[֎'{{1蓗oKc[>)ϖ+ן)mȢNA~@}>ƴ6/ghj[oGhAi/\i 91央S!kD^Vh}B[>FPJ`xxK|9 1?uF7,< _oXuP:`usqkْm ;`J>rv uN.~>a4[J3.p .GSa{[ےVV^}N)xbm?<Um[lZ|:5ɑD_mqho v/&ގi2/v(˸ނ欷^\odc2ջzƣŬiƶI5_g{czkW/- pٵ$΂6^mxlz.Zo O@Uɒ66ͨ́=<Ƀ@hzsrN`z,qn ѾVgUYsƖmrsƅ_o?uw@r܋N]-$3|=~ t_[K&JFn+_?gtl's~(76TZظ6|4gÀo 94ܒ:1,͇ WD} {VBmc+6>%%%i\"]l|$X^ahcWS93 ]h;/ Tjgup:XyNpѓ |NFNC@ΘNy}aB4 v5Pܘl _ҟ ۀi95Jo4-v =ثFdEM d@rvf(GqʄiWF !efZPSg1N`܉137^F5/zd k}zMvƜR'03!L@#>oj\e@k]BF5^YD,rYJ㽝X5Z<7D80ƕL%{f=ld;h۸Xw۸EL66bнE@<8pN cA/,#5HpSb8}NAv'/mX>ql>]=<ډ_0qQ;[#+7_elJ 9%S~O/}Ijuv:J*^ImN86,{ṯ9ܳzqJKT+6|5 jKJ%|hj3gzC\1(Y?:ɳ6d*A,YH4-TCnE?i#{cKJGcNJȣϜWuhK Yո9,Z{ CPp8$;3*@1YMnqnn}5ɚ?Od?eLrt>`Kii`9AC,ì ʻWe= o١DڜF:F(]w2?Ye;WoLm4V(|Hc/yS &aK%m 8@Ɍ_t*y$Gs2y^2~:6کO5<|uOl}8$VW|f19Зldccy}b^9䧊]9*=hnYpFO&dnhKgv+,(ўyG%#]`yX{PFN+{}Q\X ?[ŕx,/G|ݳk^XyB|?Q8)_nhE7Nevpv`Hs` }s +ɋV0nlukS׷gxo<667ϖGϘ}Νۧ՞ӧ՝6_ 4%q)#t Dx9\Gpi'P LrMRM Z<{؂7?ZM&fy]+Mjm M:uM"ҋBkb <$K[lJȴ+eE a OtL{ {ِEǢcP2٘?[8-ƔpjcYPFS,`MMƘ63Ϯt6 }ڌJ֛dk6߻sUwed^y']?O8-˧@+@ (;.[6{7r/;v_XY˴>}9~–%G%JsT|ؼa6Pq:amK|f5ZŹX2(JcbDD/7@0'UR!h]bi}JÓJ#`8h.wI{I,.7&YJJ^ž vWA3k<ltҿ?InW{/tw Mym2G=digbX؝\`W2g<4c^rMɖD'ۿ1&edH2$GsS͒;N20^ڵ4?dwz~_"FAlƙC}sɔN:vkx W淞'Ͷd1ʱ} G}#zG]׾j>%qb?9:[Ih[Y}{y3>ӊ:7yzrN/ riyz@HYSEV:Lԏ:uCFj3(UZR 9Ӟ xlO%>Y'p ئ?c){j郮g4ɬk*"# Mqr1BT!}c1eA Ls9*@Rc # %I`"y4ǻO+00sJv|Wqg @Wtkx}@h*68"=4dւWqu(VdD5Ybcۋ6d dr<ӡ8ыɍlAƀFI*f Ol d#^\Ǟm%Fd3c^"FSȾ6;4,&SlN~1,B; ޥ/|d{/Gkyc۷ Kv+wl>i8%ƖZH/5.?xjsqR@;dO~Y {;W:?{wpsClNsE}qQD=sL%|SR&)bɉM(WJ܊>YS^%7F$DnNK$HzX '_bI~ M@`4LKZKq_r['i/dz]qK~`U1I%O>Se@g;eBe"Y{zG.NLչW'[Qo,y瀶g^k6t?G =z[;{&.#ОO\5C|[Ѥkq_u XG[]mҁջ1qԹOć6dWo,]fe\sշfg^:I:>p-3t\}E2c/ߤkk=jԦ8.G7@dpO(޵Sz/Yx95?ckNEƓճ>mJ٬K/O] c."o=> گte9|Ec^,x3YI/g66V[ ս\W ͌ծ>P? | M@>dPPN|٬?Y`:YI@l|.ptW mU,6Nf:{_d8f2MHPҍ '$# \@-0S?s-!4Q5Ց~ ?[Ңx$qY7٢_Wv)f+FƻBTL> ꂑ{im'BO6EG 1Yg )T` d7XF҉?h hJVȉyΗMsmaeW3ւ Ei' zm8Y=kC jlIZx##'D2m6ni׏% bxmg}CBG":H`{3#G֧"7ߺxu4=zعswXoC 4vl`$O}SOxz0{N|Mtgmײl/T}=6sm#qo>%fJI \+A/'%JqcKXD/DzQ_QVVbzd tnLtEOpN }x:4J΋_=~ YWvL)L$ q}C {!GPkz9vzO,t-&>ְ}:'{;UOGUG]Y>)=GN1馎쑬bs-WvcPllM?-{tg?bdn?onBߟ McFsG#Wt 6{ ٸNqxC]/ڗaLL!7G^ sv d#4K! ubOힼh5u?)F"{}.lKnE?OT^y'~8A1*N9x_Τ b};}?&,W*C(v\d Dwлq! C,ȿe@<l+Q06;A=̠^>v]6-x6w\%OG'?ɒ0kw_A(% /~زy/Iqq/qڎc/x.4bq҉g3v#kRβ0g~_-xwk\/%7ll>F${ölߺ&0R6-~_.mof74u8ss/1~tk?nO3׿^l!.>`C6H?>Ó-ԞDFs OmclG67r/<ŧ9^%kFѓ]N9J~3b89x{[|F֞b}^l6ldȈ94œ?J?v5n_{osNeTߺHOtSяhiC:5 mLE<<0Wx܌i/f-Vs|H.~fC:"Q>l v, HMAڣoW1ka 1~1o%;)r~2 zͧtkԓ]מ6vHD?Α_s5}"F6œ!~ˍkkqUߩ2 ~l夭bQfNݳ'ci]Wv;%?:桸݉gu[BslI@mJNR; 6r ! +23[hXl&AI~ǐU 0ƕHV+}`%J>&#GIYD$U[oW%aM 1s K =x H%E_=c Zd-mcp?Yk)p]xVJȣ mlgg}h3߮M݋e ~N8_ Øtr_ <Ӂ|c{!8BL,h4Ƙ DȸkǽzOW^yG?=^'Ybtɻo]s6G> \~wZܶbMKɕlNhULeb޼]{fKd^J6UoنóX @]d}D?B%%޳J/Hw#bΕLl%-lsar[Sɦ_kX`CIqm^ 8 2;苗׮%>&'قJ{~ s,#$}KlG@Jv_\kj,@ h!٨O~>#ko@!K@ ^d/G-&`l-El{ox`%o0K#4<%=GLl`|/ԑ9[kgxΘCN֭wLJOϚњN^\"V?g2k!^3਎lƶ>gQЏ|@$;;D|1 XGt5lQ/ek1VoktG` ~o;/| 8iFtq<1En! o#ϸ qTN8:mƵa!Ѐ7gQpZ4 E@HMtNs cA?s]-o3,nq#E@lo%C9=A>oɓvW:0?esrgR]~mb26ho Ō1dm6@lv5|bzӸO}cןOxw?N:iؾ}΃dZ l% X枮?JXS}J{veSh FKL{ncc`QNȂd49F6L@^C<k} Q/h苞v6e/yK1e,}jN }}6h%mr-J\NڌcrHr]s4@Z.E^ >:цWNprm-nSXa4џAE Z'-%;z:Ɛ˞"~9OI8؃ȅ>S엨[ ⿼Qr4AhNj/Cx%'˩Ȫ?ʧl/yzK?|؁ #^G[}6Kו0|½;~2b<7a3Ǧ}>)0#ZͩX|i7٣ϥ91~gL 䖌֞iSgr H{=+\^^.C.hNٌtS;%}7Ʒ 9 6ȤW4Y~ܧ 2$`>'v*XV` q$:ms$:(MRl D/ 3N PXhZ,- t;]&;^I˙l(Ɍ'{D7\x`Y0!h2ѷtc%PృBD@bzOGg魝gr f|.NīD ]1bɏ63~|bŢ>%x-+-|D/hgrUr8 {!fJԑDK̐ݦ/ie:W Dq(fYnq], $7=07c{+~۸-Y.ZB]{|*SEw:>$ &dV%~]<KN[}6|eWٌ k3% LJr1j3]sT|'ߋ)\7{X;[jcv[8(N@,!Z*7XL:'? _6+G60,?yLSf{O m|3;Eਤ8ݲ)8u+Ȫ/~:P̣=j3P#F2ibATrdVcgD|'r ts #b=-b2w[K7b؜7;o_ +mxk'zk5*¶tip4c[CZh3Jٵh᧯:t؏ۣlZZՋCBNl7dc/y iï=R[9'W!=>n=C:gS&q٪ߕndo>e mƣe,=ȁ7gb59z!C1ٞO 9Ѻ7Ǽc#ɟ%m>9} ŵvEZdShƻdG=rBK7v.牷ycbϚr 󭵡\2 􇐀&W鰊m}Ƨ w3@OhZ0}|6Q,؜E#>HNmhG~3?!{~'/`{!I.Jo'G[.O'/ƠUΜ X;[S)p }7 HI\!Z~i7) K[PRf I\j6>/Q2_JHi*f۰"P&>K:L}~ |MbKy,6W<~ ~ m#+Pzʎq܋^2>qex9N8~sE)[Wnٿ]['@/y/$b霯+|f?c6:lBGqNLy %cc0M4WnoNzk#zNـlpm%dCx?.;7Nt|^okwy[N|x[6ßp|?/~8n=scXl56o1N/֚#`6!gsL 4h~ -?{ЛXN_r }^ =)$l0$9&9Sp%%l/%tQwux#hBB9#d&YslGN*]{bѢ¿dZ(Ə?]Wxkq>OMOase>Y8p@[47؊bNQॹlhO^@Y|-i-ͻ>#t٣9~>%5'lVK?@4gxzallB^otlE Z{7 =:hE)W.bdSrB>AóaG?z^7gOӿƷVN66S Cڊ{H[o0>tEn#g䣓7YdǵnE ~v۸a^Ǿ9!gdr2%H0]{I @Y&` )E_c->X<$QL]79@#+c"jtٕLsF>`ؚ ]c܀> ]6\U8t ș`&D&u-%.(&6uޚ%PBgF@[`Q 3[V4m+-W6<2`woCUiM6B2U s:žMZoak0MlEGg[hćF{/#l<葓dB,E'rd+ 6EL lC_~;>![/x`7|}\׾qcsk癫wl;urݽk8񥧌W^>~\;r+ؠvlQ]nٌSm/Y/$KQYL7gB|?;ڔZ/K\:]ozBf ?Y=^o L/[UBN8ܦ̖#nČ#pŏmbx_HdnΪ+CQ/) l) t +]NP%9_U wE=}t zt=7#`ǮDqήbM_o#? ;W򨠃vhsLxioŧ /  'wsF?WHOOVup_Llf\4^\lJyhS o'Fߵubmo/}zIѼ|,/q跇7Zؿo<{ _kj/p~)B/e2^ͱG"o`O+?gIyF3?G1/+=$to޲/_0g}tFd;󟘰Β1/;- 'bHGZc_{/AfYˊUÓOC؂C'`H'6Wg/2oﴶ[Љ=з]Ξ}~@Kr tI~0 ѣ܊UCn1OpEbOxXm}yFd [ o d4KƉPy K@xT+V HT,dW?ĥhGJK.X@S~ˌ777 ة/si6׿rZ mbϚ)dinaN]Q AПEKh3J6ʓ@$s>6r]%ԙ[px02 G W$>6x4oq *x#02~~AS2>f kgC -&>p/%/Qd<Ȇ~Y:[ArbdQ\E-ȣO 1"hF۱;],tcsć,Y6rщOē#{aHjU,3N x/ya Y%mllc |-,'>7F 7|uqP@O;)㙟jOnu2=җl;=NDq'7z\sqx ?%|t魸$m[c֛h>46\Y4{cm%TDESPry·W-ţM 0Bzr6G[3 {t\&{@5Ĝ~Gƒ64)ۄ2FEEj'AaK2t)h(A*فj]yk9׉'dD5F.)>|>_эN1:݋Eu%lCSRK?EzŖЏd(vi/kȖH=#|jnѳX=0ųzvrf>!lx_ ,)E;yLg|_KQo($[`B[A?|E%͠9Ӟ~J=qZT\胖o]+^ӽy/4ؙ_5^t'O6ԑ#5:4ĪqٌOYu4Jt{`sfOK[#߳+>dϮ*_2ϜIv@;yԳN3iio{5 o[<Շmsޭˊg?砧O90Y=OһA~>jK=C.6'g<ȈurZ۟ ]r60Zh(t:o0"v3XI?Na7/\uU&dүpKl%];U6iqb,~3;˞ˁѦL~ [w] $b ;O0{W`,--fxQ \m)p4Z ':ʡ'FҠ8D!6s'&`x36CzB6&ƙd2NNL>` > 1scu:f% %)i0#Lz3?Z ɀ/ ] &^Y_@J-l@@C4-4 Г" ^&ZFdf4z7-bmzeBlT^!l_c /h|L]؊Գ+꧞N%`W6ӏ%"]kqb7k.e3Wv^ K:%&=#y頯s53 AK#`,RVz.7'KJDկce jށt%BG?zmzK6'M}/%dV1xjX㌏o *[u&rK6{ik!}C:M ĵv٧Akvᾄ+Q YKW◿y!mh~무ngrGEU^{]ۗf;:&wnkoݢ :xG)}X8rK饫'uCb/jL/Ug6bA4Xux0D@X1<- k0|_9~x[F/za[@/WO/{[ӫ}7&F]'![2kQrgz7a'rO"B\Ŗp5 ]wd(ؿ@wr+(O{Ѝsmc5P]vgsdhh bFa)]y{C$@صepAґ{m4%yv2oIg,}؃-m,{4- jzs@b[B%ld(rB BkNLJ0MaYlZC62ХȎ%J lբN&Kخd7hL60nӏ J>Eoo6GI zlBn<yCrkbm|_I|=)ڸziWm`^4L%p=:pj/VƷ82 6=w߸w,qy}KKG>}r=2)؉P\ b<̉I Fg@>>W }0i_{ ;h*j>j7U,IEܐIlz¸0^i2dklI'Zkg󋭴_ۚ'VOL\'_1^?ِ::Hqx8~d8m_H$*E)W!~T[/ԉ=/`cA1)r'#3^q x?ԅ^L٣J|'||$~][<Sc%l՜1ثyXn/dC/iӗߋKZz×^E[Sԓ-\z]!Z6o }fc뚜|Ɋ~zXԕWC{P|N 񊘈^ٓ/;Eև_GqK%ӧI@lKmo^`; {|-:hǟQ|v ]v[AV#1改k_1/e#rGPli}Иx2?=ߕyĮ{[8|6ϑM`!a؁!v`bYl$@b^c>|rQTwժuUkuWFv:(Bs|_1ou)\#gpdGW-7csdecr-, gtlKpu%|ފeN> Iܮ0a8"LoܐAb9|]'Usm>nwo_~ˣ{gZO;㼑>L~m '>zz 8@lkQC|I">vo Y+ye|G#cJ\+8\-Ѧ7~`0tn>]*6mi D< /:4z эn4l&a.7 NE@W}4#Zi%l&Ϟ|Ic3ɞ8S|o{tVŹM>I>h[4 /tۯ`ScG{Q-W6lO,.Lktor'|_{|Uqȵ\zrtW9%;GW8ף'&p:K O6Cz"q1Z[U轼<],~7 EK (OQW(3⏂.=bzX3߿@,n+9ӛڪU1ܾ`_\miv?Lb>Pkt=E_tso388խ/}qaD\€ӺdKlIy`$x0[Y%|Æ06Zb袟>ȅ?=>:xdn3d$r .Ƶ fg  V^+>9G( ᄯ9=r_am3+r+ͮ𚋖y>|hIOl ) l,O+3B|ĶdyBW`\lΦ-@bw~ڼhYg xt%]W0WJM '} | %b|%~ydz@W?`8>ѿV@ csti=})+i+>hpth x>Ó_ooWQ ^̑o[֔٧Uan_?Z(kݚdBsbQEG7{я5x'E4JWhwT"\W-kI(/gw2Gphၮo!!\> <[^>ɂNY3W<^Cn0>-~<9:hŋwGn-~#wt1ـ~*8a|>MV; ;MV:7ek|zllt߇ |ͼf W| +)_2h04 ph<,҃pv~ 3#:ܳ9q]^czXWnHRq<'Wy/&U[&Zףe-tb|ѐ{CF~MjNBA#/ѪVO;R`FrUXR3Zj;h/#~Zx N%2) ͮszk0`x#kFWmƊ+sq9AAW` qJ:W Q6PI= bhD 6jx(s8 ׼/Lc֑mcWPwYwV:+{$0>Z~&yпc8"H]0=tz)[ח' (8{ |_VL sAqWgzZ;h"sH L&lMK ᠻ`U 4حJ{*L,ѸעG8@ %}V0pMvWw9H>W 9lNidA"9;]RBݸJ0CQmW!lk~|W׭ᴎO7'lBgRflKx@wo6k6 GUUH䮘,>kRIŒu𰑸<?`P\eO$3hA6`  ꍳZO_Z<}Ь@7}{cOgdV_村]aXg:Cd2Yj}g} LdCKq=}O't/l/f,ݗct '= $~g4gxc޳|escOHv.__:{~(g ŗ^LֳS}{m}Ѭxp톕ȯSq-DC/tMu'*,t ȫKptK z藯nuW+0o\bM oYщ'sd> a};W7kxO+G*]yQp&qL93ShAm.sDt֗0DrIDAT A13, P6S(`a) }4'C.} 'ކ f10G+s:k xz*RXre!*n8hӡ@ fs Z̖)![pCZ m";} `r #|l)P/Xz>dO4VK6W: ødtƙW>&RW E $hM >eaM6G[c-U}!'4ŞS3QZc#{=CT7e f= %l=+`X[Җ.=\%|^Ѱ!p]hUSR _69@n:b3$a=dgE+ZZM/:*35Ϸwn֐tϒ%\x?I[Atд}|>V)_UftBNlƯgv& <6*n[Hgֳ'۟z%SKn钮Mcһ5٥$n=:0WbÇq?K䁣"A{~M3|?>/;_)4:=ڣ3_bOC#vNf#:,1Wv/Ɏ!S& b#zՙbʜC:[lK6_șRMf>C`y>C߳o9~@lb>Ⱦ?Udkػ<<.ȥ%`rvC0C͓~ۥf=+dRQ^Q/F⪱~.~эZ?FSz®_`$] -r\E YC"Lu}}skIDZQܣ<=n !\_JP( fqdcr&59,CT @R#w;~+Id xI 161I%u|3xĈl12_,ŸZk١[&S%0$yK`ь~'Ѱ sKֻI*qxn |&KG?,ɤStS=3쭧̓ul17pHxj/uhDOPg^k9Άt.Dz<-y~'|c oxB =/SnwCU߲z58*Zӿu/9~vͧgVBC#l _?g'~-A|}+B>Τ7*3tGu[Q?f蘧Kb9;hb??#Bs$?Ϗ-GZ1&?[} L~|`=~%[Xos n5? '0bwAp,dLh[;^^v#+/* wIlƳu%%NZ\?gg2ۣll*ZjD&0est5ې;?Vnji>l~ط?T tp-ZxUDKtudb|~~_l}O4W:GēVhl!X6O}̟ٛh 2~ ໞU02p|_M'k'n 矟dKOC~̟[?WsA>4_G|:k鿏@@ZQWZsfAFg+k:MVnOJ>Ootޝիw|-l].ף^mb_toXo{Fk5E_+偧|FD ЩةX!c/I_JohVSk@T;k}|/0ְY6G8z{61=U 9FN7} OɔMh3f3 ?u 0~V\kx3/ᰆNȝ}b&`4OOpZ~o ZXp[?#Ɇ}ds/\2dLw4'%V}>xΞ@%YxȈF~Jp%^ip\>ԇJI%u=)[Nszx~En>Ё%2,$Od艥hpQfhc}N{=;x$G yhe Z[zz؊G+v_(yq7{Ÿ/M8* g4[[FS,`gҺ5!6Hx5ԞOo~gg!^Q>7kލF[g(ctϊōIx-WܲE_3F\pfid\[>M7kVlt` ^d:]F8fu_Ggϱu=K<驛]lV'<㣢-5'Qj ũZ9s`9ֿ-w5Sb϶no}/^8@w=,ûxǡdx̛ӺTGT>jxгG?SVZ|/yOo7k8 ɴ8WO&>izk48x? `~/nB  F)pO0x` Os&q~{ǫ^o}yͻ d\VHND6uQeL8=s sr`꣑V6+[jC[nmNMsPs^Al6=XKg : 5,3lCt$ӿJtǝⅼdقZg> xxѢkr#CpTȳ]AOv:_O&vl2?y^podG=Ϛ.)[O>F[e?:#y"CV~᣿2[s*iundC~}| %_}V,HO ϒ-X69%( 1ޜf|3CL?IK} \d2UKKRD<^O ?}< OS]Bm]8F$[î0bߒ@KpSq%+nҳY5'g=_.x>>Vle[ւ/᷾"7X_Ydnn|ʕ_fT >} =֢T3bN?]C;Ev43&-{ =],Vl1ӻ}D;ɗڷx= zkܝDG+&kŞ ָw6D<=h5xlS$!;=An':(=3llz&'|ِu!\rpTy\+_ԧ_szctoʝp{O/X|TWuȵ.<!6֫!̡ NMw`BBpX쟬\5|*xgpw (U\*V52h yZxOYPkag Gϭ+hKx0G_? `PĔ\U]b0Gv4NМW업hYl-?5$CW>ц-i6$M-0,{׷ t'\_GEgsdu㒫Z5x/`xx*7Nb؁C+Xn|V×ysWAvC.͕\K4'ލo\2Y2.\%5*XJ>+&׋{tPr߭B[%ǭּ0`%xKV#%ptuSP h!|~ZG|<*/7گtoxgOgh3fxO;t:Ko`**@*x0W|XvExɏXG8FŠ 3bcFhpc'tiMPlC:xE_9:Sڏd&[tH9yXvs=o;3ٝG'Y9pۏދngiq\zхqɳhKbog9<ё++\a1~8тoyN?w6 і#T 9s|.8E+f$WS|z/+Ҽp|y>]vY71Q>[`ԺX_]R=Rn_ҥx I='/;8Ńg8+rG!F.p~]5 |s`+kݰQV@ۘoNj[d+<Ï PA"`j`LB޺xߢ>ػ~6m,oh ^+I dg}hEqEc쎵.'DLxW+4GA] 〰Q lp|/TRv»::KoqvCZtg BZ%xK6=]YЧ*:L~=K2HbG_.!ѷ6Tbd\\ &M^䏯?C'!yA{-:Kzoϰ+W'$t~8R"dxLv8Z/> xN6a\c٦}O>ڒl#ZIk:kJQR_bY1l֕tM3 &jBM?%5PboMI.h=[ܧ¹b> X)k!3hcGGh[Y փzc6>hxo~w-ZxP—d/FybJ><ۀGюG6מ2v'y;1"/g|ol>'ۀ~I^KcXù0kuqI3r)k쯊v /' >-p>Ҍ!\r qx5߹;wn>vsv{<|7-:.wy[gptJiR㾵@!tсS_fxܵɠOGt'o?˳r~bU+*l 8p:R!V~3ZZ7hEWzx+4Ʉ.*r9++h+Hy`Xv׶8 Ms4s馸Y놹;9WyLn7=-p|Wv3^^ųAj `J`k* F 6lNsÕ%9'P rx<9ltOj>{cPB\R6З`M0.hU|kód` f=xw_8X8 jh LxCxJJ%zx38 ֘9}IA*ZfO" }̏(b!~ա  [(}U2/정!Y4xJج+k8{]+sVu?ߠ `vw($LVF.zo|]?WXG.2hu@۵'Cad.ޭ;\%[do-S~J6obdi ë&o6olN\roZyI|z.Vn{xʮhKK5s%%`Kv#KzbX ق -/gC/6M)@hL,uhpWҫq+ 3k?&}|`;1 8L{4Z&q%r[RTC}hCo [Yc-};:fw_[E6c 6Et0F[^-:F \ x&uh[U `ʿNvĮ4g'|d* y d !=_%]l.H+itM0%_Xx(ޙ>x %p%()o?_<)j%v$Oc <Ӓ-o\GB \-οRrXE@E س#NXWD ]>QO~JDvq=yA7:wуg8dGpgnz?*Ϟ-yAx88Yj-|^V|}9w,y8+?苅dk lWߊKr̷[N .p:|, ^ .g Muݦv[Qݭ9^# 8UAg<+L)x}Egj1[_]nc++v=kx5wLCÚl~ ӣ8c7•g|Nt־3I|!$#j ,:x!>/0顶|2_ _8|[|(YW1-˚r׋!>inn=ռkm箞|?ërε=؞Ap\TCĚm}P.<g[[ܺn\ l$T%Qq,l\ rjjrvU-D<< nGUwku\1xd7 ne#ӊ-LH)83[v _Ų>}[ފۊ p\[E} ~ W2馕Str3T89dukA1<'kS92Gbs<᳛Zc|%sN8I<7h@|xD_UDWxaZlvÓW p֘3o _d)) ]gv: T8 XD: =XAzA #=4tR 1kJ4K;x6O%W ;[G.w+ ^=Gz߳L8X:tׁOk5|%^\1wȡzs%[t#6-TJ gkS6V+)CҝqTjrNŵbQy<p/U:(Ψr/tX|8k?WN瓱rBB|[[S֔p> 6x=qvjsdm^֕Untѥ=[!ѰO*_sA<ذ:b!]~ߢa-3o s<ӝx!j{ѳt` ]닙麳 iz#Γ"8ZY-Z֘Lk_ L,`bVgb1L:uq8'9trlqO׋}V{T `|KcsrO~{t<#̷5Qgր![/(۫wvxEEg^.-G*v;{ȑGZoXe:܍᧠[/Hc1'@xNN=JJ]spUӗ9aC~bm ?Z_;[W0b T3<*EW J邌|ùD[Oh޳Jʛ`xӌ$$£[RxLtUx(9Xɕ plEB׍GJJ*Om kLw0% I`~> 騂мg8J"å&s4[Qgq4/x7M -2'+Dk؊m }?N8iEͮ#w+sYaU|>t:7.&kq:?m99o,сO1ܞ&ґ5蠁x9tγ90f7 m|xskvv/8Z{ҹ!&%'c>_NnI'h3(D_v7D78y#yC֊|\{'N^4MU|H% Nt+5`Bxdf{w~~jxD+UU\nO+s9*̅o@J8)^tPҒ+?,'_~³B*'ooz+T+nMKcX8[ 8>᳖,|{6P!\GCVcL1+=%k? {V/h>$>S_NQKO"yKz6|pU _6:7ea&{<}>@bH? ёw88?kϋ99b`x7|VSg.6>ddfUeNDSdb.l|Wߍi.û%@K^kw/ɁzK)iJ%%G%# ٣=AOxOR2E+%)y.Vp$"؍l(f=;AKxW)3)-,*Zm<냭E۾xo*+wŜ䩈ί!YNA- Ftw}9hOW:v//g2SS&qD8+{1:`Ȗ=U~Ko+٥2~pDgԓ}pW[qrk=|˜b!G8W^p/`3O=<Ƭ)xO£YWWȁv5VG$:/=ZWƖٛ.i? YlO2e7V|G?+}rtMV5m\Y 3q|rrr-~h[Wvԭ)8 6N[j+.T)ʢt kz֙VFS Jwlp(嗏wcmm7`)m l-5PcM?ol]& kptUz_|b{ bwxq"8Ɛgh&/x$6:d/."ӺDt[6fLе9,|8^*%A l7+43>6-X&(w8_Mf}QAٚtg \9DF KFG9~A$݁/ࡗMW龎}A#tLxY\8=%ϒ%4ђ/x@{hu(oP2ICuPÛ6po}>Z{ <%򶼳k [Oz+9%2T%(ڟp͕Ą|ϣ/&kts \b|\7+sj>'[EIv/\C%k v\70I%fVǣ5+<`I~~/G4|!j5{Mc˽aC2-Z\y7O[ctn>{nλ&g۫|[4_)k=a^}[7o.^*?2]۫`iڙM2Wb]:Vq/y}<L7&c:ݓ)|'ywk xl>l81)7+{tٌqu׌Ù.1g=Xۃ˲erW.d}lSFq?}9-;;/>6'-{yr}ϝ_5&чKo@1 hwSAZhYಮ f! <;dJ;  -dӹtKaWIw: ('A+5%r ƓF_Z|݌?R%zzg {Iq>NG%vt]PbPc wsO|yex߃Wy^*$JKKv&6o[T{>X*Y\=<D$~ .yoh,;Oh}tVanjxV[G{Ot+ƚ¾.?EhhlL}sg~!Xx۳;x.]|d8r{}N=ϗB pdç5tA&;HzpD볳9ɧ;7+vx#!ۣUQh@?wN1 wh1ѫbx'yNk<'3'ho3֥Y G{|3N[O9^5`L~Iop\\/,r#ng.6g',[=Y0ҩQ\kmo9_sAxRkMRUL5ogrQ=Z肫(u gݲZͱ5|Zn^xVå(S^p7{6sT0VO.<.kx4+VGo aB{Yzr,H|=Wϐ[sL@KK791W=lm7G@>xzsHZ+=nַaÏx. nz/ ndF@*V@v vS6TYzC\{G8;:KdW<-Y#Wxp<iɽ1z|?^͑|\I>^J: */<%%H||:~g11 Yb<=mb"mԁQo`فuFٍN;H[ Lcpm!\RRm~S">|^KLz8əPRi%>_?kX6Z&/>JKJG"=9I2oxk,b}ħܚtG!XWBI"+JlKRދ5tD֗[d~ue b nI[/mV +n1,7z2spn鋞TV؇"z n8Ͼ#Glm+я4ɷb pk[G9_d>b[_aY\謧]7g?ړbF1.0d]?kpd(f%}zfktvflvNvBQ~/C:҂Ix'wgD29 W+_ w%/*1J_|ˏ>c9C"sZ-}(F>Ig skzl'1\,Zvg |[GK.p'7'/ֳ3"1ƷbRmdG>vY_]艑J3`x<>+*,P1ϩ&g~tX xź·?DMhnop XsxΒ^: 4hWo˷j\/0Oڏs(cD8%1Hն k3s6uKWB@цBс g#O[ 6V|dBǚzh[!D?tdU!3a$Β.|ٱP9 pb xц7i}@Næ!][1~:H/'6 t!F%Xpd;IO'lOgaMG8 3Có/[\2T_>!mltOl6.`L~~nXa`\ob>vl%[nv ]c}*XJ h }dD{ 7y=wK.?bN_J#KJʊ==_}KnY5xm=olG4Z=-y6CM7Fn+[sejy|7'|_(^astE{GPC_Iza;C l'7&[-t޹ï}V!wbCv[E>߈S>8yp/<ë)Њu@Wl-uYo49 TH-OV>n抋dm.W9BQn%}:ؽϝs=)z)6@r.@6{?ȅO|NEiM~NbB5;p| r84“~ߝjɣn >y ]C>)ƺQ\*H`)$Z .<8V0B{ 84+\֤_@U0!ESQ&}s:Q"R-2]@ m0>*{ /CbϓGMxW Z8}t]\]qAzoo*92٬'|rl|.T{uw=߂ll 0Ϟzkm WFF u8 l rp,× ch6}T Wce .AW0-E&Ad"_i;}I?c!%YAC:O mtgg֖ a> oX?-A$?[ |HTܹsG68L4tDV#WRA/kH>KHzK&w}|gmM6#&+ a/+|.O&|Et _~_D`tJV=&f|7Ǻ80S1!XO蠤䔼?ꫯtGk&4&z}> z?gj%b x8 Þ}j_|mIO{u|n%a .?pr|J>|x"/3w:*FKQWW}ݡ 6Z]8tG=t>CN`x=~?pͷKѣۯQ ^6FKvT}o?x鷤=H^v?9Gn82טZU=|ɖ-4cOi`n?آ=̇A=Z抟zʗ`>lE]tm|S \>ZX~ְ޺U`(V,)G*zVDWѡ}]h88*4.`ćrYOK>g} +/6f PLUG~ڟկ L k: S |r4ug7}u|Lx݀vw'rn{+Ѯ,Gnzu`v!39x۟G+~IpXo*ƣRy<6^֒)"H YornGs0`_^DO#g,!wˈFEi_l9q6A_G?ZvL\mpd !hb5|Ě -=bcr-v2l8ߣ>|WdcO[J'PC s7:*:GCcAJ7xSdG4:kݓ+JxEѣ/6- S/%|~x{C%W~N5'.\|)~LwlKA^H`?R͂C^0'ZոgM5l'qxViWLp&nk bˀC r \KxnA*T> /_"-SZZ@'a'kӁiPU =W;{Z`\k jV_@ɚh`c1 >{wbC<ׄTk_2?aWT%0x;ZW]un>_Ӱ~~~0>ki*EIr3]б^=Poz}ℍ|f1͞Op= tXkX۷y0th҅!U2x7hqp|~ςn:Є~ઈͦրK6O.0-].ū} r}F+%>F~A_>ᰇo G 0αF蔌ʏ/dk<ϧE} |g=gыtwO.><'gl޷y=d[vv┾Ig.wΐ>kt#VE:dţ>" >Gm{">a ֵIv_'xФch_G|/_\)ط_StUvԈz%x t5EM;~!;k,_\G {+_.#`A>eyr^ь.i#CqMu/σ ML&94Iˀ55o5>0D?'T!p*PPqV4)NpQ`D,\ZCM}:bAtpP<%R*<,<d5}=U IF5%#~ءB`(̚hW{Aia+zBH5pۃd7D˕*Hu8SMUb;[b/#`ؼp% v -<5?Vd;0٣+HW0x*d7pIBx{C xqܚL8<&Ͼ e zWhc_ 6%+=n1~$'>=I5C.(mݐĮlKE6p{+_b~U %;?kxspM`FA}T0?W>++|֨h&5j`#j8t`4z }3^2/D>"?|b\xр>ֹ-Ğ/x؈9N_ɾZXqa6@\W]\;|x`k5=,+{XCQDAO.i qh\ۢ`oE&<Mk誸.`;HVKI|kXM$`Su~%Wh=bW=by?{\/r||Aٺ\_o3?!ytE>txnX{)NĨ:-Q=g?]]=rAN^VUw`DbSz?S}.ZzZ|T'x|K占pwSٽ>=^le5 Ǘ6ISƷ^/&Ugjݯ֛߫U'k'!|dg}ط?C:m65tG aWk⭯OKxkr}͜?yoE6x#AE_߆ms]V1%V(WUC%(RJkg|5 =ma|0K¢0 a$P P.csxcO`za#pWBNNɐ f-${͘5TL e4୕@+hhrp4_ D =àsFhЍ$\J9+[ $r]%6s%UzrZJNv;|F:JjyÿK{rC;fǯx}`H~a/\}[_7^%-<ے&*v*зCS6|gC'K 6)u9ؓkYn7_kӹ<<{XxE[RC|+R>NlP>%`@& EvP m:kE E6Լ`:Yൿ t0Ë>`# >qClo6zkL~~hbMiG9ocW7?)_\ 蘃?˞i*g|8`^ JԜVc?—JLdvӯ|E(K.)&'**ymfGh8Խ9|·lrȎ'lB|p_YGO5t6|&';;ipUF>~Ar}x%S9(g?{}zHwkmF~@Ls]:|zֹ~{|#< ?=Z, EW>F~Yc0OF\_%uz'Zӗ58_M<ƙ=k]Oѥ~ {Sͅ>~ z Rs5 ^PTiѮq.5;<(}m>jfհY< ~@v5=ͳ `i@W?Xk}QfC^cM+}nxo 0a9kNЅbAO=c.øF+"9*ze02U/Uk9 -OubdL@O< +BװОH.|Uj}tƐ  2[.gk%T{9MWz@ƤdV#lՓ&'z-`\xAlKZg8z:e,/@Kd ^l ~`ƨ_Pm6Et␀Þ.{WkLptNQC7m:lJ*'ID 66 |M {žOK%Ð-zKdlţ{W*Fl+؊U 'x*7q ^5``MެYpxsEˊt?{7C\\]q~g\1zx&kYY@$^p7nِ؅ړo=Ԗ;=42Gg:}&|hGlsΞ{d/ztޚl醞:skg|mQ.C~r⨳܌#>8WAw_I/\Pesџ;xLd5]GlPSNxW͉_0C3U.<ȥ q`ىWd+|u^Й]}6&g:YM *زzp7/1ǖEͳ5+_} te| }NToW9bBdW]No/Q33!&ޢ .lDJu~ȽZ5.ʷC5C]mg=6.̺z'tɡGck?>hPWK6|WC I(7tW<$WŻ<:|ٽbz5* "Z7m& WLoC\EM\-ۙG,Zpп:N |b2A[.^=;Z^XK758t6=֠Or-~9pЛb GxeGz˾5j${=\bƑ_!᭹C=P)O>;OŬ|b=csW| 3[bh=+gWFz E>GNy|d>zg|#h!D]ͱs`x[_)#;;݋=?х:|k/FuS 0t.{ܣ9Kfx)5/VGL} 'kOh8{WZYvΗoᮏp_TNgs 퍯5=L%^/TNK߀T#6doa5wBj3͞ u:l/TSƒ7)jz#Kl@4srT gg9=|QүƲ=pBxj*A{=B/8ͭFЏkڭVZmgӛu6Ïiv2I+&>^tNzbx=rΚr75}kE}dOF`I8G$ASK(FXə_p*hbo߾M^% -Y JT+L_}pϘp\J Ɋ_8:k{k%Ztm * //5nx ٰB-|(S0<zF2qwJ@f2(x8+,%?<8-Bk|ئOd&;'s buVf.x@>:ٜ^n939KxW] <u@U4%|OO]`K6wa{WBO(;|NS+6gA>h)yzPtFj&ќ,;?Ϯw`^8 [YQ̹+LM-YE.r^;w5߰ >w&s>rW8W5>?+F Wy8?Y'OD4_j49lH6z}W[͌rс9!/ֲ50|C xN`|.>Mj量g90p)|Fv? t/G*!BF'>=\.Cysp}>GcyH.#?C^v1.#݀+6zA/3+0f>3 lȂg(gp:{5kXٙ_[`/'w /\kA_UH2Q_򐥆;[ρ!7E>b /j8Zz{jxe+><9fLm 7 :CP3>˟!+쁏j:jLoO2A|v:ǽ79:7l~L]"?;kk }𪋪{W޷\`n&@pog]5t^T=WrGMbpD`}l 55jsnU0XFĈ5A"W]ÇǾy9DR@~xI*-K.zIu_ O􀠷7wo{Œ.>jP(x7؞褂8o&co馤=N=}#+#T@îGૹc>G\m?i>9^{0pK:DOOV?|Wb෧M;~A`3Qxj~Ѡdp[wΠέ{=qn=B n>b=}-hAȮ> 5xk6d->Ɍ[Þp\}xك]t7%2voz gZ >Z9 ٚʯK/z:5\j\rVfnya=pu.j10to7z'9 ZIS050׾</xu)3j3{{א^^u+5H_֜N{I\k9xz7eiY޼]ib]ɀa֌t'}> pN4xλJG6r̂#!!}`8 q Nl5Z:pq$ϰpP3,%x^b c_F.%_t'Ë{8ڜ$<;P[s-0To8$R8oN_ȼӵ8p# ßr5|ZX *N 7]Ǘɖ]pWwK~ :<_crq82GJLg[ 5+|\㉾t_:?3;#Q/* ~Q]'+~A3pp'瓭](].[_cyXku_|pi<ްglTQy…l0|_vV/<>cyOd|,r/퇟Ou{x×If&քRb`s׬T+5hU۫@s{.﷪~.}Z=Wc\f{kpWo5'Ѥ=8 fMf&pko\ͫ.&~g#7ˉS-_6s[-<WIoၳ?L3nf햏b to/\&*^p\蔅y H o(a <'9%lͭ 5BRC,Nqn)ŋ{[Z5*FPz08WGbE;9E+uV< ܣ_jOIhWrGM-g*y'Y\t?N#x0^aFd#?xkrt m]%k8"GoEM]9+ =. I3>MN"[,СW5xS8{ z~I Wrs 0*HȜoV`H/Ɏg :g,_HI/ 5+~{+\)w>K|䫮wFf_m՚+|~fJm\ ٢}+\`*]+^F_k9 ;x |~w\ϜC)_3Nra&Y'F:c+qg; 1ÿ= 4ȷ%<%P_uԠ'[[F t hwp/:q6_'cf|f=j3_/t9%}^(`dg ݒ/pۙ`|ڛt8tXNe3.a 0}-e=2}Zܛo[?`D+ZKs? lYaGu\_&OE 0^ wqzrBiJXkGi𷗠=F`1<. z g {)W !p9ů~0xd=|C &}DG*#8+iuI+lm `t4?F觧_ৃD <R߃*DЃ. >zhV|Q^:PaŵOֲ'~ 5]l4D٦^MLn*u>1:0gsE{9 tFe[0a9Dtos7=\L`tV>QL썦V =TLV2mQnYרË2Y35tQ$ބ 7_Wk>?.=n@~|5xE r('b` e(LqRr^׽Ԃ'Ҟ =aT+QHȱn~(Gk}*YS8mz+e/h=|ϊ쒗+ kޕ9r]س}kS8T$ n>= x` Wz@/k?9kp' ~[ '}>;`Ś{s5?7x'ݳzM0}rכ +'/9|;?v '?/puʳ.b{6Cvz^dp?%ovos tV}cSY͓)5G75}ВZz倸k7rwAHhJKoGСcp쾾 k0 >9XA%if084"~al94)Au?FOs~@4&|C %؂:'%7xhӭcƯXMR#>g9{_Jo  Lx@GbCcf0 ^ dl%EIƤЁ 7 {د_tе5A&tZOl$Y::%{%O&6WV|4R1H6mݼ|4;9؂xjZ(X3 P;HB Ѫ^r $xɶQI'["*|췯.z.7-x|_}GL/ŽWt  XzKಟN ۡx(v\PqS[ښW*~‡rTTDn[[Zk/?.*rZiovoWRaiCq}#}S`髆g>2=ed§7a(*+ l#J~)5Vp[(%/=?_hޚ!35#Nz>D7;xrW÷qxBV1jrإFMt^덛~y-&?D$/_5bGl!gp>!|u}xgvf 倳G`NpWtn//~4Q}\aA5}s+gZjis3O|{{!ݓ9ņ3 l=8`xͬ wq@v4{ ۔bNG喳 }ոw8HWkmCf~aOg^8/>X_g϶=M'>/:l,)< ؋6eL8;!Kœ{<76dKk 䯸C?^/Gk?k+#& = 3%l;|WY7+LPSLG 7ɓ0%⼽Yi/Ü54*jӾ$uTؠmdYv 5|>x?皯H7{[K/+K鋌=M)^*U2kd45Q|=U$[cobƫg'h~ >] _to.]&d;sG>_x^ Gz09|=9h$[rX8ylmt?N3Fȏ: h6#ZbdOWS.n&.[5^3|s7y>t'H%=gtQJk(ŋWő9>h_1])O y.2 'тϙ7Ȋos}~M6v1 X9h\iڪN@{ wY.VWoco ~9  xБM@= S?)7OONԀ+TsN]mΰOWKZ5ODrT@/8?1|NɌ}x z7aC|iB848/81_j=s j钎c.ɧv`ÝJGsCC N?ɣ,!?gA6A$fEtB 2tȑ# <;Jlp=*5_'%ʨY!3؛`M=eq_dDc͕EõOגbZq"d`@mEQ!_nM$DÞQ--::` O>h6+Xgk#:` ê`˷*Tk*yEiU|a㚯|= )V[^o?Ɂ}rQtzh dio#^a+vFLxv~x|6鄽9z飘5Ot\le_o; sX74Ptg?}:s]Τ|9Ca¡탯_\o.1o8#_vm _.y9Ȅ8l`6c͓Al92G7ۨkm,?YL-<U@xqojJk:E>zP)Q9ĕ/pԨ_Y5MW^bO\:c7}ɞc#}Т'C=[ dB?Y-tR>-&cg/}ߠT^OGMa7͟ל˛":#=hDZr=G5`^VY9~(q?Kزu4Ȕ֘zxȪP#t>wkF meygCsi__ Gu}:RςV\Y {]5Y|{K7=Dp%k6߷AtJ VAepH8 ӑ BOS^_uq0W49dMh]SSnxOc%v QC=&kOL>0d-P+ ܂G'.=Ow?𹇯d.^W6rWEOzO{s\ro7$% ķE=ar7됣W>]!c Y*K `AJ[:s[qbv<'A'皓Ctz&{#.Af/~K\dWEd~nq|՞蚯tJϒ*9ѡG>Ȯ.F+͍)4Fy]O2*C$wx⩼k^FG>Wú=}p٭)v{lyY٧&~`[{9ct /7y4-i>x?'h)зjh;j6XŸU%S1WoHƃ^lOUL8~O2᳜kfr ZF*6Stjج5Ej Jڏ&:*Ɗc-hә̕O:u㻂${7[\'ꡂj/H UN/`6Yv_FkOmku^IhO|er]{+g |wWk}u] `e?4 6&$'i> 1^yvxK܂ ܔTᇯ-%5%L: 0v${tC|k@ej.!32H=t^ŀ'`,_@}MFE%śqEޒ&Bf%}WD$=SV?_h6ٹ0~>N v LK,ts$;d r'o:hWc-"ZMp,xzХxS{ip5]XOq~M"N:T':L|ⱇW<җ+}67^k!}kuÛ/K0y97Nr^A8\˙cs/taF8wtGwc*zU6]9_;4 \vowW|“Řax>wc3'W.W)c\kR=Cs <\go{yY9ܩVȏ r58Έ~0lTV˂.kqYyIxSΫV*{5մl^7ɶgZg[ZQkczumu9uRtzc_~ק5tsoqw[zs[jNd7j߸j ^!?PVo/SKMsotcTT525`c$34~q˥ոo`~GٻlX_Sp~xnlS\ yk<*hTL,ܣS1ǹLMpNġ&صf;hztf pooDU_pk.6ᖬKJ=%1_[,;H 2tFm,t \',(yׁXѱ:ro|p+6*8 _0V-%i2G_t?7lGCl5^vxM :$!$;2K7Ez?>d'ޕ۵L7~O:3D>z9QqW~'>?X~mӾ|k>< C0ǗQwFs䥗b̎فW.zx}{+, ]Q5~rŧbbz27V| s{?t~dގ387"$yqP&KoNgma+q݊Qx[omS^ṢV|l+8b>*쭇-|+{ ?_ọ̇^ks\ hA[\ȍxvyWO6<חvywO69Nʯuc+^%3:r|1q_+F3=8NZ+Od֋,]# Nrki._,_FDWri:>񟮣v>u= z5/5ؓj t_溆nj{`~j®}h?07 jj+~:u Fٞd5c/j`ɪG>uo?w 9kX4x/D~5pO~x`:&.4j^{Kixkk3w6po{ 3sX\BH ak9'G%m5N Q=ATC 0ǬIEK@;yIL,kkxK 5Ok*KRc-]k$Z2%~#zk4[R|+9Ÿ,k uD+J|vO `g+.}vtH<toN(Dq^[9-Kd]W4⯤I\a5hQyr;nӅ3\[hsh\' `ȋznőb(CA3^|FWB8 '\|?[/7M zs= Khxl{ik+I#ajdW8p*0>ߌvppIg$K= k4QkamشB(90᠓tDkOb Mk| S(?_f܇f͠B;YO5*jgCehDf^Žd_W hL[ߚb^mcmѴ.yz9,7h魸QQ- ^#ﲳg5Ñ>]*`qW+㫆h⿜ؾl\ X0+]/?聡l9}{M>5z6`}>|ouG]; _᫦̀`ҹzuU_t>w뫯!j|vWՀ& |aMUokn\#\tְw[V[upo{]i{b9 <[/nj1cMHq+qop5o\Wz[l?}\_NcjJg6p~8ׯ_w{Wu-םkײoc/+5zV5612gޚ@q/ "k+PeD7Loo JI/5۴ Ts4|K ~+鐩TR&At[+I㒬9rmN{7{d-%A% I QUBOF%spviIfK|pXa6{v&>Kpc?:[#ٛ?X%d芞m*v]/U)rH7-Z$/Y\fTՁ^1&<+\+ *ͦ=<*[٧^7wOX"%~,4饂݊t3f r\྘-Zect_/e|*?3j,ݛuU,UW̶Ͻ-qOzN/K{kq]gowkȎw4Wc[F`j_B'k{of,^# +Z+~beu_S)~\k+ |ScwObByH⥜W=jy=&*NQȉws ƲWC&{ʵ xH6ܕ$Wse['ʅt /dev/null if [ $? -eq 0 ]; then echo "OK" else echo "FAIL" exit 2 fi else echo "FAIL" exit 1 fi - name: Run file consistency check 2 run: | curl -sS "http://localhost/plugged.png" --output plugged.png if [ -f plugged.png ]; then diff plugged.png /usr/local/nginx/html/plugged.png > /dev/null if [ $? -eq 0 ]; then echo "OK" else echo "FAIL" exit 2 fi else echo "FAIL" exit 1 fi - name: Start Nginx with redir run: | sudo killall nginx sudo /usr/local/nginx/sbin/nginx -c /home/runner/work/ModSecurity-nginx/ModSecurity-nginx/ModSecurity-nginx/.github/nginx/nginx.conf.redir - name: Run attack test vhost 1 run: | status=$(curl -sSo /dev/null -w %{http_code} -I -X GET -H "Host: modsectest1" "http://localhost/?q=attack") if [ "${status}" == "403" ]; then echo "OK" else echo "FAIL" exit 1 fi - name: Run non-attack test vhost 1 (redir config) run: | status=$(curl -sSo /dev/null -w %{http_code} -I -X GET -H "Host: modsectest1" "http://localhost/?q=1") if [ "${status}" == "200" ]; then echo "OK" else echo "FAIL" exit 1 fi - name: Run attack test vhost 2 (redir config) run: | status=$(curl -sSo /dev/null -w %{http_code} -I -X GET -H "Host: modsectest2" "http://localhost/?q=attack") if [ "${status}" == "403" ]; then echo "OK" else echo "FAIL" exit 1 fi - name: Run non-attack test vhost 2 (redir config) run: | status=$(curl -sSo /dev/null -w %{http_code} -I -X GET -H "Host: modsectest2" "http://localhost/?q=1") if [ "${status}" == "200" ]; then echo "OK" else echo "FAIL" exit 1 fi - name: Run file consistency check 1 (redir config) run: | curl -sS "http://localhost/data50k.json" --output data50k.json if [ -f data50k.json ]; then diff data50k.json /usr/local/nginx/html/data50k.json > /dev/null if [ $? -eq 0 ]; then ls -l data50k.json /usr/local/nginx/html/data50k.json echo "OK" else echo "FAIL" exit 2 fi else echo "FAIL" exit 1 fi - name: Run file consistency check 2 (redir config) run: | curl -sS "http://localhost/plugged.png" --output plugged.png if [ -f plugged.png ]; then diff plugged.png /usr/local/nginx/html/plugged.png > /dev/null if [ $? -eq 0 ]; then ls -l plugged.png /usr/local/nginx/html/plugged.png echo "OK" else echo "FAIL" exit 2 fi else echo "FAIL" exit 1 fi build-windows: runs-on: windows-2022 defaults: run: shell: msys2 {0} steps: - name: Set up MSVC uses: ilammy/msvc-dev-cmd@v1 - name: Set up msys uses: msys2/setup-msys2@v2 with: msystem: UCRT64 path-type: inherit - name: Get Nginx source uses: actions/checkout@v4 with: repository: nginx/nginx path: nginx fetch-depth: 1 - name: Get Nginx tests uses: actions/checkout@v4 with: repository: nginx/nginx-tests path: nginx/test fetch-depth: 1 - name: Set up third-party libraries working-directory: nginx run: | mkdir objs mkdir objs/lib cd objs/lib wget -q -O - https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz | tar -xzf - wget -q -O - https://www.zlib.net/fossils/zlib-1.3.tar.gz | tar -xzf - wget -q -O - https://www.openssl.org/source/openssl-3.0.13.tar.gz | tar -xzf - - name: Get libModSecurity source uses: actions/checkout@v4 with: repository: owasp-modsecurity/ModSecurity submodules: true path: nginx/objs/lib/ModSecurity fetch-depth: 1 - name: Setup Conan shell: cmd run: | pip3 install conan --upgrade conan profile detect - name: Build libModSecurity working-directory: nginx/objs/lib/ModSecurity shell: cmd run: | vcbuild.bat - name: Get ModSecurity-nginx source code uses: actions/checkout@v4 with: path: nginx/objs/lib/ModSecurity-nginx - name: Copy ModSecurity-nginx tests to nginx/test working-directory: nginx/test run: | cp ../objs/lib/ModSecurity-nginx/tests/* . - name: Remove /usr/bin/link conflicting with MSVC link.exe run: | set -ex which link rm /usr/bin/link - name: Build nginx w/ModSecurity-nginx module working-directory: nginx run: | : # Windows native version of Perl is required by nginx build export PATH=/c/Strawberry/perl/bin:$PATH : # Set env variables to point to libModSecurity v3 include & lib directories export MODSECURITY_INC=objs/lib/ModSecurity/headers export MODSECURITY_LIB=objs/lib/ModSecurity/build/win32/build/Release : # Copy libModSecurity.dll to objs dir (to be able to run nginx later) cp $MODSECURITY_LIB/libModSecurity.dll objs : # Configure nginx build w/ModSecurity-nginx module auto/configure \ --with-cc=cl \ --with-debug \ --prefix= \ --conf-path=conf/nginx.conf \ --pid-path=logs/nginx.pid \ --http-log-path=logs/access.log \ --error-log-path=logs/error.log \ --sbin-path=nginx.exe \ --http-client-body-temp-path=temp/client_body_temp \ --http-proxy-temp-path=temp/proxy_temp \ --http-fastcgi-temp-path=temp/fastcgi_temp \ --http-scgi-temp-path=temp/scgi_temp \ --http-uwsgi-temp-path=temp/uwsgi_temp \ --with-cc-opt=-DFD_SETSIZE=1024 \ --with-pcre=objs/lib/pcre2-10.39 \ --with-zlib=objs/lib/zlib-1.3 \ --with-openssl=objs/lib/openssl-3.0.13 \ --with-openssl-opt=no-asm \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_auth_request_module \ --add-module=objs/lib/ModSecurity-nginx nmake - name: Run ModSecurity-nginx tests working-directory: nginx/test shell: cmd # tests need to run on a "windows" shell run: | md temp set TEMP=temp set TEST_NGINX_BINARY=..\objs\nginx.exe prove modsecurity*.tlibnginx-mod-http-modsecurity-1.0.4/.travis.yml000066400000000000000000000017031520112027000215250ustar00rootroot00000000000000sudo: required dist: bionic os: linux language: c compiler: - gcc addons: apt: packages: - libyajl-dev - libgeoip-dev - liblmdb-dev env: - VER_NGINX=1.21.0 - VER_NGINX=1.20.1 before_script: - cd .. - git clone https://github.com/SpiderLabs/ModSecurity.git - cd ModSecurity - git checkout v3/master - git submodule init - git submodule update - ./build.sh - ./configure --without-lmdb - make - sudo make install - cd .. - wget http://nginx.org/download/nginx-${VER_NGINX}.tar.gz && tar -xf nginx-${VER_NGINX}.tar.gz - cd nginx-${VER_NGINX} - ./configure --with-http_auth_request_module --with-http_v2_module --add-module=../ModSecurity-nginx - make - sudo make install - cd .. - wget http://hg.nginx.org/nginx-tests/archive/tip.tar.gz - tar xvzf tip.tar.gz - cd nginx-tests-* - cp ../ModSecurity-nginx/tests/* . - export TEST_NGINX_BINARY=/usr/local/nginx/sbin/nginx script: - prove . libnginx-mod-http-modsecurity-1.0.4/AUTHORS000066400000000000000000000001401520112027000204560ustar00rootroot00000000000000zimmerle = Felipe Zimmerle defanator = Andrei Belov libnginx-mod-http-modsecurity-1.0.4/CHANGES000066400000000000000000000061211520112027000204060ustar00rootroot00000000000000v1.0.4 - 2025-May-21 -------------------- - feat: set correct hostname in log produced by Nginx [PR #353 - @airween] - chore: fix build error with newer GCC's [PR #352 - @airween] - fix: recovery context after internal redirect, re-add #273 [PR #346 - @liudongmiao, @airween] - feat: Add more tests for CI [PR #345 - @theseion, @airween] - Add support to build ModSecurity-nginx on Windows [PR #321 - @eduar-hte] - fix: Added missing header for conftest [PR #320 - @liudongmiao, @airween] - feat: Add engine info to startup log [PR #319 - @airween] - feat: added initial Github CI workflow [PR #318 - @theseion, @airween] - Add editorconfig to help OSS contributors [PR #302 - @brandonpayton] v1.0.3 - 2022-May-24 -------------------- - Support http protocol versions besides 0.9, 1.0, 1.1, 2.0 [Issue #224 - @HQuest, @martinhsv] - Support for building with nginx configured with PCRE2 [Issue #260 - @defanator] v1.0.2 - 2021-Jun-02 -------------------- - Fix auditlog in case of internal redirect [Issue #90 - @AirisX, @defanator] - Fix nginx sends response without headers [Issue #238 - @airween, @defanator] - Fix nginx not clearing body cache (caused by incomplete fix for #187) [Issue #216 - @krewi1, @martinhsv] - Fix config setting not respected: client_body_in_file_only on [Issue #187 - @martinhsv] - Fix audit_log not generated for disruptive actions [Issue #170, #2220, #2237 - @victorhora] - Exit more gracefully if uri length is zero [@martinhsv] v1.0.1 - 2019-Dec-16 -------------------- - Fixed obtaining of server_addr [Issue #167, #168 - @defanator] - Avoid processing of subrequests initiated by the error_page [Issue #76, #164, #165 - @defanator] - Tests: extend request body tests [Issue #142,#143 - @defanator] - Added basic tests over HTTP/2 [Issue #145 - @defanator] - Module configuration refactoring [Issue #139 - @defanator] - Restore r->write_event_handler after reading request body [Issue #131 - @defanator] - Increase log level for disruptive actions to "error" [Issue #112 - @victorhora] - Support for generating transaction ID in nginx [Issue #126 - @defanator] - Extend request body tests with ARGS_POST case [Issue #124 - @defanator] - Fix tests after 42a472a change in library [Issue #122 - @defanator] - Fix processing of response body when gzip compression is enabled [Issue #107 - @turchanov] - Fixed processing of response body chunks in ngx_http_modsecurity_body_filter. [Issue #105 - @turchanov, @defanator] - Fix incorrect handling of request/response body data chain of ngx_buf_t buffers [Issue #104 - @turchanov, @defanator] - Pool pointer is now handled in ngx_http_modsecurity_config_cleanup [Issue #87 - @AirisX, @defanator, @zimmerle] - Fix memory leak in intervention processing [Issue #100 - @defanator] - Emit connector version in error log [Issue #88 - @defanator] - Fixed memory leak on config cleanup. [Issue #80 - @AirisX, @defanator] v1.0.0 - 2017-Dec-20 -------------------- - First version of ModSecurity-nginx connector libnginx-mod-http-modsecurity-1.0.4/LICENSE000066400000000000000000000261351520112027000204270ustar00rootroot00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. libnginx-mod-http-modsecurity-1.0.4/README.md000066400000000000000000000224111520112027000206720ustar00rootroot00000000000000 [![Build Status](https://travis-ci.org/SpiderLabs/ModSecurity-nginx.svg?branch=master)](https://travis-ci.org/SpiderLabs/ModSecurity-nginx) [![](https://raw.githubusercontent.com/ZenHubIO/support/master/zenhub-badge.png)](https://zenhub.com) The ModSecurity-nginx connector is the connection point between nginx and libmodsecurity (ModSecurity v3). Said another way, this project provides a communication channel between nginx and libmodsecurity. This connector is required to use LibModSecurity with nginx. The ModSecurity-nginx connector takes the form of an nginx module. The module simply serves as a layer of communication between nginx and ModSecurity. Notice that this project depends on libmodsecurity rather than ModSecurity (version 2.9 or less). ### What is the difference between this project and the old ModSecurity add-on for nginx? The old version uses ModSecurity standalone, which is a wrapper for Apache internals to link ModSecurity to nginx. This current version is closer to nginx, consuming the new libmodsecurity which is no longer dependent on Apache. As a result, this current version has less dependencies, fewer bugs, and is faster. In addition, some new functionality is also provided - such as the possibility of use of global rules configuration with per directory/location customizations (e.g. SecRuleRemoveById). # Compilation Before compile this software make sure that you have libmodsecurity installed. You can download it from the [ModSecurity git repository](https://github.com/SpiderLabs/ModSecurity). For information pertaining to the compilation and installation of libmodsecurity please consult the documentation provided along with it. With libmodsecurity installed, you can proceed with the installation of the ModSecurity-nginx connector, which follows the nginx third-party module installation procedure. From the nginx source directory: ``` ./configure --add-module=/path/to/ModSecurity-nginx ``` Or, to build a dynamic module: ``` ./configure --add-dynamic-module=/path/to/ModSecurity-nginx --with-compat ``` Note that when building a dynamic module, your nginx source version needs to match the version of nginx you're compiling this for. Further information about nginx third-party add-ons support are available [here](https://www.f5.com/company/blog/nginx/compiling-dynamic-modules-nginx-plus). # Usage ModSecurity for nginx extends your nginx configuration directives. It adds four new directives and they are: modsecurity ----------- **syntax:** *modsecurity on | off* **context:** *http, server, location* **default:** *off* Turns on or off ModSecurity functionality. Note that this configuration directive is no longer related to the SecRule state. Instead, it now serves solely as an nginx flag to enable or disable the module. modsecurity_rules_file ---------------------- **syntax:** *modsecurity_rules_file <path to rules file>* **context:** *http, server, location* **default:** *no* Specifies the location of the modsecurity configuration file, e.g.: ```nginx server { modsecurity on; location / { root /var/www/html; modsecurity_rules_file /etc/my_modsecurity_rules.conf; } } ``` modsecurity_rules_remote ------------------------ **syntax:** *modsecurity_rules_remote <key> <URL to rules>* **context:** *http, server, location* **default:** *no* Specifies from where (on the internet) a modsecurity configuration file will be downloaded. It also specifies the key that will be used to authenticate to that server: ```nginx server { modsecurity on; location / { root /var/www/html; modsecurity_rules_remote my-server-key https://my-own-server/rules/download; } } ``` modsecurity_rules ----------------- **syntax:** *modsecurity_rules <modsecurity rule>* **context:** *http, server, location* **default:** *no* Allows for the direct inclusion of a ModSecurity rule into the nginx configuration. The following example is loading rules from a file and injecting specific configurations per directory/alias: ```nginx server { modsecurity on; location / { root /var/www/html; modsecurity_rules_file /etc/my_modsecurity_rules.conf; } location /ops { root /var/www/html/opts; modsecurity_rules ' SecRuleEngine On SecDebugLog /tmp/modsec_debug.log SecDebugLogLevel 9 SecRuleRemoveById 10 '; } } ``` modsecurity_transaction_id -------------------------- **syntax:** *modsecurity_transaction_id string* **context:** *http, server, location* **default:** *no* Allows to pass transaction ID from nginx instead of generating it in the library. This can be useful for tracing purposes, e.g. consider this configuration: ```nginx log_format extended '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" $request_id'; server { server_name host1; modsecurity on; modsecurity_transaction_id "host1-$request_id"; access_log logs/host1-access.log extended; error_log logs/host1-error.log; location / { ... } } server { server_name host2; modsecurity on; modsecurity_transaction_id "host2-$request_id"; access_log logs/host2-access.log extended; error_log logs/host2-error.log; location / { ... } } ``` Using a combination of log_format and modsecurity_transaction_id you will be able to find correlations between access log and error log entries using the same unique identificator. String can contain variables. # Contributing As an open source project we invite (and encourage) anyone from the community to contribute to our project. This may take the form of: new functionality, bug fixes, bug reports, beginners user support, and anything else that you are willing to help with. Thank you. ## Providing Patches We prefer to have your patch within the GitHub infrastructure to facilitate our review work, and our QA integration. GitHub provides an excellent documentation on how to perform “Pull Requests”. More information available here: https://help.github.com/articles/using-pull-requests/ Please respect the coding style in use. Pull requests can include various commits, so provide one fix or one functionality per commit. Do not change anything outside the scope of your target work (e.g. coding style in a function that you have passed by). ### Don’t know where to start? Within our code there are various items marked as TODO or FIXME that may need your attention. Check the list of items by performing a grep: ``` $ cd /path/to/modsecurity-nginx $ egrep -Rin "TODO|FIXME" -R * ``` You may also take a look at recent bug reports and open issues to get an idea of what kind of help we are looking for. ### Testing your patch Along with the manual testing, we strongly recommend that you to use the nginx test utility to make sure that you patch does not adversely affect the behavior or performance of nginx. The nginx tests are available on: http://hg.nginx.org/nginx-tests/ To use those tests, make sure you have the Perl utility prove (part of Perl 5) and proceed with the following commands: ``` $ cp /path/to/ModSecurity-nginx/tests/* /path/to/nginx/test/repository $ cd /path/to/nginx/test/repository $ TEST_NGINX_BINARY=/path/to/your/nginx prove . ``` If you are facing problems getting your added functionality to pass all the nginx tests, feel free to contact us or the nginx mailing list at: http://nginx.org/en/support.html ### Debugging We respect the nginx debugging schema. By using the configuration option "--with-debug" during the nginx configuration you will also be enabling the connector's debug messages. Core dumps and crashes are expected to be debugged in the same fashion that is used to debug nginx. For further information, please check the nginx debugging information: http://wiki.nginx.org/Debugging ## Reporting Issues If you are facing a configuration issue or if something is not working as you expect it to be, please use ModSecurity user’s mailing list. Issues on GitHub are also welcome, but we prefer to have users question on the mailing list first, where you can reach an entire community. Also don’t forget to look for an existing issue before opening a new one. Lastly, If you are planning to open an issue on GitHub, please don’t forget to tell us the version of your libmodsecurity and the version of the nginx connector you are running. ### Security issue Please do not publicly report any security issue. Instead, contact us at: security@modsecurity.org to report the issue. Once the problem is fixed we will provide you with credit for the discovery. ## Feature Request We would love to discuss any ideas that you may have for a new feature. Please keep in mind this is a community driven project so be sure to contact the community via the mailing list to get feedback first. Alternatively, feel free to open GitHub issues requesting for new features. Before opening a new issue, please check if there is an existing feature request for the desired functionality. ## Packaging Having our packages in distros on time is something we highly desire. Let us know if there is anything we can do to facilitate your work as a packager. libnginx-mod-http-modsecurity-1.0.4/config000066400000000000000000000165141520112027000206120ustar00rootroot00000000000000# vim: filetype=sh # If $NGX_IGNORE_RPATH is set to "YES", we will ignore explicit # library path specification on resulting binary, allowing libmodsecurity.so # to be relocated across configured library pathes (adjust /etc/ld.so.conf # or set $LD_LIBRARY_PATH environment variable to manage them) # # $YAJL_LIB variable may need to be populated in case of non-standard # path of libyajl.so's installation ngx_feature_name= ngx_feature_run=no ngx_feature_incs="#include #include " ngx_feature_libs="-lmodsecurity" ngx_feature_test='msc_init();' ngx_modsecurity_opt_I= ngx_modsecurity_opt_L= YAJL_EXTRA= if test -n "$YAJL_LIB"; then YAJL_EXTRA="-L$YAJL_LIB -lyajl" fi # If $MODSECURITY_INC is specified, lets use it. Otherwise lets try # the default paths # if [ -n "$MODSECURITY_INC" -o -n "$MODSECURITY_LIB" ]; then # explicitly set ModSecurity lib path ngx_feature="ModSecurity library in \"$MODSECURITY_LIB\" and \"$MODSECURITY_INC\" (specified by the MODSECURITY_LIB and MODSECURITY_INC env)" ngx_feature_path="$MODSECURITY_INC" ngx_modsecurity_opt_I="-I$MODSECURITY_INC" ngx_modsecurity_opt_L="-L$MODSECURITY_LIB $YAJL_EXTRA" if [ "$NGX_CC_NAME" != msvc ]; then if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R$MODSECURITY_LIB -L$MODSECURITY_LIB -lmodsecurity $YAJL_EXTRA" elif [ "$NGX_IGNORE_RPATH" != "YES" -a $NGX_SYSTEM = "Linux" ]; then ngx_feature_libs="-Wl,-rpath,$MODSECURITY_LIB -L$MODSECURITY_LIB -lmodsecurity $YAJL_EXTRA" else ngx_feature_libs="-L$MODSECURITY_LIB -lmodsecurity $YAJL_EXTRA" fi else # Adjust link library arguments to work with MSVC C++ compiler and # output of the Windows port of libModSecurity v3 ngx_feature_libs="$MODSECURITY_LIB/libModSecurity.lib $YAJL_EXTRA" fi . auto/feature if [ $ngx_found = no ]; then cat << END $0: error: ngx_http_modsecurity_module requires the ModSecurity library and MODSECURITY_LIB is defined as "$MODSECURITY_LIB" and MODSECURITY_INC (path for modsecurity.h) "$MODSECURITY_INC", but we cannot find ModSecurity there. END exit 1 fi else # auto-discovery ngx_feature="ModSecurity library" ngx_feature_libs="-lmodsecurity" . auto/feature if [ $ngx_found = no ]; then ngx_feature="ModSecurity library in /usr/local/modsecurity" ngx_feature_path="/usr/local/modsecurity/include" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R/usr/local/modsecurity/lib -L/usr/local/modsecurity/lib -lmodsecurity" elif [ "$NGX_IGNORE_RPATH" != "YES" -a $NGX_SYSTEM = "Linux" ]; then ngx_feature_libs="-Wl,-rpath,/usr/local/modsecurity/lib -L/usr/local/modsecurity/lib -lmodsecurity" else ngx_feature_libs="-L/usr/local/modsecurity/lib -lmodsecurity" fi . auto/feature fi fi if [ $ngx_found = no ]; then cat << END $0: error: ngx_http_modsecurity_module requires the ModSecurity library. END exit 1 fi ngx_addon_name=ngx_http_modsecurity_module # We must place ngx_http_modsecurity_module after ngx_http_gzip_filter_module # in load order list to be able to read response body before it gets compressed # (for filter modules later initialization means earlier execution). # # Nginx implements load ordering only for dynamic modules and only a BEFORE part # of "ngx_module_order". So we list all of the modules that come after # ngx_http_gzip_filter_module as a BEFORE dependency for # ngx_http_modsecurity_module. # # For static compilation HTTP_FILTER_MODULES will be patched later. modsecurity_dependency="ngx_http_postpone_filter_module \ ngx_http_ssi_filter_module \ ngx_http_charset_filter_module \ ngx_http_xslt_filter_module \ ngx_http_image_filter_module \ ngx_http_sub_filter_module \ ngx_http_addition_filter_module \ ngx_http_gunzip_filter_module \ ngx_http_userid_filter_module \ ngx_http_headers_filter_module \ ngx_http_copy_filter_module" if test -n "$ngx_module_link"; then ngx_module_type=HTTP_FILTER ngx_module_name="$ngx_addon_name" ngx_module_srcs="$ngx_addon_dir/src/ngx_http_modsecurity_module.c \ $ngx_addon_dir/src/ngx_http_modsecurity_pre_access.c \ $ngx_addon_dir/src/ngx_http_modsecurity_header_filter.c \ $ngx_addon_dir/src/ngx_http_modsecurity_body_filter.c \ $ngx_addon_dir/src/ngx_http_modsecurity_log.c \ $ngx_addon_dir/src/ngx_http_modsecurity_rewrite.c \ " ngx_module_deps="$ngx_addon_dir/src/ddebug.h \ $ngx_addon_dir/src/ngx_http_modsecurity_common.h \ " ngx_module_libs="$ngx_feature_libs" ngx_module_incs="$ngx_feature_path" ngx_module_order="ngx_http_chunked_filter_module \ ngx_http_v2_filter_module \ ngx_http_range_header_filter_module \ ngx_http_gzip_filter_module \ $ngx_module_name \ $modsecurity_dependency"; . auto/module else CFLAGS="$ngx_modsecurity_opt_I $CFLAGS" NGX_LD_OPT="$ngx_modsecurity_opt_L $NGX_LD_OPT" CORE_INCS="$CORE_INCS $ngx_feature_path" CORE_LIBS="$CORE_LIBS $ngx_feature_libs" HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES ngx_http_modsecurity_module" NGX_ADDON_SRCS="\ $NGX_ADDON_SRCS \ $ngx_addon_dir/src/ngx_http_modsecurity_module.c \ $ngx_addon_dir/src/ngx_http_modsecurity_pre_access.c \ $ngx_addon_dir/src/ngx_http_modsecurity_header_filter.c \ $ngx_addon_dir/src/ngx_http_modsecurity_body_filter.c \ $ngx_addon_dir/src/ngx_http_modsecurity_log.c \ $ngx_addon_dir/src/ngx_http_modsecurity_rewrite.c \ " NGX_ADDON_DEPS="\ $NGX_ADDON_DEPS \ $ngx_addon_dir/src/ddebug.h \ $ngx_addon_dir/src/ngx_http_modsecurity_common.h \ " fi # # Nginx does not provide reliable way to introduce our module into required # place in static ($ngx_module_link=ADDON) compilation mode, so we must # explicitly update module "ordering rules". # if [ "$ngx_module_link" != DYNAMIC ] ; then # Reposition modsecurity module to satisfy $modsecurity_dependency # (this mimics dependency resolution made by ngx_add_module() function # though less optimal in terms of computational complexity). modules= found= for module in $HTTP_FILTER_MODULES; do # skip our module name from the original list if [ "$module" = "$ngx_addon_name" ]; then continue fi if [ -z "${found}" ]; then for item in $modsecurity_dependency; do if [ "$module" = "$item" ]; then modules="${modules} $ngx_addon_name" found=1 break fi done fi modules="${modules} $module" done if [ -z "${found}" ]; then # This must never happen since ngx_http_copy_filter_module must be in HTTP_FILTER_MODULES # and we stated dependency on it in $modsecurity_dependency echo "$0: error: cannot reposition modsecurity module in HTTP_FILTER_MODULES list" exit 1 fi HTTP_FILTER_MODULES="${modules}" fi libnginx-mod-http-modsecurity-1.0.4/ngx-modsec.stp000077500000000000000000000013361520112027000222150ustar00rootroot00000000000000#!/usr/bin/env stap global begin_rule global rules global rules_phase # Rules probe process("/usr/local/lib/libmodsecurity.so.3").function("evaluate@rule.cc*") { begin_rule = gettimeofday_us(); } probe process("/usr/local/lib/libmodsecurity.so.3").function("evaluate@rule.cc*").return { elapsed_rule = gettimeofday_us() - begin_rule rules[$this->m_ruleId] <<< elapsed_rule rules_phase[$this->m_ruleId] = $this->m_phase } # Resume probe end { foreach ([rule] in rules) { if (@count(rules[rule])) { p = rules_phase[rule] - 1; if (p <= 0) { p = 1 } printf("Phase %d;Rule ID: %d %u\n", p, rule, @avg(rules[rule])); } } } libnginx-mod-http-modsecurity-1.0.4/release.sh000077500000000000000000000006211520112027000213710ustar00rootroot00000000000000#!/bin/bash git clean -xfdi git submodule foreach --recursive git clean -xfdi VERSION=`git describe --tags` DIR_NAME="modsecurity-nginx-$VERSION" TAR_NAME="modsecurity-nginx-$VERSION.tar.gz" MY_DIR=${PWD##*/} cd .. tar --transform "s/^$MY_DIR/$DIR_NAME/" -cvzf $TAR_NAME --exclude .git $MY_DIR sha256sum $TAR_NAME > $TAR_NAME.sha256 gpg --detach-sign -a $TAR_NAME cd - echo $TAR_NAME ": done." libnginx-mod-http-modsecurity-1.0.4/src/000077500000000000000000000000001520112027000202025ustar00rootroot00000000000000libnginx-mod-http-modsecurity-1.0.4/src/ddebug.h000066400000000000000000000044331520112027000216110ustar00rootroot00000000000000 // From: https://raw.githubusercontent.com/openresty/lua-nginx-module/master/src/ddebug.h /* * Copyright (C) Yichun Zhang (agentzh) */ #ifndef _DDEBUG_H_INCLUDED_ #define _DDEBUG_H_INCLUDED_ #include /* * #undef MODSECURITY_DDEBUG * #define MODSECURITY_DDEBUG 1 */ /* * Setting MODSECURITY_SANITY_CHECKS will help you in the debug process. By * defining MODSECURITY_SANITY_CHECKS a set of functions will be executed in * order to make sure the well behavior of ModSecurity, letting you know (via * debug_logs) if something unexpected happens. * * If performance is not a concern, it is safe to keep it set. * */ #ifndef MODSECURITY_SANITY_CHECKS #define MODSECURITY_SANITY_CHECKS 0 #endif #if defined(MODSECURITY_DDEBUG) && (MODSECURITY_DDEBUG) # if (NGX_HAVE_VARIADIC_MACROS) # define dd(...) fprintf(stderr, "modsec *** %s: ", __func__); \ fprintf(stderr, __VA_ARGS__); \ fprintf(stderr, " at %s line %d.\n", __FILE__, __LINE__) # else #include #include #include static void dd(const char *fmt, ...) { } # endif #else # if (NGX_HAVE_VARIADIC_MACROS) # define dd(...) # else #include static void dd(const char *fmt, ...) { } # endif #endif #if defined(MODSECURITY_DDEBUG) && (MODSECURITY_DDEBUG) #define dd_check_read_event_handler(r) \ dd("r->read_event_handler = %s", \ r->read_event_handler == ngx_http_block_reading ? \ "ngx_http_block_reading" : \ r->read_event_handler == ngx_http_test_reading ? \ "ngx_http_test_reading" : \ r->read_event_handler == ngx_http_request_empty_handler ? \ "ngx_http_request_empty_handler" : "UNKNOWN") #define dd_check_write_event_handler(r) \ dd("r->write_event_handler = %s", \ r->write_event_handler == ngx_http_handler ? \ "ngx_http_handler" : \ r->write_event_handler == ngx_http_core_run_phases ? \ "ngx_http_core_run_phases" : \ r->write_event_handler == ngx_http_request_empty_handler ? \ "ngx_http_request_empty_handler" : "UNKNOWN") #else #define dd_check_read_event_handler(r) #define dd_check_write_event_handler(r) #endif #endif /* _DDEBUG_H_INCLUDED_ */ /* vi:set ft=c ts=4 sw=4 et fdm=marker: */ libnginx-mod-http-modsecurity-1.0.4/src/ngx_http_modsecurity_body_filter.c000066400000000000000000000135241520112027000272170ustar00rootroot00000000000000/* * ModSecurity connector for nginx, http://www.modsecurity.org/ * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) * * You may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * If any of the files related to licensing are missing or if you have any * other questions related to licensing please contact Trustwave Holdings, Inc. * directly using the email address security@modsecurity.org. * */ #include #ifndef MODSECURITY_DDEBUG #define MODSECURITY_DDEBUG 0 #endif #include "ddebug.h" #include "ngx_http_modsecurity_common.h" static ngx_http_output_body_filter_pt ngx_http_next_body_filter; /* XXX: check behaviour on few body filters installed */ ngx_int_t ngx_http_modsecurity_body_filter_init(void) { ngx_http_next_body_filter = ngx_http_top_body_filter; ngx_http_top_body_filter = ngx_http_modsecurity_body_filter; return NGX_OK; } ngx_int_t ngx_http_modsecurity_body_filter(ngx_http_request_t *r, ngx_chain_t *in) { ngx_chain_t *chain = in; ngx_http_modsecurity_ctx_t *ctx = NULL; #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_conf_t *mcf; ngx_list_part_t *part = &r->headers_out.headers.part; ngx_table_elt_t *data = part->elts; ngx_uint_t i = 0; #endif if (in == NULL) { return ngx_http_next_body_filter(r, in); } ctx = ngx_http_modsecurity_get_module_ctx(r); dd("body filter, recovering ctx: %p", ctx); if (ctx == NULL) { return ngx_http_next_body_filter(r, in); } if (ctx->intervention_triggered) { return ngx_http_next_body_filter(r, in); } #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) mcf = ngx_http_get_module_loc_conf(r, ngx_http_modsecurity_module); if (mcf != NULL && mcf->sanity_checks_enabled != NGX_CONF_UNSET) { #if 0 dd("dumping stored ctx headers"); for (i = 0; i < ctx->sanity_headers_out->nelts; i++) { ngx_http_modsecurity_header_t *vals = ctx->sanity_headers_out->elts; ngx_str_t *s2 = &vals[i].name, *s3 = &vals[i].value; dd(" dump[%d]: name = '%.*s', value = '%.*s'", (int)i, (int)s2->len, (char*)s2->data, (int)s3->len, (char*)s3->data); } #endif /* * Identify if there is a header that was not inspected by ModSecurity. */ int worth_to_fail = 0; for (i = 0; ; i++) { int found = 0; ngx_uint_t j = 0; ngx_table_elt_t *s1; ngx_http_modsecurity_header_t *vals; if (i >= part->nelts) { if (part->next == NULL) { break; } part = part->next; data = part->elts; i = 0; } vals = ctx->sanity_headers_out->elts; s1 = &data[i]; /* * Headers that were inspected by ModSecurity. */ while (j < ctx->sanity_headers_out->nelts) { ngx_str_t *s2 = &vals[j].name; ngx_str_t *s3 = &vals[j].value; if (s1->key.len == s2->len && ngx_strncmp(s1->key.data, s2->data, s1->key.len) == 0) { if (s1->value.len == s3->len && ngx_strncmp(s1->value.data, s3->data, s1->value.len) == 0) { found = 1; break; } } j++; } if (!found) { dd("header: `%.*s' with value: `%.*s' was not inspected by ModSecurity", (int) s1->key.len, (const char *) s1->key.data, (int) s1->value.len, (const char *) s1->value.data); worth_to_fail++; } } if (worth_to_fail) { dd("%d header(s) were not inspected by ModSecurity, so exiting", worth_to_fail); return ngx_http_filter_finalize_request(r, &ngx_http_modsecurity_module, NGX_HTTP_INTERNAL_SERVER_ERROR); } } #endif int is_request_processed = 0; for (; chain != NULL; chain = chain->next) { u_char *data = chain->buf->pos; int ret; msc_append_response_body(ctx->modsec_transaction, data, chain->buf->last - data); ret = ngx_http_modsecurity_process_intervention(ctx->modsec_transaction, r, 0); if (ret > 0) { return ngx_http_filter_finalize_request(r, &ngx_http_modsecurity_module, ret); } /* XXX: chain->buf->last_buf || chain->buf->last_in_chain */ is_request_processed = chain->buf->last_buf; if (is_request_processed) { ngx_pool_t *old_pool; old_pool = ngx_http_modsecurity_pcre_malloc_init(r->pool); msc_process_response_body(ctx->modsec_transaction); ngx_http_modsecurity_pcre_malloc_done(old_pool); /* XXX: I don't get how body from modsec being transferred to nginx's buffer. If so - after adjusting of nginx's XXX: body we can proceed to adjust body size (content-length). see xslt_body_filter() for example */ ret = ngx_http_modsecurity_process_intervention(ctx->modsec_transaction, r, 0); if (ret > 0) { return ret; } else if (ret < 0) { return ngx_http_filter_finalize_request(r, &ngx_http_modsecurity_module, NGX_HTTP_INTERNAL_SERVER_ERROR); } } } if (!is_request_processed) { dd("buffer was not fully loaded! ctx: %p", ctx); } /* XXX: xflt_filter() -- return NGX_OK here */ return ngx_http_next_body_filter(r, in); } libnginx-mod-http-modsecurity-1.0.4/src/ngx_http_modsecurity_common.h000066400000000000000000000122151520112027000262060ustar00rootroot00000000000000/* * ModSecurity connector for nginx, http://www.modsecurity.org/ * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) * * You may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * If any of the files related to licensing are missing or if you have any * other questions related to licensing please contact Trustwave Holdings, Inc. * directly using the email address security@modsecurity.org. * */ #ifndef _NGX_HTTP_MODSECURITY_COMMON_H_INCLUDED_ #define _NGX_HTTP_MODSECURITY_COMMON_H_INCLUDED_ #include #include #include #include #include #include /* #define MSC_USE_RULES_SET 1 */ #if defined(MODSECURITY_CHECK_VERSION) #if MODSECURITY_VERSION_NUM >= 304010 #define MSC_USE_RULES_SET 1 #endif #endif #if defined(MSC_USE_RULES_SET) #include #else #include #endif /** * TAG_NUM: * * Alpha - 001 * Beta - 002 * Dev - 010 * Rc1 - 051 * Rc2 - 052 * ... - ... * Release- 100 * */ #define MODSECURITY_NGINX_MAJOR "1" #define MODSECURITY_NGINX_MINOR "0" #define MODSECURITY_NGINX_PATCHLEVEL "4" #define MODSECURITY_NGINX_TAG "" #define MODSECURITY_NGINX_TAG_NUM "100" #define MODSECURITY_NGINX_VERSION MODSECURITY_NGINX_MAJOR "." \ MODSECURITY_NGINX_MINOR "." MODSECURITY_NGINX_PATCHLEVEL \ MODSECURITY_NGINX_TAG #define MODSECURITY_NGINX_VERSION_NUM MODSECURITY_NGINX_MAJOR \ MODSECURITY_NGINX_MINOR MODSECURITY_NGINX_PATCHLEVEL \ MODSECURITY_NGINX_TAG_NUM #define MODSECURITY_NGINX_WHOAMI "ModSecurity-nginx v" \ MODSECURITY_NGINX_VERSION typedef struct { ngx_str_t name; ngx_str_t value; } ngx_http_modsecurity_header_t; typedef struct { ngx_http_request_t *r; Transaction *modsec_transaction; ModSecurityIntervention *delayed_intervention; #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) /* * Should be filled with the headers that were sent to ModSecurity. * * The idea is to compare this set of headers with the headers that were * sent to the client. This check was placed because we don't have control * over other modules, thus, we may partially inspect the headers. * */ ngx_array_t *sanity_headers_out; #endif unsigned waiting_more_body:1; unsigned body_requested:1; unsigned processed:1; unsigned logged:1; unsigned intervention_triggered:1; unsigned request_body_processed:1; } ngx_http_modsecurity_ctx_t; typedef struct { void *pool; ModSecurity *modsec; ngx_uint_t rules_inline; ngx_uint_t rules_file; ngx_uint_t rules_remote; } ngx_http_modsecurity_main_conf_t; typedef struct { void *pool; /* RulesSet or Rules */ void *rules_set; ngx_flag_t enable; #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_flag_t sanity_checks_enabled; #endif ngx_http_complex_value_t *transaction_id; } ngx_http_modsecurity_conf_t; typedef ngx_int_t (*ngx_http_modsecurity_resolv_header_pt)(ngx_http_request_t *r, ngx_str_t name, off_t offset); typedef struct { ngx_str_t name; ngx_uint_t offset; ngx_http_modsecurity_resolv_header_pt resolver; } ngx_http_modsecurity_header_out_t; extern ngx_module_t ngx_http_modsecurity_module; /* ngx_http_modsecurity_module.c */ int ngx_http_modsecurity_process_intervention (Transaction *transaction, ngx_http_request_t *r, ngx_int_t early_log); ngx_http_modsecurity_ctx_t *ngx_http_modsecurity_create_ctx(ngx_http_request_t *r); ngx_http_modsecurity_ctx_t *ngx_http_modsecurity_get_module_ctx(ngx_http_request_t *r); char *ngx_str_to_char(ngx_str_t a, ngx_pool_t *p); #if (NGX_PCRE2) #define ngx_http_modsecurity_pcre_malloc_init(x) NULL #define ngx_http_modsecurity_pcre_malloc_done(x) (void)x #else ngx_pool_t *ngx_http_modsecurity_pcre_malloc_init(ngx_pool_t *pool); void ngx_http_modsecurity_pcre_malloc_done(ngx_pool_t *old_pool); #endif /* ngx_http_modsecurity_body_filter.c */ ngx_int_t ngx_http_modsecurity_body_filter_init(void); ngx_int_t ngx_http_modsecurity_body_filter(ngx_http_request_t *r, ngx_chain_t *in); /* ngx_http_modsecurity_header_filter.c */ ngx_int_t ngx_http_modsecurity_header_filter_init(void); ngx_int_t ngx_http_modsecurity_header_filter(ngx_http_request_t *r); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) int ngx_http_modsecurity_store_ctx_header(ngx_http_request_t *r, ngx_str_t *name, ngx_str_t *value); #endif /* ngx_http_modsecurity_log.c */ void ngx_http_modsecurity_log(void *log, const void* data); ngx_int_t ngx_http_modsecurity_log_handler(ngx_http_request_t *r); /* ngx_http_modsecurity_pre_access.c */ ngx_int_t ngx_http_modsecurity_pre_access_handler(ngx_http_request_t *r); /* ngx_http_modsecurity_rewrite.c */ ngx_int_t ngx_http_modsecurity_rewrite_handler(ngx_http_request_t *r); #endif /* _NGX_HTTP_MODSECURITY_COMMON_H_INCLUDED_ */ libnginx-mod-http-modsecurity-1.0.4/src/ngx_http_modsecurity_header_filter.c000066400000000000000000000421561520112027000275150ustar00rootroot00000000000000/* * ModSecurity connector for nginx, http://www.modsecurity.org/ * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) * * You may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * If any of the files related to licensing are missing or if you have any * other questions related to licensing please contact Trustwave Holdings, Inc. * directly using the email address security@modsecurity.org. * */ #include #ifndef MODSECURITY_DDEBUG #define MODSECURITY_DDEBUG 0 #endif #include "ddebug.h" #include "ngx_http_modsecurity_common.h" static ngx_http_output_header_filter_pt ngx_http_next_header_filter; static ngx_int_t ngx_http_modsecurity_resolv_header_server(ngx_http_request_t *r, ngx_str_t name, off_t offset); static ngx_int_t ngx_http_modsecurity_resolv_header_date(ngx_http_request_t *r, ngx_str_t name, off_t offset); static ngx_int_t ngx_http_modsecurity_resolv_header_content_length(ngx_http_request_t *r, ngx_str_t name, off_t offset); static ngx_int_t ngx_http_modsecurity_resolv_header_content_type(ngx_http_request_t *r, ngx_str_t name, off_t offset); static ngx_int_t ngx_http_modsecurity_resolv_header_last_modified(ngx_http_request_t *r, ngx_str_t name, off_t offset); static ngx_int_t ngx_http_modsecurity_resolv_header_connection(ngx_http_request_t *r, ngx_str_t name, off_t offset); static ngx_int_t ngx_http_modsecurity_resolv_header_transfer_encoding(ngx_http_request_t *r, ngx_str_t name, off_t offset); static ngx_int_t ngx_http_modsecurity_resolv_header_vary(ngx_http_request_t *r, ngx_str_t name, off_t offset); ngx_http_modsecurity_header_out_t ngx_http_modsecurity_headers_out[] = { { ngx_string("Server"), offsetof(ngx_http_headers_out_t, server), ngx_http_modsecurity_resolv_header_server }, { ngx_string("Date"), offsetof(ngx_http_headers_out_t, date), ngx_http_modsecurity_resolv_header_date }, { ngx_string("Content-Length"), offsetof(ngx_http_headers_out_t, content_length_n), ngx_http_modsecurity_resolv_header_content_length }, { ngx_string("Content-Type"), offsetof(ngx_http_headers_out_t, content_type), ngx_http_modsecurity_resolv_header_content_type }, { ngx_string("Last-Modified"), offsetof(ngx_http_headers_out_t, last_modified), ngx_http_modsecurity_resolv_header_last_modified }, { ngx_string("Connection"), 0, ngx_http_modsecurity_resolv_header_connection }, { ngx_string("Transfer-Encoding"), 0, ngx_http_modsecurity_resolv_header_transfer_encoding }, { ngx_string("Vary"), 0, ngx_http_modsecurity_resolv_header_vary }, #if 0 { ngx_string("Content-Encoding"), offsetof(ngx_http_headers_out_t, content_encoding), NGX_TABLE }, { ngx_string("Cache-Control"), offsetof(ngx_http_headers_out_t, cache_control), NGX_ARRAY }, { ngx_string("Location"), offsetof(ngx_http_headers_out_t, location), NGX_TABLE }, { ngx_string("Content-Range"), offsetof(ngx_http_headers_out_t, content_range), NGX_TABLE }, { ngx_string("Accept-Ranges"), offsetof(ngx_http_headers_out_t, accept_ranges), NGX_TABLE }, returiders_out[i].name 1; { ngx_string("WWW-Authenticate"), offsetof(ngx_http_headers_out_t, www_authenticate), NGX_TABLE }, { ngx_string("Expires"), offsetof(ngx_http_headers_out_t, expires), NGX_TABLE }, #endif { ngx_null_string, 0, 0 } }; #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) int ngx_http_modsecurity_store_ctx_header(ngx_http_request_t *r, ngx_str_t *name, ngx_str_t *value) { ngx_http_modsecurity_ctx_t *ctx; ngx_http_modsecurity_conf_t *mcf; ngx_http_modsecurity_header_t *hdr; ctx = ngx_http_modsecurity_get_module_ctx(r); if (ctx == NULL || ctx->sanity_headers_out == NULL) { return NGX_ERROR; } mcf = ngx_http_get_module_loc_conf(r, ngx_http_modsecurity_module); if (mcf == NULL || mcf->sanity_checks_enabled == NGX_CONF_UNSET) { return NGX_OK; } hdr = ngx_array_push(ctx->sanity_headers_out); if (hdr == NULL) { return NGX_ERROR; } hdr->name.data = ngx_pnalloc(r->pool, name->len); hdr->value.data = ngx_pnalloc(r->pool, value->len); if (hdr->name.data == NULL || hdr->value.data == NULL) { return NGX_ERROR; } ngx_memcpy(hdr->name.data, name->data, name->len); hdr->name.len = name->len; ngx_memcpy(hdr->value.data, value->data, value->len); hdr->value.len = value->len; return NGX_OK; } #endif static ngx_int_t ngx_http_modsecurity_resolv_header_server(ngx_http_request_t *r, ngx_str_t name, off_t offset) { static char ngx_http_server_full_string[] = NGINX_VER; static char ngx_http_server_string[] = "nginx"; ngx_http_core_loc_conf_t *clcf = NULL; ngx_http_modsecurity_ctx_t *ctx = NULL; ngx_str_t value; clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); ctx = ngx_http_modsecurity_get_module_ctx(r); if (r->headers_out.server == NULL) { if (clcf->server_tokens) { value.data = (u_char *)ngx_http_server_full_string; value.len = sizeof(ngx_http_server_full_string); } else { value.data = (u_char *)ngx_http_server_string; value.len = sizeof(ngx_http_server_string); } } else { ngx_table_elt_t *h = r->headers_out.server; value.data = h->value.data; value.len = h->value.len; } #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name, &value); #endif return msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name.data, name.len, (const unsigned char *) value.data, value.len); } static ngx_int_t ngx_http_modsecurity_resolv_header_date(ngx_http_request_t *r, ngx_str_t name, off_t offset) { ngx_http_modsecurity_ctx_t *ctx = NULL; ngx_str_t date; ctx = ngx_http_modsecurity_get_module_ctx(r); if (r->headers_out.date == NULL) { date.data = ngx_cached_http_time.data; date.len = ngx_cached_http_time.len; } else { ngx_table_elt_t *h = r->headers_out.date; date.data = h->value.data; date.len = h->value.len; } #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name, &date); #endif return msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name.data, name.len, (const unsigned char *) date.data, date.len); } static ngx_int_t ngx_http_modsecurity_resolv_header_content_length(ngx_http_request_t *r, ngx_str_t name, off_t offset) { ngx_http_modsecurity_ctx_t *ctx = NULL; ngx_str_t value; char buf[NGX_INT64_LEN+2]; ctx = ngx_http_modsecurity_get_module_ctx(r); if (r->headers_out.content_length_n > 0) { ngx_sprintf((u_char *)buf, "%O%Z", r->headers_out.content_length_n); value.data = (unsigned char *)buf; value.len = strlen(buf); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name, &value); #endif return msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name.data, name.len, (const unsigned char *) value.data, value.len); } return 1; } static ngx_int_t ngx_http_modsecurity_resolv_header_content_type(ngx_http_request_t *r, ngx_str_t name, off_t offset) { ngx_http_modsecurity_ctx_t *ctx = NULL; ctx = ngx_http_modsecurity_get_module_ctx(r); if (r->headers_out.content_type.len > 0) { #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name, &r->headers_out.content_type); #endif return msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name.data, name.len, (const unsigned char *) r->headers_out.content_type.data, r->headers_out.content_type.len); } return 1; } static ngx_int_t ngx_http_modsecurity_resolv_header_last_modified(ngx_http_request_t *r, ngx_str_t name, off_t offset) { ngx_http_modsecurity_ctx_t *ctx = NULL; u_char buf[1024], *p; ngx_str_t value; ctx = ngx_http_modsecurity_get_module_ctx(r); if (r->headers_out.last_modified_time == -1) { return 1; } p = ngx_http_time(buf, r->headers_out.last_modified_time); value.data = buf; value.len = (int)(p-buf); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name, &value); #endif return msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name.data, name.len, (const unsigned char *) value.data, value.len); } static ngx_int_t ngx_http_modsecurity_resolv_header_connection(ngx_http_request_t *r, ngx_str_t name, off_t offset) { ngx_http_modsecurity_ctx_t *ctx = NULL; ngx_http_core_loc_conf_t *clcf = NULL; char *connection = NULL; ngx_str_t value; clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); ctx = ngx_http_modsecurity_get_module_ctx(r); if (r->headers_out.status == NGX_HTTP_SWITCHING_PROTOCOLS) { connection = "upgrade"; } else if (r->keepalive) { connection = "keep-alive"; if (clcf->keepalive_header) { u_char buf[1024]; ngx_sprintf(buf, "timeout=%T%Z", clcf->keepalive_header); ngx_str_t name2 = ngx_string("Keep-Alive"); value.data = buf; value.len = strlen((char *)buf); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name2, &value); #endif msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name2.data, name2.len, (const unsigned char *) value.data, value.len); } } else { connection = "close"; } value.data = (u_char *) connection; value.len = strlen(connection); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name, &value); #endif return msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name.data, name.len, (const unsigned char *) value.data, value.len); } static ngx_int_t ngx_http_modsecurity_resolv_header_transfer_encoding(ngx_http_request_t *r, ngx_str_t name, off_t offset) { ngx_http_modsecurity_ctx_t *ctx = NULL; if (r->chunked) { ngx_str_t value = ngx_string("chunked"); ctx = ngx_http_modsecurity_get_module_ctx(r); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name, &value); #endif return msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name.data, name.len, (const unsigned char *) value.data, value.len); } return 1; } static ngx_int_t ngx_http_modsecurity_resolv_header_vary(ngx_http_request_t *r, ngx_str_t name, off_t offset) { #if (NGX_HTTP_GZIP) ngx_http_modsecurity_ctx_t *ctx = NULL; ngx_http_core_loc_conf_t *clcf = NULL; clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); if (r->gzip_vary && clcf->gzip_vary) { ngx_str_t value = ngx_string("Accept-Encoding"); ctx = ngx_http_modsecurity_get_module_ctx(r); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &name, &value); #endif return msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) name.data, name.len, (const unsigned char *) value.data, value.len); } #endif return 1; } ngx_int_t ngx_http_modsecurity_header_filter_init(void) { ngx_http_next_header_filter = ngx_http_top_header_filter; ngx_http_top_header_filter = ngx_http_modsecurity_header_filter; return NGX_OK; } ngx_int_t ngx_http_modsecurity_header_filter(ngx_http_request_t *r) { ngx_http_modsecurity_ctx_t *ctx; ngx_list_part_t *part = &r->headers_out.headers.part; ngx_table_elt_t *data = part->elts; ngx_uint_t i = 0; int ret = 0; ngx_uint_t status; char *http_response_ver; ngx_pool_t *old_pool; /* XXX: if NOT_MODIFIED, do we need to process it at all? see xslt_header_filter() */ ctx = ngx_http_modsecurity_get_module_ctx(r); dd("header filter, recovering ctx: %p", ctx); if (ctx == NULL) { dd("something really bad happened or ModSecurity is disabled. going to the next filter."); return ngx_http_next_header_filter(r); } if (ctx->intervention_triggered) { return ngx_http_next_header_filter(r); } /* XXX: can it happen ? already processed i mean */ /* XXX: check behaviour on 'ModSecurity off' */ if (ctx && ctx->processed) { /* * FIXME: verify if this request is already processed. */ dd("Already processed... going to the next header..."); return ngx_http_next_header_filter(r); } /* * Lets ask nginx to keep the response body in memory * * FIXME: I don't see a reason to keep it `1' when SecResponseBody is disabled. */ r->filter_need_in_memory = 1; ctx->processed = 1; /* * * Assuming ModSecurity module is running immediately before the * ngx_http_header_filter, we will be able to populate ModSecurity with * headers from the headers_out structure. * * As ngx_http_header_filter place a direct call to the * ngx_http_write_filter_module, we cannot hook between those two. In order * to enumerate all headers, we first look at the headers_out structure, * and later we look into the ngx_list_part_t. The ngx_list_part_t must be * checked. Other module(s) in the chain may added some content to it. * */ for (i = 0; ngx_http_modsecurity_headers_out[i].name.len; i++) { dd(" Sending header to ModSecurity - header: `%.*s'.", (int) ngx_http_modsecurity_headers_out[i].name.len, ngx_http_modsecurity_headers_out[i].name.data); ngx_http_modsecurity_headers_out[i].resolver(r, ngx_http_modsecurity_headers_out[i].name, ngx_http_modsecurity_headers_out[i].offset); } for (i = 0 ;; i++) { if (i >= part->nelts) { if (part->next == NULL) { break; } part = part->next; data = part->elts; i = 0; } #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &data[i].key, &data[i].value); #endif /* * Doing this ugly cast here, explanation on the request_header */ msc_add_n_response_header(ctx->modsec_transaction, (const unsigned char *) data[i].key.data, data[i].key.len, (const unsigned char *) data[i].value.data, data[i].value.len); } /* prepare extra paramters for msc_process_response_headers() */ if (r->err_status) { status = r->err_status; } else { status = r->headers_out.status; } /* * NGINX always sends HTTP response with HTTP/1.1, except cases when * HTTP V2 module is enabled, and request has been posted with HTTP/2.0. */ http_response_ver = "HTTP 1.1"; #if (NGX_HTTP_V2) if (r->stream) { http_response_ver = "HTTP 2.0"; } #endif old_pool = ngx_http_modsecurity_pcre_malloc_init(r->pool); msc_process_response_headers(ctx->modsec_transaction, status, http_response_ver); ngx_http_modsecurity_pcre_malloc_done(old_pool); ret = ngx_http_modsecurity_process_intervention(ctx->modsec_transaction, r, 0); if (r->error_page) { return ngx_http_next_header_filter(r); } if (ret > 0) { return ngx_http_filter_finalize_request(r, &ngx_http_modsecurity_module, ret); } /* * Proxies will not like this... but it is necessary to unset * the content length in order to manipulate the content of * response body in ModSecurity. * * This header may arrive at the client before ModSecurity had * a change to make any modification. That is why it is necessary * to set this to -1 here. * * We need to have some kind of flag the decide if ModSecurity * will make a modification or not. If not, keep the content and * make the proxy servers happy. * */ /* * The line below is commented to make the spdy test to work */ //r->headers_out.content_length_n = -1; return ngx_http_next_header_filter(r); } libnginx-mod-http-modsecurity-1.0.4/src/ngx_http_modsecurity_log.c000066400000000000000000000035601520112027000254750ustar00rootroot00000000000000/* * ModSecurity connector for nginx, http://www.modsecurity.org/ * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) * * You may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * If any of the files related to licensing are missing or if you have any * other questions related to licensing please contact Trustwave Holdings, Inc. * directly using the email address security@modsecurity.org. * */ #include #ifndef MODSECURITY_DDEBUG #define MODSECURITY_DDEBUG 0 #endif #include "ddebug.h" #include "ngx_http_modsecurity_common.h" void ngx_http_modsecurity_log(void *log, const void* data) { const char *msg; if (log == NULL) { return; } msg = (const char *) data; ngx_log_error(NGX_LOG_INFO, (ngx_log_t *)log, 0, "%s", msg); } ngx_int_t ngx_http_modsecurity_log_handler(ngx_http_request_t *r) { ngx_pool_t *old_pool; ngx_http_modsecurity_ctx_t *ctx; dd("catching a new _log_ phase handler"); /* if (r->method != NGX_HTTP_GET && r->method != NGX_HTTP_POST && r->method != NGX_HTTP_HEAD) { dd("ModSecurity is not ready to deal with anything different from " \ "POST, GET or HEAD"); return NGX_OK; } */ ctx = ngx_http_modsecurity_get_module_ctx(r); dd("recovering ctx: %p", ctx); if (ctx == NULL) { dd("ModSecurity not enabled or error occurred"); return NGX_OK; } if (ctx->logged) { dd("already logged earlier"); return NGX_OK; } dd("calling msc_process_logging for %p", ctx); old_pool = ngx_http_modsecurity_pcre_malloc_init(r->pool); msc_process_logging(ctx->modsec_transaction); ngx_http_modsecurity_pcre_malloc_done(old_pool); return NGX_OK; } libnginx-mod-http-modsecurity-1.0.4/src/ngx_http_modsecurity_module.c000066400000000000000000000565561520112027000262160ustar00rootroot00000000000000/* * ModSecurity connector for nginx, http://www.modsecurity.org/ * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) * * You may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * If any of the files related to licensing are missing or if you have any * other questions related to licensing please contact Trustwave Holdings, Inc. * directly using the email address security@modsecurity.org. * */ #include #ifndef MODSECURITY_DDEBUG #define MODSECURITY_DDEBUG 0 #endif #include "ddebug.h" #include "ngx_http_modsecurity_common.h" #include "stdio.h" #include #include #ifdef _MSC_VER #define strdup _strdup #endif static ngx_int_t ngx_http_modsecurity_init(ngx_conf_t *cf); static void *ngx_http_modsecurity_create_main_conf(ngx_conf_t *cf); static char *ngx_http_modsecurity_init_main_conf(ngx_conf_t *cf, void *conf); static void *ngx_http_modsecurity_create_conf(ngx_conf_t *cf); static char *ngx_http_modsecurity_merge_conf(ngx_conf_t *cf, void *parent, void *child); static void ngx_http_modsecurity_cleanup_instance(void *data); static void ngx_http_modsecurity_cleanup_rules(void *data); /* * PCRE malloc/free workaround, based on * https://github.com/openresty/lua-nginx-module/blob/master/src/ngx_http_lua_pcrefix.c */ #if !(NGX_PCRE2) static void *(*old_pcre_malloc)(size_t); static void (*old_pcre_free)(void *ptr); static ngx_pool_t *ngx_http_modsec_pcre_pool = NULL; static void * ngx_http_modsec_pcre_malloc(size_t size) { if (ngx_http_modsec_pcre_pool) { return ngx_palloc(ngx_http_modsec_pcre_pool, size); } fprintf(stderr, "error: modsec pcre malloc failed due to empty pcre pool"); return NULL; } static void ngx_http_modsec_pcre_free(void *ptr) { if (ngx_http_modsec_pcre_pool) { ngx_pfree(ngx_http_modsec_pcre_pool, ptr); return; } #if 0 /* this may happen when called from cleanup handlers */ fprintf(stderr, "error: modsec pcre free failed due to empty pcre pool"); #endif return; } ngx_pool_t * ngx_http_modsecurity_pcre_malloc_init(ngx_pool_t *pool) { ngx_pool_t *old_pool; if (pcre_malloc != ngx_http_modsec_pcre_malloc) { ngx_http_modsec_pcre_pool = pool; old_pcre_malloc = pcre_malloc; old_pcre_free = pcre_free; pcre_malloc = ngx_http_modsec_pcre_malloc; pcre_free = ngx_http_modsec_pcre_free; return NULL; } old_pool = ngx_http_modsec_pcre_pool; ngx_http_modsec_pcre_pool = pool; return old_pool; } void ngx_http_modsecurity_pcre_malloc_done(ngx_pool_t *old_pool) { ngx_http_modsec_pcre_pool = old_pool; if (old_pool == NULL) { pcre_malloc = old_pcre_malloc; pcre_free = old_pcre_free; } } #endif /* * ngx_string's are not null-terminated in common case, so we need to convert * them into null-terminated ones before passing to ModSecurity */ ngx_inline char *ngx_str_to_char(ngx_str_t a, ngx_pool_t *p) { char *str = NULL; if (a.len == 0) { return NULL; } str = ngx_pnalloc(p, a.len+1); if (str == NULL) { dd("failed to allocate memory to convert space ngx_string to C string"); /* We already returned NULL for an empty string, so return -1 here to indicate allocation error */ return (char *)-1; } ngx_memcpy(str, a.data, a.len); str[a.len] = '\0'; return str; } int ngx_http_modsecurity_process_intervention (Transaction *transaction, ngx_http_request_t *r, ngx_int_t early_log) { char *log = NULL; ModSecurityIntervention intervention; intervention.status = 200; intervention.url = NULL; intervention.log = NULL; intervention.disruptive = 0; ngx_http_modsecurity_ctx_t *ctx = NULL; dd("processing intervention"); ctx = ngx_http_modsecurity_get_module_ctx(r); if (ctx == NULL) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } if (msc_intervention(transaction, &intervention) == 0) { dd("nothing to do"); return 0; } log = intervention.log; if (intervention.log == NULL) { log = "(no log message was specified)"; } ngx_log_error(NGX_LOG_ERR, (ngx_log_t *)r->connection->log, 0, "%s", log); if (intervention.log != NULL) { free(intervention.log); } if (intervention.url != NULL) { dd("intervention -- redirecting to: %s with status code: %d", intervention.url, intervention.status); if (r->header_sent) { dd("Headers are already sent. Cannot perform the redirection at this point."); return -1; } /** * Not sure if it sane to do this indepent of the phase * but, here we go... * * This code cames from: http/ngx_http_special_response.c * function: ngx_http_send_error_page * src/http/ngx_http_core_module.c * From src/http/ngx_http_core_module.c (line 1910) i learnt * that location->hash should be set to 1. * */ ngx_http_clear_location(r); ngx_str_t a = ngx_string(""); a.data = (unsigned char *)intervention.url; a.len = strlen(intervention.url); ngx_table_elt_t *location = NULL; location = ngx_list_push(&r->headers_out.headers); ngx_str_set(&location->key, "Location"); location->value = a; r->headers_out.location = location; r->headers_out.location->hash = 1; #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_http_modsecurity_store_ctx_header(r, &location->key, &location->value); #endif return intervention.status; } if (intervention.status != 200) { /** * FIXME: this will bring proper response code to audit log in case * when e.g. error_page redirect was triggered, but there still won't be another * required pieces like response headers etc. * */ msc_update_status_code(ctx->modsec_transaction, intervention.status); if (early_log) { dd("intervention -- calling log handler manually with code: %d", intervention.status); ngx_http_modsecurity_log_handler(r); ctx->logged = 1; } if (r->header_sent) { dd("Headers are already sent. Cannot perform the redirection at this point."); return -1; } dd("intervention -- returning code: %d", intervention.status); return intervention.status; } return 0; } void ngx_http_modsecurity_cleanup(void *data) { ngx_http_modsecurity_ctx_t *ctx; ctx = (ngx_http_modsecurity_ctx_t *) data; msc_transaction_cleanup(ctx->modsec_transaction); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) /* * Purge stored context headers. Memory allocated for individual stored header * name/value pair will be freed automatically when r->pool is destroyed. */ ngx_array_destroy(ctx->sanity_headers_out); #endif } ngx_http_modsecurity_ctx_t * ngx_http_modsecurity_create_ctx(ngx_http_request_t *r) { ngx_str_t s; ngx_pool_cleanup_t *cln; ngx_http_modsecurity_ctx_t *ctx; ngx_http_modsecurity_conf_t *mcf; ngx_http_modsecurity_main_conf_t *mmcf; ctx = ngx_pcalloc(r->pool, sizeof(ngx_http_modsecurity_ctx_t)); if (ctx == NULL) { dd("failed to allocate memory for the context."); return NULL; } mmcf = ngx_http_get_module_main_conf(r, ngx_http_modsecurity_module); mcf = ngx_http_get_module_loc_conf(r, ngx_http_modsecurity_module); dd("creating transaction with the following rules: '%p' -- ms: '%p'", mcf->rules_set, mmcf->modsec); if (mcf->transaction_id) { if (ngx_http_complex_value(r, mcf->transaction_id, &s) != NGX_OK) { return NGX_CONF_ERROR; } ctx->modsec_transaction = msc_new_transaction_with_id(mmcf->modsec, mcf->rules_set, (char *) s.data, r->connection->log); } else { ctx->modsec_transaction = msc_new_transaction(mmcf->modsec, mcf->rules_set, r->connection->log); } dd("transaction created"); ngx_http_set_ctx(r, ctx, ngx_http_modsecurity_module); cln = ngx_pool_cleanup_add(r->pool, sizeof(ngx_http_modsecurity_ctx_t)); if (cln == NULL) { dd("failed to create the ModSecurity context cleanup"); return NGX_CONF_ERROR; } cln->handler = ngx_http_modsecurity_cleanup; cln->data = ctx; #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ctx->sanity_headers_out = ngx_array_create(r->pool, 12, sizeof(ngx_http_modsecurity_header_t)); if (ctx->sanity_headers_out == NULL) { return NGX_CONF_ERROR; } #endif return ctx; } ngx_inline ngx_http_modsecurity_ctx_t * ngx_http_modsecurity_get_module_ctx(ngx_http_request_t *r) { ngx_http_modsecurity_ctx_t *ctx; ctx = ngx_http_get_module_ctx(r, ngx_http_modsecurity_module); if (ctx == NULL) { /* * refer /src/http/modules/ngx_http_realip_module.c * if module context was reset, the original address * can still be found in the cleanup handler */ ngx_pool_cleanup_t *cln; for (cln = r->pool->cleanup; cln; cln = cln->next) { if (cln->handler == ngx_http_modsecurity_cleanup) { ctx = cln->data; break; } } } return ctx; } char * ngx_conf_set_rules(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { int res; char *rules; ngx_str_t *value; const char *error; ngx_pool_t *old_pool; ngx_http_modsecurity_conf_t *mcf = conf; ngx_http_modsecurity_main_conf_t *mmcf; value = cf->args->elts; rules = ngx_str_to_char(value[1], cf->pool); if (rules == (char *)-1) { return NGX_CONF_ERROR; } old_pool = ngx_http_modsecurity_pcre_malloc_init(cf->pool); res = msc_rules_add(mcf->rules_set, rules, &error); ngx_http_modsecurity_pcre_malloc_done(old_pool); if (res < 0) { dd("Failed to load the rules: '%s' - reason: '%s'", rules, error); return strdup(error); } mmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_modsecurity_module); mmcf->rules_inline += res; return NGX_CONF_OK; } char * ngx_conf_set_rules_file(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { int res; char *rules_set; ngx_str_t *value; const char *error; ngx_pool_t *old_pool; ngx_http_modsecurity_conf_t *mcf = conf; ngx_http_modsecurity_main_conf_t *mmcf; value = cf->args->elts; rules_set = ngx_str_to_char(value[1], cf->pool); if (rules_set == (char *)-1) { return NGX_CONF_ERROR; } old_pool = ngx_http_modsecurity_pcre_malloc_init(cf->pool); res = msc_rules_add_file(mcf->rules_set, rules_set, &error); ngx_http_modsecurity_pcre_malloc_done(old_pool); if (res < 0) { dd("Failed to load the rules from: '%s' - reason: '%s'", rules_set, error); return strdup(error); } mmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_modsecurity_module); mmcf->rules_file += res; return NGX_CONF_OK; } char * ngx_conf_set_rules_remote(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { int res; ngx_str_t *value; const char *error; const char *rules_remote_key, *rules_remote_server; ngx_pool_t *old_pool; ngx_http_modsecurity_conf_t *mcf = conf; ngx_http_modsecurity_main_conf_t *mmcf; value = cf->args->elts; rules_remote_key = ngx_str_to_char(value[1], cf->pool); rules_remote_server = ngx_str_to_char(value[2], cf->pool); if (rules_remote_server == (char *)-1) { return NGX_CONF_ERROR; } if (rules_remote_key == (char *)-1) { return NGX_CONF_ERROR; } old_pool = ngx_http_modsecurity_pcre_malloc_init(cf->pool); res = msc_rules_add_remote(mcf->rules_set, rules_remote_key, rules_remote_server, &error); ngx_http_modsecurity_pcre_malloc_done(old_pool); if (res < 0) { dd("Failed to load the rules from: '%s' - reason: '%s'", rules_remote_server, error); return strdup(error); } mmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_modsecurity_module); mmcf->rules_remote += res; return NGX_CONF_OK; } char *ngx_conf_set_transaction_id(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { ngx_str_t *value; ngx_http_complex_value_t cv; ngx_http_compile_complex_value_t ccv; ngx_http_modsecurity_conf_t *mcf = conf; value = cf->args->elts; ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t)); ccv.cf = cf; ccv.value = &value[1]; ccv.complex_value = &cv; ccv.zero = 1; if (ngx_http_compile_complex_value(&ccv) != NGX_OK) { return NGX_CONF_ERROR; } mcf->transaction_id = ngx_palloc(cf->pool, sizeof(ngx_http_complex_value_t)); if (mcf->transaction_id == NULL) { return NGX_CONF_ERROR; } *mcf->transaction_id = cv; return NGX_CONF_OK; } static ngx_command_t ngx_http_modsecurity_commands[] = { { ngx_string("modsecurity"), NGX_HTTP_LOC_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_MAIN_CONF|NGX_CONF_FLAG, ngx_conf_set_flag_slot, NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_modsecurity_conf_t, enable), NULL }, { ngx_string("modsecurity_rules"), NGX_HTTP_LOC_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1, ngx_conf_set_rules, NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_modsecurity_conf_t, enable), NULL }, { ngx_string("modsecurity_rules_file"), NGX_HTTP_LOC_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1, ngx_conf_set_rules_file, NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_modsecurity_conf_t, enable), NULL }, { ngx_string("modsecurity_rules_remote"), NGX_HTTP_LOC_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE2, ngx_conf_set_rules_remote, NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_modsecurity_conf_t, enable), NULL }, { ngx_string("modsecurity_transaction_id"), NGX_HTTP_LOC_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_MAIN_CONF|NGX_CONF_1MORE, ngx_conf_set_transaction_id, NGX_HTTP_LOC_CONF_OFFSET, 0, NULL }, ngx_null_command }; static ngx_http_module_t ngx_http_modsecurity_ctx = { NULL, /* preconfiguration */ ngx_http_modsecurity_init, /* postconfiguration */ ngx_http_modsecurity_create_main_conf, /* create main configuration */ ngx_http_modsecurity_init_main_conf, /* init main configuration */ NULL, /* create server configuration */ NULL, /* merge server configuration */ ngx_http_modsecurity_create_conf, /* create location configuration */ ngx_http_modsecurity_merge_conf /* merge location configuration */ }; ngx_module_t ngx_http_modsecurity_module = { NGX_MODULE_V1, &ngx_http_modsecurity_ctx, /* module context */ ngx_http_modsecurity_commands, /* module directives */ NGX_HTTP_MODULE, /* module type */ NULL, /* init master */ NULL, /* init module */ NULL, /* init process */ NULL, /* init thread */ NULL, /* exit thread */ NULL, /* exit process */ NULL, /* exit master */ NGX_MODULE_V1_PADDING }; static ngx_int_t ngx_http_modsecurity_init(ngx_conf_t *cf) { ngx_http_handler_pt *h_rewrite; ngx_http_handler_pt *h_preaccess; ngx_http_handler_pt *h_log; ngx_http_core_main_conf_t *cmcf; int rc = 0; cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); if (cmcf == NULL) { dd("We are not sure how this returns, NGINX doesn't seem to think it will ever be null"); return NGX_ERROR; } /** * * Seems like we cannot do this very same thing with * NGX_HTTP_FIND_CONFIG_PHASE. it does not seems to * be an array. Our next option is the REWRITE. * * TODO: check if we can hook prior to NGX_HTTP_REWRITE_PHASE phase. * */ h_rewrite = ngx_array_push(&cmcf->phases[NGX_HTTP_REWRITE_PHASE].handlers); if (h_rewrite == NULL) { dd("Not able to create a new NGX_HTTP_REWRITE_PHASE handle"); return NGX_ERROR; } *h_rewrite = ngx_http_modsecurity_rewrite_handler; /** * * Processing the request body on the preaccess phase. * * TODO: check if hook into separated phases is the best thing to do. * */ h_preaccess = ngx_array_push(&cmcf->phases[NGX_HTTP_PREACCESS_PHASE].handlers); if (h_preaccess == NULL) { dd("Not able to create a new NGX_HTTP_PREACCESS_PHASE handle"); return NGX_ERROR; } *h_preaccess = ngx_http_modsecurity_pre_access_handler; /** * Process the log phase. * * TODO: check if the log phase happens like it happens on Apache. * check if last phase will not hold the request. * */ h_log = ngx_array_push(&cmcf->phases[NGX_HTTP_LOG_PHASE].handlers); if (h_log == NULL) { dd("Not able to create a new NGX_HTTP_LOG_PHASE handle"); return NGX_ERROR; } *h_log = ngx_http_modsecurity_log_handler; rc = ngx_http_modsecurity_header_filter_init(); if (rc != NGX_OK) { return rc; } rc = ngx_http_modsecurity_body_filter_init(); if (rc != NGX_OK) { return rc; } return NGX_OK; } static void * ngx_http_modsecurity_create_main_conf(ngx_conf_t *cf) { ngx_pool_cleanup_t *cln; ngx_http_modsecurity_main_conf_t *conf; conf = (ngx_http_modsecurity_main_conf_t *) ngx_pcalloc(cf->pool, sizeof(ngx_http_modsecurity_main_conf_t)); if (conf == NULL) { return NGX_CONF_ERROR; } /* * set by ngx_pcalloc(): * * conf->modsec = NULL; * conf->pool = NULL; * conf->rules_inline = 0; * conf->rules_file = 0; * conf->rules_remote = 0; */ cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { return NGX_CONF_ERROR; } cln->handler = ngx_http_modsecurity_cleanup_instance; cln->data = conf; conf->pool = cf->pool; /* Create our ModSecurity instance */ conf->modsec = msc_init(); if (conf->modsec == NULL) { dd("failed to create the ModSecurity instance"); return NGX_CONF_ERROR; } /* Provide our connector information to LibModSecurity */ msc_set_connector_info(conf->modsec, MODSECURITY_NGINX_WHOAMI); msc_set_log_cb(conf->modsec, ngx_http_modsecurity_log); dd ("main conf created at: '%p', instance is: '%p'", conf, conf->modsec); return conf; } static char * ngx_http_modsecurity_init_main_conf(ngx_conf_t *cf, void *conf) { ngx_http_modsecurity_main_conf_t *mmcf; mmcf = (ngx_http_modsecurity_main_conf_t *) conf; ngx_log_error(NGX_LOG_NOTICE, cf->log, 0, "%s (rules loaded inline/local/remote: %ui/%ui/%ui)", MODSECURITY_NGINX_WHOAMI, mmcf->rules_inline, mmcf->rules_file, mmcf->rules_remote); ngx_log_error(NGX_LOG_NOTICE, cf->log, 0, "libmodsecurity3 version %s.%s.%s", MODSECURITY_MAJOR, MODSECURITY_MINOR, MODSECURITY_PATCHLEVEL); return NGX_CONF_OK; } static void * ngx_http_modsecurity_create_conf(ngx_conf_t *cf) { ngx_pool_cleanup_t *cln; ngx_http_modsecurity_conf_t *conf; conf = (ngx_http_modsecurity_conf_t *) ngx_pcalloc(cf->pool, sizeof(ngx_http_modsecurity_conf_t)); if (conf == NULL) { dd("Failed to allocate space for ModSecurity configuration"); return NGX_CONF_ERROR; } /* * set by ngx_pcalloc(): * * conf->enable = 0; * conf->sanity_checks_enabled = 0; * conf->rules_set = NULL; * conf->pool = NULL; * conf->transaction_id = NULL; */ conf->enable = NGX_CONF_UNSET; conf->rules_set = msc_create_rules_set(); conf->pool = cf->pool; conf->transaction_id = NGX_CONF_UNSET_PTR; #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) conf->sanity_checks_enabled = NGX_CONF_UNSET; #endif cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { dd("failed to create the ModSecurity configuration cleanup"); return NGX_CONF_ERROR; } cln->handler = ngx_http_modsecurity_cleanup_rules; cln->data = conf; dd ("conf created at: '%p'", conf); return conf; } static char * ngx_http_modsecurity_merge_conf(ngx_conf_t *cf, void *parent, void *child) { ngx_http_modsecurity_conf_t *p = parent; ngx_http_modsecurity_conf_t *c = child; #if defined(MODSECURITY_DDEBUG) && (MODSECURITY_DDEBUG) ngx_http_core_loc_conf_t *clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module); #endif int rules; const char *error = NULL; dd("merging loc config [%s] - parent: '%p' child: '%p'", ngx_str_to_char(clcf->name, cf->pool), parent, child); dd(" state - parent: '%d' child: '%d'", (int) c->enable, (int) p->enable); ngx_conf_merge_value(c->enable, p->enable, 0); ngx_conf_merge_ptr_value(c->transaction_id, p->transaction_id, NULL); #if defined(MODSECURITY_SANITY_CHECKS) && (MODSECURITY_SANITY_CHECKS) ngx_conf_merge_value(c->sanity_checks_enabled, p->sanity_checks_enabled, 0); #endif #if defined(MODSECURITY_DDEBUG) && (MODSECURITY_DDEBUG) dd("PARENT RULES"); msc_rules_dump(p->rules_set); dd("CHILD RULES"); msc_rules_dump(c->rules_set); #endif rules = msc_rules_merge(c->rules_set, p->rules_set, &error); if (rules < 0) { return strdup(error); } #if defined(MODSECURITY_DDEBUG) && (MODSECURITY_DDEBUG) dd("NEW CHILD RULES"); msc_rules_dump(c->rules_set); #endif return NGX_CONF_OK; } static void ngx_http_modsecurity_cleanup_instance(void *data) { ngx_pool_t *old_pool; ngx_http_modsecurity_main_conf_t *mmcf; mmcf = (ngx_http_modsecurity_main_conf_t *) data; dd("deleting a main conf -- instance is: \"%p\"", mmcf->modsec); old_pool = ngx_http_modsecurity_pcre_malloc_init(mmcf->pool); msc_cleanup(mmcf->modsec); ngx_http_modsecurity_pcre_malloc_done(old_pool); } static void ngx_http_modsecurity_cleanup_rules(void *data) { ngx_pool_t *old_pool; ngx_http_modsecurity_conf_t *mcf; mcf = (ngx_http_modsecurity_conf_t *) data; dd("deleting a loc conf -- RuleSet is: \"%p\"", mcf->rules_set); old_pool = ngx_http_modsecurity_pcre_malloc_init(mcf->pool); msc_rules_cleanup(mcf->rules_set); ngx_http_modsecurity_pcre_malloc_done(old_pool); } /* vi:set ft=c ts=4 sw=4 et fdm=marker: */ libnginx-mod-http-modsecurity-1.0.4/src/ngx_http_modsecurity_pre_access.c000066400000000000000000000157311520112027000270260ustar00rootroot00000000000000/* * ModSecurity connector for nginx, http://www.modsecurity.org/ * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) * * You may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * If any of the files related to licensing are missing or if you have any * other questions related to licensing please contact Trustwave Holdings, Inc. * directly using the email address security@modsecurity.org. * */ #include #ifndef MODSECURITY_DDEBUG #define MODSECURITY_DDEBUG 0 #endif #include "ddebug.h" #include "ngx_http_modsecurity_common.h" void ngx_http_modsecurity_request_read(ngx_http_request_t *r) { ngx_http_modsecurity_ctx_t *ctx; ctx = ngx_http_modsecurity_get_module_ctx(r); #if defined(nginx_version) && nginx_version >= 8011 r->main->count--; #endif if (ctx->waiting_more_body) { ctx->waiting_more_body = 0; r->write_event_handler = ngx_http_core_run_phases; ngx_http_core_run_phases(r); } } ngx_int_t ngx_http_modsecurity_pre_access_handler(ngx_http_request_t *r) { #if 1 ngx_pool_t *old_pool; ngx_http_modsecurity_ctx_t *ctx; ngx_http_modsecurity_conf_t *mcf; dd("catching a new _preaccess_ phase handler"); mcf = ngx_http_get_module_loc_conf(r, ngx_http_modsecurity_module); if (mcf == NULL || mcf->enable != 1) { dd("ModSecurity not enabled... returning"); return NGX_DECLINED; } /* * FIXME: * In order to perform some tests, let's accept everything. * if (r->method != NGX_HTTP_GET && r->method != NGX_HTTP_POST && r->method != NGX_HTTP_HEAD) { dd("ModSecurity is not ready to deal with anything different from " \ "POST, GET or HEAD"); return NGX_DECLINED; } */ ctx = ngx_http_modsecurity_get_module_ctx(r); dd("recovering ctx: %p", ctx); if (ctx == NULL) { dd("ctx is null; Nothing we can do, returning an error."); return NGX_HTTP_INTERNAL_SERVER_ERROR; } if (ctx->request_body_processed) { // should we use r->internal or r->filter_finalize? return NGX_DECLINED; } if (ctx->intervention_triggered) { return NGX_DECLINED; } if (ctx->waiting_more_body == 1) { dd("waiting for more data before proceed. / count: %d", r->main->count); return NGX_DONE; } if (ctx->body_requested == 0) { ngx_int_t rc = NGX_OK; ctx->body_requested = 1; dd("asking for the request body, if any. Count: %d", r->main->count); /** * TODO: Check if there is any benefit to use request_body_in_single_buf set to 1. * * saw some module using this request_body_in_single_buf * but not sure what exactly it does, same for the others options below. * * r->request_body_in_single_buf = 1; */ r->request_body_in_single_buf = 1; r->request_body_in_persistent_file = 1; if (!r->request_body_in_file_only) { // If the above condition fails, then the flag below will have been // set correctly elsewhere. We need to set the flag here for other // conditions (client_body_in_file_only not used but // client_body_buffer_size is) r->request_body_in_clean_file = 1; } rc = ngx_http_read_client_request_body(r, ngx_http_modsecurity_request_read); if (rc == NGX_ERROR || rc >= NGX_HTTP_SPECIAL_RESPONSE) { #if (nginx_version < 1002006) || \ (nginx_version >= 1003000 && nginx_version < 1003009) r->main->count--; #endif return rc; } if (rc == NGX_AGAIN) { dd("nginx is asking us to wait for more data."); ctx->waiting_more_body = 1; return NGX_DONE; } } if (ctx->waiting_more_body == 0) { int ret = 0; int already_inspected = 0; dd("request body is ready to be processed"); r->write_event_handler = ngx_http_core_run_phases; ngx_chain_t *chain = r->request_body->bufs; /** * TODO: Speed up the analysis by sending chunk while they arrive. * * Notice that we are waiting for the full request body to * start to process it, it may not be necessary. We may send * the chunks to ModSecurity while nginx keep calling this * function. */ if (r->request_body->temp_file != NULL) { ngx_str_t file_path = r->request_body->temp_file->file.name; const char *file_name = ngx_str_to_char(file_path, r->pool); if (file_name == (char*)-1) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } /* * Request body was saved to a file, probably we don't have a * copy of it in memory. */ dd("request body inspection: file -- %s", file_name); msc_request_body_from_file(ctx->modsec_transaction, file_name); already_inspected = 1; } else { dd("inspection request body in memory."); } while (chain && !already_inspected) { u_char *data = chain->buf->pos; msc_append_request_body(ctx->modsec_transaction, data, chain->buf->last - data); if (chain->buf->last_buf) { break; } chain = chain->next; /* XXX: chains are processed one-by-one, maybe worth to pass all chains and then call intervention() ? */ /** * ModSecurity may perform stream inspection on this buffer, * it may ask for a intervention in consequence of that. * */ ret = ngx_http_modsecurity_process_intervention(ctx->modsec_transaction, r, 0); if (ret > 0) { return ret; } } /** * At this point, all the request body was sent to ModSecurity * and we want to make sure that all the request body inspection * happened; consequently we have to check if ModSecurity have * returned any kind of intervention. */ /* XXX: once more -- is body can be modified ? content-length need to be adjusted ? */ old_pool = ngx_http_modsecurity_pcre_malloc_init(r->pool); msc_process_request_body(ctx->modsec_transaction); ctx->request_body_processed = 1; ngx_http_modsecurity_pcre_malloc_done(old_pool); ret = ngx_http_modsecurity_process_intervention(ctx->modsec_transaction, r, 0); if (r->error_page) { return NGX_DECLINED; } if (ret > 0) { return ret; } } dd("Nothing to add on the body inspection, reclaiming a NGX_DECLINED"); #endif return NGX_DECLINED; } libnginx-mod-http-modsecurity-1.0.4/src/ngx_http_modsecurity_rewrite.c000066400000000000000000000225031520112027000263730ustar00rootroot00000000000000/* * ModSecurity connector for nginx, http://www.modsecurity.org/ * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) * * You may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * If any of the files related to licensing are missing or if you have any * other questions related to licensing please contact Trustwave Holdings, Inc. * directly using the email address security@modsecurity.org. * */ #include #ifndef MODSECURITY_DDEBUG #define MODSECURITY_DDEBUG 0 #endif #include "ddebug.h" #include "ngx_http_modsecurity_common.h" ngx_int_t ngx_http_modsecurity_rewrite_handler(ngx_http_request_t *r) { ngx_pool_t *old_pool; ngx_http_modsecurity_ctx_t *ctx; ngx_http_modsecurity_conf_t *mcf; mcf = ngx_http_get_module_loc_conf(r, ngx_http_modsecurity_module); if (mcf == NULL || mcf->enable != 1) { dd("ModSecurity not enabled... returning"); return NGX_DECLINED; } /* if (r->method != NGX_HTTP_GET && r->method != NGX_HTTP_POST && r->method != NGX_HTTP_HEAD) { dd("ModSecurity is not ready to deal with anything different from " \ "POST, GET or HEAD"); return NGX_DECLINED; } */ dd("catching a new _rewrite_ phase handler"); ctx = ngx_http_modsecurity_get_module_ctx(r); dd("recovering ctx: %p", ctx); if (ctx == NULL) { int ret = 0; ngx_connection_t *connection = r->connection; /** * FIXME: We may want to use struct sockaddr instead of addr_text. * */ ngx_str_t addr_text = connection->addr_text; ctx = ngx_http_modsecurity_create_ctx(r); dd("ctx was NULL, creating new context: %p", ctx); if (ctx == NULL) { dd("ctx still null; Nothing we can do, returning an error."); return NGX_HTTP_INTERNAL_SERVER_ERROR; } /** * FIXME: Check if it is possible to hook on nginx on a earlier phase. * * At this point we are doing an late connection process. Maybe * we have to hook into NGX_HTTP_FIND_CONFIG_PHASE, it seems to be the * erliest phase that nginx allow us to attach those kind of hooks. * */ int client_port = ngx_inet_get_port(connection->sockaddr); int server_port = ngx_inet_get_port(connection->local_sockaddr); const char *client_addr = ngx_str_to_char(addr_text, r->pool); if (client_addr == (char*)-1) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } #if defined(MODSECURITY_CHECK_VERSION) #if MODSECURITY_VERSION_NUM >= 30130100 ngx_str_t hostname; hostname.len = 0; // first check if Nginx received a Host header and it's usable // (i.e. not empty) // if yes, we can use that if (r->headers_in.server.len > 0) { hostname.len = r->headers_in.server.len; hostname.data = r->headers_in.server.data; } else { // otherwise we try to use the server config, namely the // server_name $SERVER_NAME // directive // for eg. in default config, server_name is "_" // possible all requests without a Host header will be // handled by this server block ngx_http_core_srv_conf_t *cscf; cscf = ngx_http_get_module_srv_conf(r, ngx_http_core_module); if (cscf->server_name.len > 0) { hostname.len = cscf->server_name.len; hostname.data = cscf->server_name.data; } } if (hostname.len > 0) { const char *host_name = ngx_str_to_char(hostname, r->pool); if (host_name == (char*)-1 || host_name == NULL) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } else { // set the hostname in the transaction // this function is only available in ModSecurity 3.0.13 and later msc_set_request_hostname(ctx->modsec_transaction, (const unsigned char *)host_name); } } #endif #endif ngx_str_t s; u_char addr[NGX_SOCKADDR_STRLEN]; s.len = NGX_SOCKADDR_STRLEN; s.data = addr; if (ngx_connection_local_sockaddr(r->connection, &s, 0) != NGX_OK) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } const char *server_addr = ngx_str_to_char(s, r->pool); if (server_addr == (char*)-1) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } old_pool = ngx_http_modsecurity_pcre_malloc_init(r->pool); ret = msc_process_connection(ctx->modsec_transaction, client_addr, client_port, server_addr, server_port); ngx_http_modsecurity_pcre_malloc_done(old_pool); if (ret != 1){ dd("Was not able to extract connection information."); } /** * * FIXME: Check how we can finalize a request without crash nginx. * * I don't think nginx is expecting to finalize a request at that * point as it seems that it clean the ngx_http_request_t information * and try to use it later. * */ dd("Processing intervention with the connection information filled in"); ret = ngx_http_modsecurity_process_intervention(ctx->modsec_transaction, r, 1); if (ret > 0) { ctx->intervention_triggered = 1; return ret; } const char *http_version; switch (r->http_version) { case NGX_HTTP_VERSION_9 : http_version = "0.9"; break; case NGX_HTTP_VERSION_10 : http_version = "1.0"; break; case NGX_HTTP_VERSION_11 : http_version = "1.1"; break; #if defined(nginx_version) && nginx_version >= 1009005 case NGX_HTTP_VERSION_20 : http_version = "2.0"; break; #endif default : http_version = ngx_str_to_char(r->http_protocol, r->pool); if (http_version == (char*)-1) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } if ((http_version != NULL) && (strlen(http_version) > 5) && (!strncmp("HTTP/", http_version, 5))) { http_version += 5; } else { http_version = "1.0"; } break; } const char *n_uri = ngx_str_to_char(r->unparsed_uri, r->pool); const char *n_method = ngx_str_to_char(r->method_name, r->pool); if (n_uri == (char*)-1 || n_method == (char*)-1) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } if (n_uri == NULL) { dd("uri is of length zero"); return NGX_HTTP_INTERNAL_SERVER_ERROR; } old_pool = ngx_http_modsecurity_pcre_malloc_init(r->pool); msc_process_uri(ctx->modsec_transaction, n_uri, n_method, http_version); ngx_http_modsecurity_pcre_malloc_done(old_pool); dd("Processing intervention with the transaction information filled in (uri, method and version)"); ret = ngx_http_modsecurity_process_intervention(ctx->modsec_transaction, r, 1); if (ret > 0) { ctx->intervention_triggered = 1; return ret; } /** * Since incoming request headers are already in place, lets send it to ModSecurity * */ ngx_list_part_t *part = &r->headers_in.headers.part; ngx_table_elt_t *data = part->elts; ngx_uint_t i = 0; for (i = 0 ; /* void */ ; i++) { if (i >= part->nelts) { if (part->next == NULL) { break; } part = part->next; data = part->elts; i = 0; } /** * By using u_char (utf8_t) I believe nginx is hoping to deal * with utf8 strings. * Casting those into to unsigned char * in order to pass * it to ModSecurity, it will handle with those later. * */ dd("Adding request header: %.*s with value %.*s", (int)data[i].key.len, data[i].key.data, (int) data[i].value.len, data[i].value.data); msc_add_n_request_header(ctx->modsec_transaction, (const unsigned char *) data[i].key.data, data[i].key.len, (const unsigned char *) data[i].value.data, data[i].value.len); } /** * Since ModSecurity already knew about all headers, i guess it is safe * to process this information. */ old_pool = ngx_http_modsecurity_pcre_malloc_init(r->pool); msc_process_request_headers(ctx->modsec_transaction); ngx_http_modsecurity_pcre_malloc_done(old_pool); dd("Processing intervention with the request headers information filled in"); ret = ngx_http_modsecurity_process_intervention(ctx->modsec_transaction, r, 1); if (r->error_page) { return NGX_DECLINED; } if (ret > 0) { ctx->intervention_triggered = 1; return ret; } } return NGX_DECLINED; } libnginx-mod-http-modsecurity-1.0.4/tests/000077500000000000000000000000001520112027000205555ustar00rootroot00000000000000libnginx-mod-http-modsecurity-1.0.4/tests/README.md000066400000000000000000000005171520112027000220370ustar00rootroot00000000000000# Tests Those are nginx test files. You can copy those files into yours nginx test tree, to perform the tests using the "prove" utility. For more information about those tests, read the subsection "Testing your patch" on the project's README file. For more about nginx tests, check their repository: http://hg.nginx.org/nginx-tests/libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-config-auditlog.t000066400000000000000000000177421520112027000263750ustar00rootroot00000000000000#!/usr/bin/perl # # ModSecurity, http://www.modsecurity.org/ # Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) # # You may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # If any of the files related to licensing are missing or if you have any # other questions related to licensing please contact Trustwave Holdings, Inc. # directly using the email address security@modsecurity.org. # # Tests for ModSecurity module. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; modsecurity on; modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq whee" "id:10,phase:2" SecRule ARGS "@streq whee" "id:11,phase:2" '; location / { modsecurity_rules ' SecRule ARGS "@streq root" "id:21,phase:1,auditlog,status:302,redirect:http://www.modsecurity.org" SecDebugLog %%TESTDIR%%/auditlog-debug-root.txt SecDebugLogLevel 9 SecAuditEngine RelevantOnly SecAuditLogParts AB SecAuditLog %%TESTDIR%%/auditlog-root.txt SecAuditLogType Serial SecAuditLogStorageDir %%TESTDIR%%/ '; } location /subfolder1/subfolder2 { modsecurity_rules ' SecRule ARGS "@streq subfolder2" "id:41,phase:1,status:302,auditlog,redirect:http://www.modsecurity.org" SecRule ARGS "@streq subfolder1" "id:42,phase:1,status:302,auditlog,redirect:http://www.modsecurity.org" SecDebugLog %%TESTDIR%%/auditlog-debug-subfolder2.txt SecDebugLogLevel 9 SecAuditEngine RelevantOnly SecAuditLogParts AB SecResponseBodyAccess On SecAuditLog %%TESTDIR%%/auditlog-subfolder2.txt SecAuditLogType Serial SecAuditLogStorageDir %%TESTDIR%%/ '; } location /subfolder1 { modsecurity_rules ' SecRule ARGS "@streq subfolder1" "id:31,phase:1,status:302,auditlog,redirect:http://www.modsecurity.org" SecDebugLog %%TESTDIR%%/auditlog-debug-subfolder1.txt SecDebugLogLevel 9 SecAuditLogParts AB SecAuditEngine RelevantOnly SecAuditLog %%TESTDIR%%/auditlog-subfolder1.txt SecAuditLogType Serial SecAuditLogStorageDir %%TESTDIR%%/ '; } location /subfolder3/subfolder4 { modsecurity_rules ' SecResponseBodyAccess On SecRule ARGS "@streq subfolder4" "id:61,phase:1,status:302,auditlog,redirect:http://www.modsecurity.org" SecRule ARGS "@streq subfolder3" "id:62,phase:1,status:302,auditlog,redirect:http://www.modsecurity.org" SecRule ARGS "@streq subfolder4withE" "id:63,phase:1,ctl:auditLogParts=+E,auditlog" SecDebugLog %%TESTDIR%%/auditlog-debug-subfolder4.txt SecDebugLogLevel 9 SecAuditEngine RelevantOnly SecAuditLogParts AB SecAuditLog %%TESTDIR%%/auditlog-subfolder4.txt SecAuditLogType Serial SecAuditLogStorageDir %%TESTDIR%%/ '; } location /subfolder3 { modsecurity_rules ' SecRule ARGS "@streq subfolder3" "id:51,phase:1,status:302,auditlog,redirect:http://www.modsecurity.org" SecDebugLog %%TESTDIR%%/auditlog-debug-subfolder3.txt SecDebugLogLevel 9 SecAuditLogParts AB SecAuditEngine RelevantOnly SecAuditLog %%TESTDIR%%/auditlog-subfolder3.txt SecAuditLogType Serial SecAuditLogStorageDir %%TESTDIR%%/ '; } } } EOF $t->write_file("/index.html", "should be moved/blocked before this."); mkdir($t->testdir() . '/subfolder1'); $t->write_file("/subfolder1/index.html", "should be moved/blocked before this."); mkdir($t->testdir() . '/subfolder1/subfolder2'); $t->write_file("/subfolder1/subfolder2/index.html", "should be moved/blocked before this."); mkdir($t->testdir() . '/subfolder3'); $t->write_file("/subfolder3/index.html", "should be moved/blocked before this."); mkdir($t->testdir() . '/subfolder3/subfolder4'); $t->write_file("/subfolder3/subfolder4/index.html", "should be moved/blocked before this."); $t->run(); $t->plan(9); ############################################################################### my $d = $t->testdir(); my $r; # Performing requests at root $r = http_get('/index.html?what=root'); $r = http_get('/index.html?what=subfolder1'); $r = http_get('/index.html?what=subfolder2'); $r = http_get('/index.html?what=subfolder3'); $r = http_get('/index.html?what=subfolder4'); # Performing requests at subfolder1 $r = http_get('/subfolder1/index.html?what=root'); $r = http_get('/subfolder1/index.html?what=subfolder1'); $r = http_get('/subfolder1/index.html?what=subfolder2'); $r = http_get('/subfolder1/index.html?what=subfolder3'); $r = http_get('/subfolder1/index.html?what=subfolder4'); # Performing requests at subfolder2 $r = http_get('/subfolder1/subfolder2/index.html?what=root'); $r = http_get('/subfolder1/subfolder2/index.html?what=subfolder1'); $r = http_get('/subfolder1/subfolder2/index.html?what=subfolder2'); $r = http_get('/subfolder1/subfolder2/index.html?what=subfolder3'); $r = http_get('/subfolder1/subfolder2/index.html?what=subfolder4'); # Performing requests at subfolder3 $r = http_get('/subfolder3/index.html?what=root'); $r = http_get('/subfolder3/index.html?what=subfolder1'); $r = http_get('/subfolder3/index.html?what=subfolder2'); $r = http_get('/subfolder3/index.html?what=subfolder3'); $r = http_get('/subfolder3/index.html?what=subfolder4'); # Performing requests at subfolder4 $r = http_get('/subfolder3/subfolder4/index.html?what=root'); $r = http_get('/subfolder3/subfolder4/index.html?what=subfolder1'); $r = http_get('/subfolder3/subfolder4/index.html?what=subfolder2'); $r = http_get('/subfolder3/subfolder4/index.html?what=subfolder3'); $r = http_get('/subfolder3/subfolder4/index.html?what=subfolder4'); $r = http_get('/subfolder3/subfolder4/index.html?what=subfolder4withE'); my $root = do { local $/ = undef; open my $fh, "<", "$d/auditlog-root.txt" or die "could not open: $!"; <$fh>; }; my $subfolder1 = do { local $/ = undef; open my $fh, "<", "$d/auditlog-subfolder1.txt" or die "could not open: $!"; <$fh>; }; my $subfolder2 = do { local $/ = undef; open my $fh, "<", "$d/auditlog-subfolder2.txt" or die "could not open: $!"; <$fh>; }; my $subfolder3 = do { local $/ = undef; open my $fh, "<", "$d/auditlog-subfolder3.txt" or die "could not open: $!"; <$fh>; }; my $subfolder4 = do { local $/ = undef; open my $fh, "<", "$d/auditlog-subfolder4.txt" or die "could not open: $!"; <$fh>; }; like($root, qr/what=root/, 'root'); like($subfolder1, qr/what=subfolder1/, 'subfolder1'); like($subfolder2, qr/what=subfolder2/, 'subfolder2'); like($subfolder2, qr/what=subfolder1/, 'subfolder2 / subfolder1'); like($subfolder3, qr/what=subfolder3/, 'subfolder3'); like($subfolder4, qr/what=subfolder4/, 'subfolder4'); like($subfolder4, qr/what=subfolder3/, 'subfolder4 / subfolder3'); like($subfolder4, qr/what=subfolder4withE/, 'subfolder4'); like($subfolder4, qr/---E--/, 'subfolder4'); libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-config-custom-error-page.t000066400000000000000000000110561520112027000301300ustar00rootroot00000000000000#!/usr/bin/perl # # ModSecurity, http://www.modsecurity.org/ # Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) # # You may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # If any of the files related to licensing are missing or if you have any # other questions related to licensing please contact Trustwave Holdings, Inc. # directly using the email address security@modsecurity.org. # # Tests for ModSecurity module. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name s1; error_page 403 /403.html; location /403.html { root %%TESTDIR%%/http; internal; } location / { modsecurity on; modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq root" "id:10,phase:1,auditlog,status:403,deny" SecDebugLog %%TESTDIR%%/auditlog-debug-local.txt SecDebugLogLevel 9 SecAuditEngine RelevantOnly SecAuditLogParts ABIJDEFHZ SecAuditLog %%TESTDIR%%/auditlog-local.txt SecAuditLogType Serial SecAuditLogStorageDir %%TESTDIR%%/ '; } } server { listen 127.0.0.1:8080; server_name s2; modsecurity on; modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq root" "id:10,phase:1,auditlog,status:403,deny" SecDebugLog %%TESTDIR%%/auditlog-debug-global.txt SecDebugLogLevel 9 SecAuditEngine RelevantOnly SecAuditLogParts ABIJDEFHZ SecAuditLog %%TESTDIR%%/auditlog-global.txt SecAuditLogType Serial SecAuditLogStorageDir %%TESTDIR%%/ '; error_page 403 /403.html; location /403.html { modsecurity off; root %%TESTDIR%%/http; internal; } location / { } } } EOF my $index_txt = "This is the index page."; my $custom_txt = "This is a custom error page."; $t->write_file("/index.html", $index_txt); mkdir($t->testdir() . '/http'); $t->write_file("/http/403.html", $custom_txt); $t->run(); $t->plan(10); ############################################################################### my $d = $t->testdir(); my $t1; my $t2; my $t3; my $t4; # Performing requests to a server with ModSecurity enabled at location context $t1 = http_get_host('s1', '/index.html?what=root'); $t2 = http_get_host('s1', '/index.html?what=other'); # Performing requests to a server with ModSecurity enabled at server context $t3 = http_get_host('s2', '/index.html?what=root'); $t4 = http_get_host('s2', '/index.html?what=other'); my $local = do { local $/ = undef; open my $fh, "<", "$d/auditlog-local.txt" or die "could not open: $!"; <$fh>; }; my $global = do { local $/ = undef; open my $fh, "<", "$d/auditlog-global.txt" or die "could not open: $!"; <$fh>; }; like($t1, qr/$custom_txt/, 'ModSecurity at location / root'); like($t2, qr/$index_txt/, 'ModSecurity at location / other'); like($local, qr/what=root/, 'ModSecurity at location / root present in auditlog'); unlike($local, qr/what=other/, 'ModSecurity at location / other not present in auditlog'); like($t3, qr/$custom_txt/, 'ModSecurity at server / root'); like($t4, qr/$index_txt/, 'ModSecurity at server / other'); like($global, qr/what=root/, 'ModSecurity at server / root present in auditlog'); unlike($global, qr/what=other/, 'ModSecurity at server / other not present in auditlog'); like($local, qr/Access denied with code 403/, 'ModSecurity at location / 403 in auditlog'); like($global, qr/Access denied with code 403/, 'ModSecurity at server / 403 in auditlog'); ############################################################################### sub http_get_host { my ($host, $url) = @_; return http(<new()->has(qw/http/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; modsecurity on; modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq whee" "id:10,phase:2" SecRule ARGS "@streq whee" "id:11,phase:2" '; location / { modsecurity_rules ' SecRule ARGS "@streq root" "id:21,phase:1,status:302,redirect:http://www.modsecurity.org" SecDebugLog %%TESTDIR%%/debuglog-root.txt SecDebugLogLevel 9 '; } location /subfolder1 { modsecurity_rules ' SecRule ARGS "@streq subfolder1" "id:31,phase:1,status:302,redirect:http://www.modsecurity.org" SecDebugLog %%TESTDIR%%/debuglog-subfolder1.txt SecDebugLogLevel 9 '; location /subfolder1/subfolder2 { modsecurity_rules ' SecRule ARGS "@streq subfolder2" "id:41,phase:1,status:302,redirect:http://www.modsecurity.org" SecDebugLog %%TESTDIR%%/debuglog-subfolder2.txt SecDebugLogLevel 9 '; } } } } EOF $t->write_file("/index.html", "should be moved/blocked before this."); mkdir($t->testdir() . '/subfolder1'); $t->write_file("/subfolder1/index.html", "should be moved/blocked before this."); mkdir($t->testdir() . '/subfolder1/subfolder2'); $t->write_file("/subfolder1/subfolder2/index.html", "should be moved/blocked before this."); $t->run(); $t->plan(3); ############################################################################### my $d = $t->testdir(); my $r; # Performing requests at root $r = http_get('/index.html?what=root'); $r = http_get('/index.html?what=subfolder1'); $r = http_get('/index.html?what=subfolder2'); # Performing requests at subfolder1 $r = http_get('/subfolder1/index.html?what=root'); $r = http_get('/subfolder1/index.html?what=subfolder1'); $r = http_get('/subfolder1/index.html?what=subfolder2'); # Performing requests at subfolder2 $r = http_get('/subfolder1/subfolder2/index.html?what=root'); $r = http_get('/subfolder1/subfolder2/index.html?what=subfolder1'); $r = http_get('/subfolder1/subfolder2/index.html?what=subfolder2'); my $root = do { local $/ = undef; open my $fh, "<", "$d/debuglog-root.txt" or die "could not open: $!"; <$fh>; }; my $subfolder1 = do { local $/ = undef; open my $fh, "<", "$d/debuglog-subfolder1.txt" or die "could not open: $!"; <$fh>; }; my $subfolder2 = do { local $/ = undef; open my $fh, "<", "$d/debuglog-subfolder2.txt" or die "could not open: $!"; <$fh>; }; like($root, qr/"what", value "root"/, 'root'); like($subfolder1, qr/"what", value "subfolder1"/, 'subfolder1'); like($subfolder2, qr/"what", value "subfolder2"/, 'subfolder2'); libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-config-merge.t000066400000000000000000000135771520112027000256660ustar00rootroot00000000000000#!/usr/bin/perl # (C) Andrei Belov # Tests for ModSecurity-nginx connector (configuration merge). ############################################################################### use warnings; use strict; use Test::More; use Socket qw/ CRLF /; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http proxy/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% modsecurity on; modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On SecRequestBodyLimit 128 SecRequestBodyLimitAction Reject SecRule REQUEST_BODY "@rx BAD BODY" "id:11,phase:request,deny,log,status:403" '; server { listen 127.0.0.1:%%PORT_8080%%; server_name localhost; location / { proxy_pass http://127.0.0.1:%%PORT_8081%%; } location /modsec-disabled { modsecurity_rules ' SecRuleEngine Off '; proxy_pass http://127.0.0.1:%%PORT_8081%%; } location /nobodyaccess { modsecurity_rules ' SecRequestBodyAccess Off '; proxy_pass http://127.0.0.1:%%PORT_8081%%; } location /bodylimitprocesspartial { modsecurity_rules ' SecRequestBodyLimitAction ProcessPartial '; proxy_pass http://127.0.0.1:%%PORT_8081%%; } location /bodylimitincreased { modsecurity_rules ' SecRequestBodyLimit 512 '; proxy_pass http://127.0.0.1:%%PORT_8081%%; } location /server { modsecurity off; location /server/modsec-disabled { proxy_pass http://127.0.0.1:%%PORT_8082%%; } location /server/nobodyaccess { proxy_pass http://127.0.0.1:%%PORT_8083%%; } location /server/bodylimitprocesspartial { proxy_pass http://127.0.0.1:%%PORT_8084%%; } location /server/bodylimitincreased { proxy_pass http://127.0.0.1:%%PORT_8085%%; } } } server { listen 127.0.0.1:%%PORT_8082%%; modsecurity_rules ' SecRuleEngine Off '; location / { proxy_pass http://127.0.0.1:%%PORT_8081%%; } } server { listen 127.0.0.1:%%PORT_8083%%; modsecurity_rules ' SecRequestBodyAccess Off '; location / { proxy_pass http://127.0.0.1:%%PORT_8081%%; } } server { listen 127.0.0.1:%%PORT_8084%%; modsecurity_rules ' SecRequestBodyLimitAction ProcessPartial '; location / { proxy_pass http://127.0.0.1:%%PORT_8081%%; } } server { listen 127.0.0.1:%%PORT_8085%%; modsecurity_rules ' SecRequestBodyLimit 512 '; location / { proxy_pass http://127.0.0.1:%%PORT_8081%%; } } } EOF $t->run_daemon(\&http_daemon); $t->run()->waitforsocket('127.0.0.1:' . port(8081)); $t->plan(10); ############################################################################### like(http_get_body('/', 'GOOD BODY'), qr/TEST-OK-IF-YOU-SEE-THIS/, "http level defaults, pass"); like(http_get_body('/', 'VERY BAD BODY'), qr/^HTTP.*403/, "http level defaults, block"); like(http_get_body('/modsec-disabled', 'VERY BAD BODY'), qr/TEST-OK-IF-YOU-SEE-THIS/, "location override for SecRuleEngine, pass"); like(http_get_body('/nobodyaccess', 'VERY BAD BODY'), qr/TEST-OK-IF-YOU-SEE-THIS/, "location override for SecRequestBodyAccess, pass"); like(http_get_body('/bodylimitprocesspartial', 'BODY' x 33), qr/TEST-OK-IF-YOU-SEE-THIS/, "location override for SecRequestBodyLimitAction, pass"); like(http_get_body('/bodylimitincreased', 'BODY' x 64), qr/TEST-OK-IF-YOU-SEE-THIS/, "location override for SecRequestBodyLimit, pass"); like(http_get_body('/server/modsec-disabled', 'VERY BAD BODY'), qr/TEST-OK-IF-YOU-SEE-THIS/, "server override for SecRuleEngine, pass"); like(http_get_body('/server/nobodyaccess', 'VERY BAD BODY'), qr/TEST-OK-IF-YOU-SEE-THIS/, "server override for SecRequestBodyAccess, pass"); like(http_get_body('/server/bodylimitprocesspartial', 'BODY' x 33), qr/TEST-OK-IF-YOU-SEE-THIS/, "server override for SecRequestBodyLimitAction, pass"); like(http_get_body('/server/bodylimitincreased', 'BODY' x 64), qr/TEST-OK-IF-YOU-SEE-THIS/, "server override for SecRequestBodyLimit, pass"); ############################################################################### sub http_daemon { my $server = IO::Socket::INET->new( Proto => 'tcp', LocalHost => '127.0.0.1:' . port(8081), Listen => 5, Reuse => 1 ) or die "Can't create listening socket: $!\n"; local $SIG{PIPE} = 'IGNORE'; while (my $client = $server->accept()) { $client->autoflush(1); my $headers = ''; my $uri = ''; while (<$client>) { $headers .= $_; last if (/^\x0d?\x0a?$/); } $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i; print $client <<'EOF'; HTTP/1.1 200 OK Connection: close EOF print $client "TEST-OK-IF-YOU-SEE-THIS" unless $headers =~ /^HEAD/i; close $client; } } sub http_get_body { my $uri = shift; my $last = pop; return http( join '', (map { my $body = $_; "GET $uri HTTP/1.1" . CRLF . "Host: localhost" . CRLF . "Content-Length: " . (length $body) . CRLF . CRLF . $body } @_), "GET $uri HTTP/1.1" . CRLF . "Host: localhost" . CRLF . "Connection: close" . CRLF . "Content-Length: " . (length $last) . CRLF . CRLF . $last ); } ############################################################################### libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-config.t000066400000000000000000000072231520112027000245600ustar00rootroot00000000000000#!/usr/bin/perl # # ModSecurity, http://www.modsecurity.org/ # Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) # # You may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # If any of the files related to licensing are missing or if you have any # other questions related to licensing please contact Trustwave Holdings, Inc. # directly using the email address security@modsecurity.org. # # Tests for ModSecurity module. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; modsecurity on; modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq whee" "id:10,phase:2" SecRule ARGS "@streq whee" "id:11,phase:2" '; location / { modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq root" "id:21,phase:1,status:302,redirect:http://www.modsecurity.org" '; } location /subfolder1 { modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq subfolder1" "id:31,phase:1,status:302,redirect:http://www.modsecurity.org" '; location /subfolder1/subfolder2 { modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq subfolder2" "id:41,phase:1,status:302,redirect:http://www.modsecurity.org" '; } } } } EOF $t->write_file("/index.html", "should be moved/blocked before this."); mkdir($t->testdir() . '/subfolder1'); $t->write_file("/subfolder1/index.html", "should be moved/blocked before this."); mkdir($t->testdir() . '/subfolder1/subfolder2'); $t->write_file("/subfolder1/subfolder2/index.html", "should be moved/blocked before this."); $t->run(); $t->plan(9); ############################################################################### # Performing requests at root like(http_get('/index.html?what=root'), qr/^HTTP.*302/, 'redirect 302 - root'); like(http_get('/index.html?what=subfolder1'), qr/should be moved\/blocked before this./, 'nothing - requested subfolder1 at root'); like(http_get('/index.html?what=subfolder2'), qr/should be moved\/blocked before this./, 'nothing - requested subfolder2 at root'); # Performing requests at subfolder1 like(http_get('/subfolder1/index.html?what=root'), qr/should be moved\/blocked before this./, 'nothing - requested root at subfolder 1'); like(http_get('/subfolder1/index.html?what=subfolder1'), qr/^HTTP.*302/, 'redirect 302 - subfolder 1'); like(http_get('/subfolder1/index.html?what=subfolder2'), qr/should be moved\/blocked before this./, 'nothing - requested subfolder2 at subfolder1'); # Performing requests at subfolder2 like(http_get('/subfolder1/subfolder2/index.html?what=root'), qr/should be moved\/blocked before this./, 'nothing - requested root at subfolder 2'); like(http_get('/subfolder1/subfolder2/index.html?what=subfolder1'), qr/^HTTP.*302/, 'redirect 302 - subfolder 2'); like(http_get('/subfolder1/subfolder2/index.html?what=subfolder2'), qr/^HTTP.*302/, 'redirect 302 - subfolder 2'); libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-h2.t000066400000000000000000000155421520112027000236270ustar00rootroot00000000000000#!/usr/bin/perl # (C) Andrei Belov # Tests for ModSecurity module (HTTP/2). ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; use Test::Nginx::HTTP2; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http http_v2/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080 http2; server_name localhost; location / { modsecurity on; modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq whee" "id:10,phase:2" SecRule ARGS "@streq whee" "id:11,phase:2" '; } location /phase1 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:1,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:1,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:1,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:1,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; } location /phase2 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:2,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:2,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:2,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:2,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:2,status:403,block" '; } location /phase3 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:3,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:3,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:3,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:3,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:3,status:403,block" '; } location /phase4 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecResponseBodyAccess On SecDefaultAction "phase:4,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:4,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:4,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:4,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:4,status:403,block" '; } } } EOF $t->write_file("/phase1", "should be moved/blocked before this."); $t->write_file("/phase2", "should be moved/blocked before this."); $t->write_file("/phase3", "should be moved/blocked before this."); $t->write_file("/phase4", "should not be moved/blocked, headers delivered before phase 4."); $t->run(); $t->plan(20); ############################################################################### my ($phase, $s, $sid, $frames, $frame); # Redirect (302) for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=redirect302" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 302, "redirect 302 - phase ${phase}"); } SKIP: { skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/phase4?what=redirect302' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'redirect 302 - phase 4'); } # Redirect (301) for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=redirect301" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 301, "redirect 301 - phase ${phase}"); } SKIP: { skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/phase4?what=redirect301' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'redirect 301 - phase 4'); } # Block (401) for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=block401" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 401, "block 401 - phase ${phase}"); } SKIP: { skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/phase4?what=block401' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'block 401 - phase 4'); } # Block (403) for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=block403" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 403, "block 403 - phase ${phase}"); } SKIP: { skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/phase4?what=block403' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'block 403 - phase 4'); } # Nothing to detect for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=nothing" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame->{data}, "should be moved\/blocked before this.", "nothing phase ${phase}"); } $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase4?what=nothing" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame->{data}, "should not be moved\/blocked, headers delivered before phase 4.", 'nothing phase 4'); libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-proxy-h2.t000066400000000000000000000213611520112027000250020ustar00rootroot00000000000000#!/usr/bin/perl # (C) Andrei Belov # Tests for ModSecurity over the http proxy module (HTTP/2). ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; use Test::Nginx::HTTP2; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http http_v2 proxy/)->plan(23); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080 http2; server_name localhost; location / { proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } location /phase1 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:1,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:1,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:1,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:1,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } location /phase2 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:2,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:2,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:2,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:2,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:2,status:403,block" '; proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } location /phase3 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:3,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:3,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:3,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:3,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:3,status:403,block" '; proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } location /phase4 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecResponseBodyAccess On SecDefaultAction "phase:4,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:4,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:4,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:4,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:4,status:403,block" '; proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } } } EOF $t->run_daemon(\&http_daemon); $t->run()->waitforsocket('127.0.0.1:' . port(8081)); ############################################################################### my ($phase, $s, $sid, $frames, $frame); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/SEE-THIS/, "proxy request"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/multi' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/AND-THIS/, "proxy request with multiple packets"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/', method => 'HEAD' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; unlike($frame->{data}, qr/SEE-THIS/, "proxy head request"); # Redirect (302) for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=redirect302" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 302, "redirect 302 - phase ${phase}"); } SKIP: { skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/phase4?what=redirect302' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'redirect 302 - phase 4'); } # Redirect (301) for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=redirect301" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 301, "redirect 301 - phase ${phase}"); } SKIP: { skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/phase4?what=redirect301' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'redirect 301 - phase 4'); } # Block (401) for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=block401" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 401, "block 401 - phase ${phase}"); } SKIP: { skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/phase4?what=block401' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'block 401 - phase 4'); } # Block (403) for $phase (1 .. 3) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=block403" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 403, "block 403 - phase ${phase}"); } SKIP: { skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/phase4?what=block403' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; is($frame, undef, 'block 403 - phase 4'); } # Nothing to detect #like(http_get('/phase1?what=nothing'), qr/phase1\?what=nothing\' not found/, 'nothing phase 1'); #like(http_get('/phase2?what=nothing'), qr/phase2\?what=nothing\' not found/, 'nothing phase 2'); #like(http_get('/phase3?what=nothing'), qr/phase3\?what=nothing\' not found/, 'nothing phase 3'); #like(http_get('/phase4?what=nothing'), qr/phase4\?what=nothing\' not found/, 'nothing phase 4'); for $phase (1 .. 4) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => "/phase${phase}?what=nothing" }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/phase${phase}\?what=nothing\' not found/, "nothing phase ${phase}"); } ############################################################################### sub http_daemon { my $server = IO::Socket::INET->new( Proto => 'tcp', LocalHost => '127.0.0.1:' . port(8081), Listen => 5, Reuse => 1 ) or die "Can't create listening socket: $!\n"; local $SIG{PIPE} = 'IGNORE'; while (my $client = $server->accept()) { $client->autoflush(1); my $headers = ''; my $uri = ''; while (<$client>) { $headers .= $_; last if (/^\x0d?\x0a?$/); } $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i; if ($uri eq '/') { print $client <<'EOF'; HTTP/1.1 200 OK Connection: close EOF print $client "TEST-OK-IF-YOU-SEE-THIS" unless $headers =~ /^HEAD/i; } elsif ($uri eq '/multi') { print $client <<"EOF"; HTTP/1.1 200 OK Connection: close TEST-OK-IF-YOU-SEE-THIS EOF select undef, undef, undef, 0.1; print $client 'AND-THIS'; } else { print $client <<"EOF"; HTTP/1.1 404 Not Found Connection: close Oops, '$uri' not found EOF } close $client; } } ############################################################################### libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-proxy.t000066400000000000000000000151441520112027000244750ustar00rootroot00000000000000#!/usr/bin/perl # Tests for ModSecurity over the http proxy module. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http proxy/)->plan(23); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; location / { proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } location /phase1 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:1,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:1,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:1,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:1,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } location /phase2 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:2,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:2,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:2,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:2,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:2,status:403,block" '; proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } location /phase3 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:3,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:3,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:3,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:3,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:3,status:403,block" '; proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } location /phase4 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecResponseBodyAccess On SecDefaultAction "phase:4,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:4,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:4,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:4,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:4,status:403,block" '; proxy_pass http://127.0.0.1:8081; proxy_read_timeout 1s; } } } EOF $t->todo_alerts(); $t->run_daemon(\&http_daemon); $t->run()->waitforsocket('127.0.0.1:' . port(8081)); ############################################################################### like(http_get('/'), qr/SEE-THIS/, 'proxy request'); like(http_get('/multi'), qr/AND-THIS/, 'proxy request with multiple packets'); unlike(http_head('/'), qr/SEE-THIS/, 'proxy head request'); # Redirect (302) like(http_get('/phase1?what=redirect302'), qr/^HTTP.*302/, 'redirect 302 - phase 1'); like(http_get('/phase2?what=redirect302'), qr/^HTTP.*302/, 'redirect 302 - phase 2'); like(http_get('/phase3?what=redirect302'), qr/^HTTP.*302/, 'redirect 302 - phase 3'); is(http_get('/phase4?what=redirect302'), '', 'redirect 302 - phase 4'); # Redirect (301) like(http_get('/phase1?what=redirect301'), qr/^HTTP.*301/, 'redirect 301 - phase 1'); like(http_get('/phase2?what=redirect301'), qr/^HTTP.*301/, 'redirect 301 - phase 2'); like(http_get('/phase3?what=redirect301'), qr/^HTTP.*301/, 'redirect 301 - phase 3'); is(http_get('/phase4?what=redirect301'), '', 'redirect 301 - phase 4'); # Block (401) like(http_get('/phase1?what=block401'), qr/^HTTP.*401/, 'block 401 - phase 1'); like(http_get('/phase2?what=block401'), qr/^HTTP.*401/, 'block 401 - phase 2'); like(http_get('/phase3?what=block401'), qr/^HTTP.*401/, 'block 401 - phase 3'); is(http_get('/phase4?what=block401'), '', 'block 401 - phase 4'); # Block (403) like(http_get('/phase1?what=block403'), qr/^HTTP.*403/, 'block 403 - phase 1'); like(http_get('/phase2?what=block403'), qr/^HTTP.*403/, 'block 403 - phase 2'); like(http_get('/phase3?what=block403'), qr/^HTTP.*403/, 'block 403 - phase 3'); is(http_get('/phase4?what=block403'), '', 'block 403 - phase 4'); # Nothing to detect like(http_get('/phase1?what=nothing'), qr/phase1\?what=nothing\' not found/, 'nothing phase 1'); like(http_get('/phase2?what=nothing'), qr/phase2\?what=nothing\' not found/, 'nothing phase 2'); like(http_get('/phase3?what=nothing'), qr/phase3\?what=nothing\' not found/, 'nothing phase 3'); like(http_get('/phase4?what=nothing'), qr/phase4\?what=nothing\' not found/, 'nothing phase 4'); ############################################################################### sub http_daemon { my $server = IO::Socket::INET->new( Proto => 'tcp', LocalHost => '127.0.0.1:' . port(8081), Listen => 5, Reuse => 1 ) or die "Can't create listening socket: $!\n"; local $SIG{PIPE} = 'IGNORE'; while (my $client = $server->accept()) { $client->autoflush(1); my $headers = ''; my $uri = ''; while (<$client>) { $headers .= $_; last if (/^\x0d?\x0a?$/); } $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i; if ($uri eq '/') { print $client <<'EOF'; HTTP/1.1 200 OK Connection: close EOF print $client "TEST-OK-IF-YOU-SEE-THIS" unless $headers =~ /^HEAD/i; } elsif ($uri eq '/multi') { print $client <<"EOF"; HTTP/1.1 200 OK Connection: close TEST-OK-IF-YOU-SEE-THIS EOF select undef, undef, undef, 0.1; print $client 'AND-THIS'; } else { print $client <<"EOF"; HTTP/1.1 404 Not Found Connection: close Oops, '$uri' not found EOF } close $client; } } ############################################################################### libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-request-body-h2.t000066400000000000000000000175601520112027000262520ustar00rootroot00000000000000#!/usr/bin/perl # (C) Andrei Belov # Tests for ModSecurity-nginx connector (request body operations, HTTP/2). ############################################################################### use warnings; use strict; use Test::More; use Socket qw/ CRLF /; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; use Test::Nginx::HTTP2; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http http_v2 proxy auth_request/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8081; location / { return 200 "TEST-OK-IF-YOU-SEE-THIS"; } } server { listen 127.0.0.1:8080 http2; server_name localhost; modsecurity on; client_header_buffer_size 1024; location /bodyaccess { modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On SecRule REQUEST_BODY "@rx BAD BODY" "id:11,phase:request,deny,log,status:403" '; proxy_pass http://127.0.0.1:8081; } location /nobodyaccess { modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess Off SecRule REQUEST_BODY "@rx BAD BODY" "id:21,phase:request,deny,log,status:403" SecRule ARGS_POST|ARGS_POST_NAMES "@rx BAD ARG" "id:22,phase:request,deny,log,status:403" '; proxy_pass http://127.0.0.1:8081; } location /bodylimitreject { modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On SecRequestBodyLimit 128 SecRequestBodyLimitAction Reject SecRule REQUEST_BODY "@rx BAD BODY" "id:31,phase:request,deny,log,status:403" '; proxy_pass http://127.0.0.1:8081; } location /bodylimitprocesspartial { modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On SecRequestBodyLimit 128 SecRequestBodyLimitAction ProcessPartial SecRule REQUEST_BODY "@rx BAD BODY" "id:41,phase:request,deny,log,status:403" '; proxy_pass http://127.0.0.1:8081; } location = /auth { return 200; } location = /useauth { modsecurity on; modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On '; auth_request /auth; proxy_pass http://127.0.0.1:8081; } } } EOF $t->run(); $t->plan(36); ############################################################################### my ($s, $sid, $frames, $frame); foreach my $method (('GET', 'POST', 'PUT', 'DELETE')) { $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => $method, path => '/bodyaccess', 'body_more' => 1 }); $s->h2_body('GOOD BODY'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "${method} request body access on, pass"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => $method, path => '/bodyaccess', 'body_more' => 1 }); $s->h2_body('VERY BAD BODY'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 403, "${method} request body access on, block"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => $method, path => '/nobodyaccess', 'body_more' => 1 }); $s->h2_body('VERY BAD BODY'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "${method} request body access off, pass"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ 'body_more' => 1, headers => [ {name => ':method', value => "${method}" }, {name => ':scheme', value => 'http' }, {name => ':path', value => '/nobodyaccess' }, {name => 'host', value => 'localhost' }, {name => 'content-type', value => 'application/x-www-form-urlencoded' } ] }); $s->h2_body('test=VERY BAD BODY'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "${method} request body access off (ARGS_POST), pass"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => $method, path => '/bodylimitreject', 'body_more' => 1 }); $s->h2_body('BODY' x 32); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "${method} request body limit reject, pass"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => $method, path => '/bodylimitreject', 'body_more' => 1 }); $s->h2_body('BODY' x 33); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 403, "${method} request body limit reject, block"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => $method, path => '/bodylimitprocesspartial', 'body_more' => 1 }); $s->h2_body('BODY' x 32 . 'BAD BODY'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "${method} request body limit process partial, pass"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => $method, path => '/bodylimitprocesspartial', 'body_more' => 1 }); $s->h2_body('BODY' x 30 . 'BAD BODY' x 32); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 403, "${method} request body limit process partial, block"); } TODO: { # https://github.com/SpiderLabs/ModSecurity-nginx/issues/163 # https://github.com/nginx/nginx/commit/6c89d752c8ab3a3cc0832927484808b68153f8c4 local $TODO = 'not yet' unless $t->has_version('1.19.3'); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => 'POST', path => '/useauth', 'body' => 'BODY' x 16 }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "POST with auth_request (request size < client_header_buffer_size)"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => 'POST', path => '/useauth', 'body' => 'BODY' x 257 }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "POST with auth_request (request size > client_header_buffer_size)"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => 'POST', path => '/useauth', 'body_more' => 1 }); $s->h2_body('BODY' x 15, { 'body_more' => 1 }); select undef, undef, undef, 0.1; $s->h2_body('BODY'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "POST with auth_request (request size < client_header_buffer_size), no preread"); $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ method => 'POST', path => '/useauth', 'body_more' => 1 }); $s->h2_body('BODY' x 256, { 'body_more' => 1 }); select undef, undef, undef, 0.1; $s->h2_body('BODY'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "DATA" } @$frames; like($frame->{data}, qr/TEST-OK-IF-YOU-SEE-THIS/, "POST with auth_request (request size > client_header_buffer_size), no preread"); } ############################################################################### libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-request-body.t000066400000000000000000000167611520112027000257450ustar00rootroot00000000000000#!/usr/bin/perl # (C) Andrei Belov # Tests for ModSecurity-nginx connector (request body operations). ############################################################################### use warnings; use strict; use Test::More; use Socket qw/ CRLF /; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http proxy auth_request/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; modsecurity on; client_header_buffer_size 1024; location /bodyaccess { modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On SecRule REQUEST_BODY "@rx BAD BODY" "id:11,phase:request,deny,log,status:403" '; proxy_pass http://127.0.0.1:%%PORT_8081%%; } location /nobodyaccess { modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess Off SecRule REQUEST_BODY "@rx BAD BODY" "id:21,phase:request,deny,log,status:403" SecRule ARGS_POST|ARGS_POST_NAMES "@rx BAD ARG" "id:22,phase:request,deny,log,status:403" '; proxy_pass http://127.0.0.1:%%PORT_8081%%; } location /bodylimitreject { modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On SecRequestBodyLimit 128 SecRequestBodyLimitAction Reject SecRule REQUEST_BODY "@rx BAD BODY" "id:31,phase:request,deny,log,status:403" '; proxy_pass http://127.0.0.1:%%PORT_8081%%; } location /bodylimitrejectserver { modsecurity off; proxy_pass http://127.0.0.1:%%PORT_8082%%; } location /bodylimitprocesspartial { modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On SecRequestBodyLimit 128 SecRequestBodyLimitAction ProcessPartial SecRule REQUEST_BODY "@rx BAD BODY" "id:41,phase:request,deny,log,status:403" '; proxy_pass http://127.0.0.1:%%PORT_8081%%; } location = /auth { return 200; } location = /useauth { modsecurity on; modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On '; auth_request /auth; proxy_pass http://127.0.0.1:%%PORT_8081%%; } } server { listen 127.0.0.1:%%PORT_8082%%; modsecurity on; modsecurity_rules ' SecRuleEngine On SecRequestBodyAccess On SecRequestBodyLimit 128 SecRequestBodyLimitAction Reject SecRule REQUEST_BODY "@rx BAD BODY" "id:31,phase:request,deny,log,status:403" '; location / { proxy_pass http://127.0.0.1:%%PORT_8081%%; } } } EOF $t->run_daemon(\&http_daemon); $t->run()->waitforsocket('127.0.0.1:' . port(8081)); $t->plan(40); ############################################################################### foreach my $method (('GET', 'POST', 'PUT', 'DELETE')) { like(http_req_body($method, '/bodyaccess', 'GOOD BODY'), qr/TEST-OK-IF-YOU-SEE-THIS/, "$method request body access on, pass"); like(http_req_body($method, '/bodyaccess', 'VERY BAD BODY'), qr/^HTTP.*403/, "$method request body access on, block"); like(http_req_body($method, '/nobodyaccess', 'VERY BAD BODY'), qr/TEST-OK-IF-YOU-SEE-THIS/, "$method request body access off, pass"); like(http_req_body_postargs($method, '/nobodyaccess', 'BAD ARG'), qr/TEST-OK-IF-YOU-SEE-THIS/, "$method request body access off (ARGS_POST), pass"); like(http_req_body($method, '/bodylimitreject', 'BODY' x 32), qr/TEST-OK-IF-YOU-SEE-THIS/, "$method request body limit reject, pass"); like(http_req_body($method, '/bodylimitreject', 'BODY' x 33), qr/^HTTP.*403/, "$method request body limit reject, block"); like(http_req_body($method, '/bodylimitprocesspartial', 'BODY' x 32 . 'BAD BODY'), qr/TEST-OK-IF-YOU-SEE-THIS/, "$method request body limit process partial, pass"); like(http_req_body($method, '/bodylimitprocesspartial', 'BODY' x 30 . 'BAD BODY' x 32), qr/^HTTP.*403/, "$method request body limit process partial, block"); } like(http_req_body('POST', '/useauth', 'BODY' x 16), qr/TEST-OK-IF-YOU-SEE-THIS/, "POST with auth_request (request size < client_header_buffer_size)"); like(http_req_body('POST', '/useauth', 'BODY' x 257), qr/TEST-OK-IF-YOU-SEE-THIS/, "POST with auth_request (request size > client_header_buffer_size)"); like( http( 'POST /useauth HTTP/1.0' . CRLF . 'Content-Length: 1028' . CRLF . CRLF . 'BODY' x 256, sleep => 0.1, body => 'BODY' ), qr/TEST-OK-IF-YOU-SEE-THIS/, 'POST with auth_request (request size > client_header_buffer_size), no preread' ); like( http( 'POST /useauth HTTP/1.0' . CRLF . 'Content-Length: 64' . CRLF . CRLF . 'BODY' x 15, sleep => 0.1, body => 'BODY' ), qr/TEST-OK-IF-YOU-SEE-THIS/, 'POST with auth_request (request size < client_header_buffer_size), no preread' ); foreach my $method (('GET', 'POST', 'PUT', 'DELETE')) { like(http_req_body($method, '/bodylimitrejectserver', 'BODY' x 33), qr/^HTTP.*403/, "$method request body limit reject, block (inherited SecRequestBodyLimit)"); } ############################################################################### sub http_daemon { my $server = IO::Socket::INET->new( Proto => 'tcp', LocalHost => '127.0.0.1:' . port(8081), Listen => 5, Reuse => 1 ) or die "Can't create listening socket: $!\n"; local $SIG{PIPE} = 'IGNORE'; while (my $client = $server->accept()) { $client->autoflush(1); my $headers = ''; my $uri = ''; while (<$client>) { $headers .= $_; last if (/^\x0d?\x0a?$/); } $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i; print $client <<'EOF'; HTTP/1.1 200 OK Connection: close EOF print $client "TEST-OK-IF-YOU-SEE-THIS" unless $headers =~ /^HEAD/i; close $client; } } sub http_req_body { my $method = shift; my $uri = shift; my $last = pop; return http( join '', (map { my $body = $_; "$method $uri HTTP/1.1" . CRLF . "Host: localhost" . CRLF . "Content-Length: " . (length $body) . CRLF . CRLF . $body } @_), "$method $uri HTTP/1.1" . CRLF . "Host: localhost" . CRLF . "Connection: close" . CRLF . "Content-Length: " . (length $last) . CRLF . CRLF . $last ); } sub http_req_body_postargs { my $method = shift; my $uri = shift; my $last = pop; return http( join '', (map { my $body = $_; "$method $uri HTTP/1.1" . CRLF . "Host: localhost" . CRLF . "Content-Type: application/x-www-form-urlencoded" . CRLF . "Content-Length: " . (length "test=" . $body) . CRLF . CRLF . "test=" . $body } @_), "$method $uri HTTP/1.1" . CRLF . "Host: localhost" . CRLF . "Connection: close" . CRLF . "Content-Type: application/x-www-form-urlencoded" . CRLF . "Content-Length: " . (length "test=" . $last) . CRLF . CRLF . "test=" . $last ); } ############################################################################### libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-response-body.t000066400000000000000000000024551520112027000261060ustar00rootroot00000000000000#!/usr/bin/perl # (C) Andrei Belov # Tests for ModSecurity-nginx connector (response body operations). ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; modsecurity on; location /body1 { default_type text/plain; modsecurity_rules ' SecRuleEngine On SecResponseBodyAccess On SecResponseBodyLimit 128 SecRule RESPONSE_BODY "@rx BAD BODY" "id:11,phase:response,deny,log,status:403" '; } } } EOF $t->write_file("/body1", "BAD BODY"); $t->run(); $t->todo_alerts(); $t->plan(1); ############################################################################### TODO: { local $TODO = 'not yet'; like(http_get('/body1'), qr/^HTTP.*403/, 'response body (block)'); } libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-scoring.t000066400000000000000000000044331520112027000247570ustar00rootroot00000000000000#!/usr/bin/perl # (C) Andrei Belov # Tests for ModSecurity-nginx connector (scoring). ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; modsecurity on; location /absolute { modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq badarg1" "id:11,phase:2,setvar:tx.score=1" SecRule ARGS "@streq badarg2" "id:12,phase:2,setvar:tx.score=2" SecRule TX:SCORE "@ge 2" "id:199,phase:request,deny,log,status:403" '; } location /iterative { modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq badarg1" "id:21,phase:2,setvar:tx.score=+1" SecRule ARGS "@streq badarg2" "id:22,phase:2,setvar:tx.score=+1" SecRule ARGS "@streq badarg3" "id:23,phase:2,setvar:tx.score=+1" SecRule TX:SCORE "@ge 3" "id:299,phase:request,deny,log,status:403" '; } } } EOF $t->write_file("/absolute", "should be moved/blocked before this."); $t->write_file("/iterative", "should be moved/blocked before this."); $t->run(); $t->plan(5); ############################################################################### like(http_get('/absolute?what=badarg1'), qr/should be moved\/blocked before this./, 'absolute scoring 1 (pass)'); like(http_get('/absolute?what=badarg2'), qr/^HTTP.*403/, 'absolute scoring 2 (block)'); like(http_get('/iterative?arg1=badarg1'), qr/should be moved\/blocked before this./, 'iterative scoring 1 (pass)'); like(http_get('/iterative?arg1=badarg1&arg2=badarg2'), qr/should be moved\/blocked before this./, 'iterative scoring 2 (pass)'); like(http_get('/iterative?arg1=badarg1&arg2=badarg2&arg3=badarg3'), qr/^HTTP.*403/, 'iterative scoring 3 (block)'); libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity-transaction-id.t000066400000000000000000000102421520112027000262250ustar00rootroot00000000000000#!/usr/bin/perl # (C) Andrei Belov # Tests for ModSecurity-nginx connector (modsecurity_transaction_id). ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->plan(5)->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% modsecurity_transaction_id "tid-HTTP-DEFAULT-$request_id"; server { listen 127.0.0.1:8080; server_name server1; location / { error_log %%TESTDIR%%/e_s1l1.log info; modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:1,log,deny,status:403" SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; } } server { listen 127.0.0.1:8080; server_name server2; modsecurity_transaction_id "tid-SERVER-DEFAULT-$request_id"; location / { error_log %%TESTDIR%%/e_s2l1.log info; modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:1,log,deny,status:403" SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; } location /specific { error_log %%TESTDIR%%/e_s2l2.log info; modsecurity on; modsecurity_transaction_id "tid-LOCATION-SPECIFIC-$request_id"; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:1,log,deny,status:403" SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; } location /debuglog { modsecurity on; modsecurity_transaction_id "tid-DEBUG-$request_id"; modsecurity_rules ' SecRuleEngine On SecDebugLog %%TESTDIR%%/modsec_debug.log SecDebugLogLevel 4 SecDefaultAction "phase:1,log,deny,status:403" SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; } location /auditlog { modsecurity on; modsecurity_transaction_id "tid-AUDIT-$request_id"; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:1,log,deny,status:403" SecAuditEngine On SecAuditLogParts A SecAuditLog %%TESTDIR%%/modsec_audit.log SecAuditLogType Serial SecAuditLogStorageDir %%TESTDIR%%/ SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; } } } EOF $t->run(); ############################################################################### # charge limit_req http(<testdir() . '/' . $file; open my $fh, '<', $path or return "$!"; my $value = map { $_ =~ /\Q$pattern\E/ } (<$fh>); close $fh; return $value; } ############################################################################### libnginx-mod-http-modsecurity-1.0.4/tests/modsecurity.t000066400000000000000000000162511520112027000233160ustar00rootroot00000000000000#!/usr/bin/perl # # ModSecurity, http://www.modsecurity.org/ # Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) # # You may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # If any of the files related to licensing are missing or if you have any # other questions related to licensing please contact Trustwave Holdings, Inc. # directly using the email address security@modsecurity.org. # # Tests for ModSecurity module. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http/); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { } http { %%TEST_GLOBALS_HTTP%% server { listen 127.0.0.1:8080; server_name localhost; location / { modsecurity on; modsecurity_rules ' SecRuleEngine On SecRule ARGS "@streq whee" "id:10,phase:2" SecRule ARGS "@streq whee" "id:11,phase:2" '; } location /phase1 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:1,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:1,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:1,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:1,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:1,status:403,block" '; } location /phase2 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:2,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:2,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:2,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:2,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:2,status:403,block" '; } location /phase3 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecDefaultAction "phase:3,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:3,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:3,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:3,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:3,status:403,block" '; } location /phase4 { modsecurity on; modsecurity_rules ' SecRuleEngine On SecResponseBodyAccess On SecDefaultAction "phase:4,log,deny,status:403" SecRule ARGS "@streq redirect301" "id:1,phase:4,status:301,redirect:http://www.modsecurity.org" SecRule ARGS "@streq redirect302" "id:2,phase:4,status:302,redirect:http://www.modsecurity.org" SecRule ARGS "@streq block401" "id:3,phase:4,status:401,block" SecRule ARGS "@streq block403" "id:4,phase:4,status:403,block" '; } location /early-block { modsecurity on; modsecurity_rules ' SecRuleEngine On SecResponseBodyAccess On SecDefaultAction "phase:1,log,auditlog,pass" SecDefaultAction "phase:2,log,auditlog,pass" SecAction "id:900101,phase:1,nolog,pass,t:none,setvar:tx.trigger_phase1=1" SecAction "id:900103,phase:1,nolog,pass,t:none,setvar:tx.trigger_phase3=1" SecAction "id:900105,phase:1,nolog,pass,t:none,setvar:tx.trigger_phase5=1" SecRule TX:TRIGGER_PHASE1 "@eq 1" "id:901111,phase:1,t:none,deny,log" SecRule REQUEST_BODY "@rx attack" "id:901121,phase:2,t:none,deny,log" SecRule TX:TRIGGER_PHASE3 "@eq 1" "id:901131,phase:3,t:none,deny,log" SecRule RESPONSE_BODY "@rx ok" "id:901141,phase:4,t:none,deny,log" SecRule TX:TRIGGER_PHASE5 "@eq 1" "id:901151,phase:5,t:none,pass,log,msg:\'This is the phase 5.\'" '; } } } EOF $t->write_file("/phase1", "should be moved/blocked before this."); $t->write_file("/phase2", "should be moved/blocked before this."); $t->write_file("/phase3", "should be moved/blocked before this."); $t->write_file("/phase4", "should not be moved/blocked, headers delivered before phase 4."); $t->write_file("/early-block", "should be moved/blocked before this."); $t->run(); $t->todo_alerts(); $t->plan(21); ############################################################################### # Redirect (302) like(http_get('/phase1?what=redirect302'), qr/^HTTP.*302/, 'redirect 302 - phase 1'); like(http_get('/phase2?what=redirect302'), qr/^HTTP.*302/, 'redirect 302 - phase 2'); like(http_get('/phase3?what=redirect302'), qr/^HTTP.*302/, 'redirect 302 - phase 3'); is(http_get('/phase4?what=redirect302'), '', 'redirect 302 - phase 4'); # Redirect (301) like(http_get('/phase1?what=redirect301'), qr/^HTTP.*301/, 'redirect 301 - phase 1'); like(http_get('/phase2?what=redirect301'), qr/^HTTP.*301/, 'redirect 301 - phase 2'); like(http_get('/phase3?what=redirect301'), qr/^HTTP.*301/, 'redirect 301 - phase 3'); is(http_get('/phase4?what=redirect301'), '', 'redirect 301 - phase 4'); # Block (401) like(http_get('/phase1?what=block401'), qr/^HTTP.*401/, 'block 401 - phase 1'); like(http_get('/phase2?what=block401'), qr/^HTTP.*401/, 'block 401 - phase 2'); like(http_get('/phase3?what=block401'), qr/^HTTP.*401/, 'block 401 - phase 3'); is(http_get('/phase4?what=block401'), '', 'block 401 - phase 4'); # Block (403) like(http_get('/phase1?what=block403'), qr/^HTTP.*403/, 'block 403 - phase 1'); like(http_get('/phase2?what=block403'), qr/^HTTP.*403/, 'block 403 - phase 2'); like(http_get('/phase3?what=block403'), qr/^HTTP.*403/, 'block 403 - phase 3'); is(http_get('/phase4?what=block403'), '', 'block 403 - phase 4'); # Nothing to detect like(http_get('/phase1?what=nothing'), qr/should be moved\/blocked before this./, 'nothing phase 1'); like(http_get('/phase2?what=nothing'), qr/should be moved\/blocked before this./, 'nothing phase 2'); like(http_get('/phase3?what=nothing'), qr/should be moved\/blocked before this./, 'nothing phase 3'); like(http_get('/phase4?what=nothing'), qr/should not be moved\/blocked, headers delivered before phase 4./, 'nothing phase 4'); # early block (https://github.com/SpiderLabs/ModSecurity-nginx/issues/238) like(http_get('/early-block'), qr/^HTTP.*403/, 'early block 403 (https://github.com/SpiderLabs/ModSecurity-nginx/issues/238)'); libnginx-mod-http-modsecurity-1.0.4/tests/nginx-tests-cvt.pl000066400000000000000000000017431520112027000241740ustar00rootroot00000000000000#!/usr/bin/perl # # Script to adjust nginx tests to include ModSecurity directives. It enables # us to passively test nginx functionality with ModSecurity module enabled. # # sh command line variations: # # for i in *.t; do cp -n $i $i.orig; perl nginx-tests-cvt.pl < $i.orig > $i; done # for i in *.t; do perl nginx-tests-cvt.pl < $i.orig > $i; done # for i in *.t; do cp $i.orig $i; done my $ignore = 0; while () { print $_; $ignore = 1 if (/^mail {/); # skip mail_*.t mail blocks $ignore = 0 if (/^http {/); next if ($ignore); if (/^ *server_name .*;$/) { next if (/^ *server_name *below;/); # skip duplication on refresh.t next if (/^ *server_name *many4.example.com;/); # skip duplication on http_server_name.t print " modsecurity on; modsecurity_rules ' SecRuleEngine On SecDebugLogLevel 9 SecRule ARGS \"\@streq whee\" \"id:10,phase:2\" SecRule ARGS \"\@streq whee\" \"id:11,phase:2\" '; "; } } libnginx-mod-http-modsecurity-1.0.4/win32/000077500000000000000000000000001520112027000203555ustar00rootroot00000000000000libnginx-mod-http-modsecurity-1.0.4/win32/README.md000066400000000000000000000174601520112027000216440ustar00rootroot00000000000000# ModSecurity-nginx Windows build information ## Contents - [References](#references) - [Prerequisites](#prerequisites) - [Build](#build) - [Docker container](#docker-container) - [Tests](#tests) - [Miscellaneous](#miscellaneous) ## References * [Building nginx on the Win32 platform with Visual C](https://nginx.org/en/docs/howto_build_on_win32.html) * [libModSecurity Windows build information](https://github.com/owasp-modsecurity/ModSecurity/blob/v3/master/build/win32/README.md) * [ModSecurity-nginx - Compilation](https://github.com/owasp-modsecurity/ModSecurity-nginx#compilation) ## Prerequisites * [Build Tools for Visual Studio 2022](https://aka.ms/vs/17/release/vs_buildtools.exe) * Install *Desktop development with C++* workload, which includes: * MSVC C++ compiler * Windows SDK * CMake * NOTE: The build steps assume this has been installed in `C:\BuildTools`. * [MSYS2](https://www.msys2.org/) * For nginx build on Windows * NOTE: The build steps assume this has been installed in `C:\msys64`. * [Conan package manager 2.2.2](https://github.com/conan-io/conan/releases/download/2.2.2/conan-2.2.2-windows-x86_64-installer.exe) * Required to build libModSecurity v3 on Windows. * Install and then setup the default Conan profile to use the MSVC C++ compiler: 1. Open a command-prompt and set the MSVC C++ compiler environment by executing: `C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat` 2. Execute: `conan profile detect --force` * [Git for Windows 2.44.0](https://github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/Git-2.44.0-64-bit.exe) * [Strawberry Perl for Windows](https://strawberryperl.com/) * nginx build on Windows requires a native Perl build. The one included in MSYS2 triggers the following error: ``` This perl implementation doesn't produce Windows like paths (with backward slash directory separators). Please use an implementation that matches your building platform. ``` * NOTE: The build steps assume this has been installed in `C:\Strawberry\perl`. ## Build 1. Open a command prompt 2. Set up MSVC C++ compiler environment by executing: ```shell C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat ``` 3. From this command prompt, launch a `MSYS2 UCRT64 Shell` (to inherit MSVC C++ compiler environment) ```shell c:\msys64\ucrt64.exe ``` 4. Checkout nginx source code ```shell git clone -c advice.detachedHead=false --depth 1 https://github.com/nginx/nginx.git cd nginx ``` 5. Download third-party libraries ```shell mkdir objs mkdir objs/lib cd objs/lib echo Downloading PCRE2 wget -q -O - https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz | tar -xzf - echo Downloading zlib wget -q -O - https://www.zlib.net/fossils/zlib-1.3.tar.gz | tar -xzf - echo Downloading OpenSSL wget -q -O - https://www.openssl.org/source/openssl-3.0.13.tar.gz | tar -xzf - ``` 6. Checkout and build libModSecurity v3 * For more information on libModSecurity v3 build options, see [libModSecurity Windows build information](https://github.com/owasp-modsecurity/ModSecurity/blob/v3/master/build/win32/README.md). ```shell git clone -c advice.detachedHead=false --depth 1 https://github.com/owasp-modsecurity/ModSecurity.git cd ModSecurity git submodule init git submodule update vcbuild.bat cd .. ``` 7. Checkout ModSecurity-nginx ```shell git clone -c advice.detachedHead=false --depth 1 https://github.com/owasp-modsecurity/ModSecurity-nginx.git cd ../.. ``` 8. Setup environment variables for nginx build ```shell # remove (or move) /usr/bin/link conflicting with MSVC link.exe rm /usr/bin/link # nginx build on windows requires a native perl build (see prerequisites) export PATH=/c/Strawberry/perl/bin:$PATH # avoid perl 'Setting locale failed.' warnings export LC_ALL=C # provide location of libModsecurity headers & libraries for # the ModSecurity-nginx module build export MODSECURITY_INC=objs/lib/ModSecurity/headers export MODSECURITY_LIB=objs/lib/ModSecurity/build/win32/build/Release ``` 9. Configure nginx build ```shell auto/configure \ --with-cc=cl \ --with-debug \ --prefix= \ --conf-path=conf/nginx.conf \ --pid-path=logs/nginx.pid \ --http-log-path=logs/access.log \ --error-log-path=logs/error.log \ --sbin-path=nginx.exe \ --http-client-body-temp-path=temp/client_body_temp \ --http-proxy-temp-path=temp/proxy_temp \ --http-fastcgi-temp-path=temp/fastcgi_temp \ --http-scgi-temp-path=temp/scgi_temp \ --http-uwsgi-temp-path=temp/uwsgi_temp \ --with-cc-opt=-DFD_SETSIZE=1024 \ --with-pcre=objs/lib/pcre2-10.39 \ --with-zlib=objs/lib/zlib-1.3 \ --with-openssl=objs/lib/openssl-3.0.13 \ --with-openssl-opt=no-asm \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_auth_request_module \ --add-module=objs/lib/ModSecurity-nginx ``` 10. Build nginx ```shell nmake ``` ### Docker container A `Dockerfile` configuration file is provided in the `docker` subdir that creates a Windows container image which installs the [prerequisites](#prerequisites) and builds libModSecurity v3 and nginx w/ModSecurity-nginx. NOTE: Windows containers are supported in Docker Desktop for Windows, using the *Switch to Windows containers...* option on the context menu of the system tray icon. To build the docker image, execute the following command (from the `win32\docker` directory): * `docker build -t modsecurity_nginx:latest -m 4GB .` Once the image is generated, the built binaries are located in the `C:\src\nginx\objs` directory. To extract the built binaries from the image, you can execute the following commands: * `docker container create --name [container_name] modsecurity_nginx` * `docker cp [container_name]:C:\src\nginx\objs\nginx.exe .` * `docker cp [container_name]:C:\src\nginx\objs\libModSecurity.dll .` Additionally, the image can be used interactively for additional development work by executing: * `docker run -it modsecurity_nginx` ## Tests In order to validate the nginx w/ModSecurity-nginx binary it's recommended that you set up and run ModSecurity-nginx tests following these steps: 1. Open a command prompt and go to the directory where `nginx` was built. 2. Clone nginx-tests ```shell git clone -c advice.detachedHead=false --depth 1 https://github.com/nginx/nginx-tests.git test ``` 3. Copy `libModSecurity.dll` to the directory where `nginx.exe` is located. ```shell cd objs copy objs\lib\ModSecurity\build\win32\Release\build\libModSecurity.dll ``` 4. Copy ModSecurity-nginx tests to the nginx tests directory. ```shell cd ..\test copy ..\objs\lib\ModSecurity-nginx\tests\*.* ``` 5. Run ModSecurity-nginx tests ```shell set TEST_NGINX_BINARY=..\objs\nginx.exe prove modsecurity*.t ``` NOTES * `TEST_NGINX_BINARY` requires path with backslashes. nginx won't work with path with slashes. * The tests generate nginx configuration and associated files (such as log files) on the temp directory indicated by the `TEMP` environment variable. nginx won't work if the path contains spaces or short path names with the `~` character. You may need to set the `TEMP` environment variable to a path that respects these limitations (such as `C:\TEMP`). ## Miscellaneous The ModSecurity-nginx connector is built as a static nginx module. It looks as if there's currently no support for dynamic modules on nginx for Windows using MSVC. It may be possible to cross-compile for Windows using gcc/clang, which may enable building using dynamic modules too.libnginx-mod-http-modsecurity-1.0.4/win32/docker/000077500000000000000000000000001520112027000216245ustar00rootroot00000000000000libnginx-mod-http-modsecurity-1.0.4/win32/docker/Dockerfile000066400000000000000000000121111520112027000236120ustar00rootroot00000000000000# escape=` # References # # * Building nginx on the Win32 platform with Visual C # * https://nginx.org/en/docs/howto_build_on_win32.html # * libModSecurity Windows build information # * https://github.com/eduar-hte/ModSecurity/blob/windows-port/build/win32/README.md # * ModSecurity-nginx - Compilation # * https://github.com/owasp-modsecurity/ModSecurity-nginx#compilation ARG FROM_IMAGE=mcr.microsoft.com/windows/servercore:ltsc2022 FROM ${FROM_IMAGE} # reset the shell. SHELL ["cmd", "/S", "/C"] # set up environment to collect install errors. COPY InstallBuildTools.cmd C:\TEMP\ ADD https://aka.ms/vscollect.exe C:\TEMP\collect.exe # download channel for fixed install. ARG CHANNEL_URL=https://aka.ms/vs/17/release/channel ADD ${CHANNEL_URL} C:\TEMP\VisualStudio.chman # download and install Build Tools for Visual Studio 2022 for native desktop workload. ADD https://aka.ms/vs/17/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe RUN C:\TEMP\InstallBuildTools.cmd C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache ` --channelUri C:\TEMP\VisualStudio.chman ` --installChannelUri C:\TEMP\VisualStudio.chman ` --add Microsoft.VisualStudio.Workload.VCTools ` --includeRecommended ` --installPath C:\BuildTools # download & install git ARG GIT_VERSION=2.44.0 ARG GIT_BINARY=Git-${GIT_VERSION}-64-bit.exe ARG GIT_URL=https://github.com/git-for-windows/git/releases/download/v${GIT_VERSION}.windows.1/${GIT_BINARY} COPY git.inf C:\TEMP\ ARG INSTALLER=C:\TEMP\${GIT_BINARY} ADD ${GIT_URL} ${INSTALLER} RUN %INSTALLER% /SP- /VERYSILENT /SUPPRESSMSGBOXES /NOCANCEL ` /NORESTART /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /LOADINF=git.inf # download & setup conan (for libModSecurity build) ARG CONAN_VERSION=2.2.2 ARG CONAN_BINARY=conan-${CONAN_VERSION}-windows-x86_64-installer.exe ARG CONAN_URL=https://github.com/conan-io/conan/releases/download/${CONAN_VERSION}/${CONAN_BINARY} ARG INSTALLER=C:\TEMP\${CONAN_BINARY} ADD ${CONAN_URL} ${INSTALLER} RUN %INSTALLER% /SP- /VERYSILENT /SUPPRESSMSGBOXES # setup conan profile RUN C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat && conan profile detect --force # download & setup Strawberry Perl (nginx requires a native Windows perl version to build) ARG PERL_VERSION=5.38.2.2 ARG PERL_BINARY=strawberry-perl-${PERL_VERSION}-64bit.msi ARG PERL_URL=https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_53822_64bit/${PERL_BINARY} ARG INSTALLER=C:\TEMP\${PERL_BINARY} ADD ${PERL_URL} ${INSTALLER} RUN msiexec /i %INSTALLER% /quiet /qn /norestart # msys2 (to build nginx) # # References # # * Using MSYS2 in CI # * https://www.msys2.org/docs/ci/ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; ` Invoke-WebRequest -UseBasicParsing -uri "https://github.com/msys2/msys2-installer/releases/download/nightly-x86_64/msys2-base-x86_64-latest.sfx.exe" -OutFile msys2.exe; ` .\msys2.exe -y -oC:\; ` Remove-Item msys2.exe ; ` function msys() { C:\msys64\usr\bin\bash.exe @('-lc') + @Args; } ` msys ' '; ` msys 'pacman --noconfirm -Syuu'; ` msys 'pacman --noconfirm -Syuu'; ` msys 'pacman --noconfirm -Scc'; # revert back to the default shell (cmd.exe) SHELL ["cmd", "/S", "/C"] # create src dir ARG SRC_DIR=C:\src WORKDIR C:\ RUN cmd.exe /C md %SRC_DIR% WORKDIR ${SRC_DIR} # nginx # RUN git clone -c advice.detachedHead=false --depth 1 https://github.com/nginx/nginx.git ARG NGINX_DIR=${SRC_DIR}\nginx WORKDIR ${NGINX_DIR} # nginx/tests RUN git clone -c advice.detachedHead=false --depth 1 https://github.com/nginx/nginx-tests.git test ARG NGINX_LIBS_DIR=${NGINX_DIR}\objs\lib # libModSecurity # WORKDIR ${NGINX_LIBS_DIR} ARG MOD_SECURITY_TAG=v3/master RUN git clone -c advice.detachedHead=false --depth 1 https://github.com/owasp-modsecurity/ModSecurity.git ARG MOD_SECURITY_DIR=${NGINX_LIBS_DIR}\ModSecurity WORKDIR ${MOD_SECURITY_DIR} # fetch submodules (bindings/python, others/libinjection, test/test-cases/secrules-language-tests) RUN git submodule init RUN git submodule update # build RUN C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat && vcbuild.bat RUN cmd.exe /C copy build\win32\build\Release\libModSecurity.dll ..\.. # ModSecurity-nginx # WORKDIR ${NGINX_LIBS_DIR} ARG MOD_SECURITY_NGINX_TAG=master RUN git clone -c advice.detachedHead=false --depth 1 --branch %MOD_SECURITY_NGINX_TAG% https://github.com/owasp-modsecurity/ModSecurity-nginx.git RUN cmd.exe /C copy ModSecurity-nginx\tests\*.* ..\..\test # nginx w/ModSecurity-nginx # WORKDIR ${NGINX_DIR} COPY build-nginx.sh ${NGINX_DIR} COPY build-nginx-bootstrap.bat ${NGINX_DIR} RUN cmd.exe /C build-nginx-bootstrap.bat # execute ModSecurity-nginx tests WORKDIR ${NGINX_DIR}\test RUN set TEST_NGINX_BINARY=..\objs\nginx.exe && prove modsecurity*.t # setup container's entrypoint # WORKDIR ${NGINX_DIR} # Use developer command prompt and start PowerShell if no other command specified. ENTRYPOINT ["C:\\BuildTools\\VC\\Auxiliary\\Build\\vcvars64.bat", "&&", "powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"] libnginx-mod-http-modsecurity-1.0.4/win32/docker/InstallBuildTools.cmd000066400000000000000000000006561520112027000257270ustar00rootroot00000000000000@rem Copyright (C) Microsoft Corporation. All rights reserved. @rem Licensed under the MIT license. See LICENSE.txt in the project root for license information. @if not defined _echo echo off setlocal enabledelayedexpansion call %* if "%ERRORLEVEL%"=="3010" ( exit /b 0 ) else ( if not "%ERRORLEVEL%"=="0" ( set ERR=%ERRORLEVEL% call C:\TEMP\collect.exe -zip:C:\vslogs.zip exit /b !ERR! ) ) libnginx-mod-http-modsecurity-1.0.4/win32/docker/build-nginx-bootstrap.bat000066400000000000000000000003741520112027000265530ustar00rootroot00000000000000@echo off rem Bootstrap to setup MSVC compiler environment and inherit it into bash call "C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat" set MSYSTEM=UCRT64 set MSYS2_PATH_TYPE=inherit C:\msys64\usr\bin\bash.exe -lc 'cd /c/src/nginx ; ./build-nginx.sh' libnginx-mod-http-modsecurity-1.0.4/win32/docker/build-nginx.sh000066400000000000000000000030041520112027000243750ustar00rootroot00000000000000#!/bin/sh cd objs/lib echo Downloading PCRE2 wget -q -O - https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz | tar -xzf - echo Downloading zlib wget -q -O - https://www.zlib.net/fossils/zlib-1.3.tar.gz | tar -xzf - echo Downloading OpenSSL wget -q -O - https://www.openssl.org/source/openssl-3.0.13.tar.gz | tar -xzf - cd ../.. # remove /usr/bin/link conflicting with MSVC link.exe rm /usr/bin/link # nginx build on windows requires a native perl build export PATH=/c/Strawberry/perl/bin:$PATH # avoid perl 'Setting locale failed.' warnings export LC_ALL=C export MODSECURITY_INC=objs/lib/ModSecurity/headers export MODSECURITY_LIB=objs/lib/ModSecurity/build/win32/build/Release auto/configure \ --with-cc=cl \ --with-debug \ --prefix= \ --conf-path=conf/nginx.conf \ --pid-path=logs/nginx.pid \ --http-log-path=logs/access.log \ --error-log-path=logs/error.log \ --sbin-path=nginx.exe \ --http-client-body-temp-path=temp/client_body_temp \ --http-proxy-temp-path=temp/proxy_temp \ --http-fastcgi-temp-path=temp/fastcgi_temp \ --http-scgi-temp-path=temp/scgi_temp \ --http-uwsgi-temp-path=temp/uwsgi_temp \ --with-cc-opt=-DFD_SETSIZE=1024 \ --with-pcre=objs/lib/pcre2-10.39 \ --with-zlib=objs/lib/zlib-1.3 \ --with-openssl=objs/lib/openssl-3.0.13 \ --with-openssl-opt=no-asm \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_auth_request_module \ --add-module=objs/lib/ModSecurity-nginx nmake libnginx-mod-http-modsecurity-1.0.4/win32/docker/git.inf000066400000000000000000000006561520112027000231140ustar00rootroot00000000000000[Setup] Lang=default Dir=C:\Program Files\Git Group=Git NoIcons=0 SetupType=default Components=ext,ext\shellhere,ext\guihere,gitlfs,assoc,autoupdate Tasks= EditorOption=VIM CustomEditorPath= PathOption=Cmd SSHOption=OpenSSH TortoiseOption=false CURLOption=WinSSL CRLFOption=LFOnly BashTerminalOption=ConHost PerformanceTweaksFSCache=Enabled UseCredentialManager=Enabled EnableSymlinks=Disabled EnableBuiltinInteractiveAdd=Disabled