File size: 107,181 Bytes
09c0760 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 | {
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# |default_exp app"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# |export\n",
"from fastai.vision.all import *\n",
"import gradio as gr\n",
"\n",
"#### IMPORTANT\n",
"# copy any function you used for labeling because the learner\n",
"# refers to those functions"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/jpeg": "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\n",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAACACAIAAADS5vE8AACqQklEQVR4AU29BZwk130nXtXVzDCMO7OzzKBlrZhtSRZYdnwmJQ4698k5yQUvvpz/d4G72AEHHTonBllgCy1a7a602tUyz9IwQ/c0c3fV//v9vR7lanq6X73349/vQb169Ur/5b89b+qaqeu6Zlk2zWbZLA2/umaz2ZGv8dB1mw3fmlXXbIZuIcdCjmUhpWu6BVT8Ik9gLWTwVEOpBVRNAzVTN0mTeShUgODHJL+lCCJAEgBIOamZEIIZ4CGkSYeEWaTrBgQVeGaBC6QFKUgDDUDDkkJhKOIBFKLhnwlBQQL0AYePzaA2VAm5ADH5BXCQJDaEpwxSrsQDdfKytDpLeRAa/8IWCdpR5eNbycJSwoMhUKS0IZXoJdAUoyGiIgaeIiQ1Mik9UEw4ApYDgCJjkrMSmPiKkHCz6hYgAQoO+EWK6oo4EIA0kUfPQgtar2ECm27VSVTIm4yCukK2NBgKxllmo9vrUMXQqQ8sL/AkSYMBh1aSeBC2QsKkCOCJkGAxVQJ/8vrYu0IA0UBqVAsJEKGK5AL2mmHakME4RR6EBWUJG6UiNRJ5kM+P6CYGgNig12Bag5MUAJGpFT1JHysCEgTClO5kOLIcUuMbRGgs3awripoJGDCinmIHZX2RmMB1ZtNqIE538iPRzRzUK90QOXlG2Wnguhhm+Rx2Ikd60YY4IFyDIYkLgsVoZjZJNHwnbLSaFJEgz2lAOhRGFzjAkzuzoJzYgPxJE4SWIxYoJLwcPBQG/1I/BAwRg1+hjwKyQAshRkNYSELAoBcoopCYBLMbMCdjDxj0DQ4JCaoLDPwtV3TAUQDxJmlBHfoDkQAUWITwUvkZ8cyjAGgnVCSRFHUjEYSUQVXJDx+xgioS0yCPf6KgwFBp2EgCX+CFCliCN6AIS0kY0baGDg1LiFwop6ooIQUhLLYUE9KIytMoIEtSU0QhDKWSCiDMSAgJwluanQ7DL3GQD4dTXeaIdEpwVjDILnQJKprxjIIDA1hCDRSUm4QcqClW5A408qO9GNyqiMUqWEhHKONLNVSwFiTHCawjPgEVsYtqUXjGfzQcQKQQoIraA4HJhZRRKqZAWEiACSC+oArAwFcYSoxrlh0ehp2U+kiKaKywyGOg6RqiG8iUiUqyYRYzQTrCyreEDtoV0ZW5FECXRpYACEFkirct04a+jzQhr2r8YSwb/mBM1QWIBkIYalMvcmKU8pCORokOHKinXEKW6HwJQetQBArBBCVBgrVIiS6nUiTFPGUlWUYgKZaiKsNkpMQzqgxaoEMyhEV7wAKmoQotTSlVmbRJlAaZFNBGbwOTXicFRaQOtS2L9ZPwjEjFwqCxiUoMMhBG4lMxMLnQ09RN8SeCqIBTfuAIiA44gjVMJz7iOQiSOH/IkBEurTuMYKL+MXZFJEIRHAQaegmKZLHCgD9Z2DGmoauhJB0pUoG/nEvThWwITFeq2g2egCaCSCHK8RQHYo5RwM6JEUFAisIDUqK+QjyYjOGps18FBVMzvMWFWqlQifY0Qk6kFdORNvGFI5LgArch+FjVxDUISumbG0oaUj8oMTUke9VGSSTwHNxpTykXMpIUGcGHRTzEc2QH6SkruxjxCmRuwNAmqs1Q1heqVF0cJgJTBpJHHi2lJKE9pBWBucWAEti6BckBj1LkS4ujBEOORB6Mz1IUEZ3McAIQpGFqOVFYyIT5WSTtEBPUCL9KADZbsAy+lyuHOJt+QZ6NCpIywwNdFZgCUfiRLpgTnzAoVy2SzQbREfsARQ5Uo9Oosg34CpNEqRibLlJHS2iCul62tAqbccQwTYQqCBTEPEIaBwKkDj48ZeOC7plJE925VbM48gBKXbN741c/E/6X7eP/LX/+JQyZ2WIKH7IEM/5TXKQgDOXmh2mRk7kwH2wA94hjAI5MCo4cMZTk0xIop8WVosoc9AXNRM1xAAoRBlMqaxn0DWsN8tE202ZCBByRVDUEcoj/2FMrSIpIMAGVH+R//BEWFH5ZPJqHkUT5+U+9FC4VISm7hAiKlBjwFxob6TZEYIIxhqRmAhNnyjb8UZKADv7oeypMPhRDMqmrii0xK9VnT0JEOwqYhl6IJ5KVj1Cg+pQBB61RY0AwLGqmVrX0KmOCwyt8WFTXMSBHomZiAIUSeJQRgASCAk4lLqQRhRFPBAAFBhXDC2GE0S5jmpElGkjMgTjs4Jo+0arddGbH5s//uG5WoBuqO+NPhhq0H3F4KBY4Z5DJgV8GEuMTpTxBjgCDAFtvuIluhb2EBuHFDRQCcASlUVg3ls+YqYppNoQWQOknVjd8i+F4ymx+0xNiWJwzZ7kA4cUiBDfypU0AC/qMwBg3kCXDkNyJBXicEgBgSjr0bmTBOk3apC45BKFS/KFM+INs4l65MkUvT6eS3XKm4ItowOMJmkZUD5YTUkxM68mpyCiSsB0iaQ7hWUaOGsbMgkaX0rw2dAogx4sQEBOxGMsUTq/hi3ZjD40OCHmAhI4sZ8WlPqIymxkGBHXjAZtK+0xo2lFJSJKkhzMwI6xeX4jt+u5z0z85kS4P3OGwO8gERbQPZW/oBAyKCwQKw1/FVmyn5FZyST7dThWprUJQmOyYxBCURhkPYNBCrA9oRZgMAIYD7BUZGl2oMZO1BefQjN+qdZDaT7KQD9wVOplTkUamso3iQTDhglNQoVVFEnJtpCWBQhTTo/yAMhBpB3woJk9pJTnIiPYiH8lCBokzk8TwTbnYvvKUTRa+0cDgRMxCmyNkUEjDK3I0O2sXLwCJxH/5I3CD0q/+80XKwnJy40cJQXic4IddoyRoCwQN4om5zBMI/CynFTzPpVBKQLNhRBGDDmMxpIV8dmd5dsgsLrr6dqMDIyjYSb8AMAJ8LDppUjIFAyHBYVlYUhSylBRp8KWlFLg0ZoJN00ifr0pEAhJUKBAMHxFZMiUtDEVLJTZiWflMqaFEBQ5YCTxZUi5WA8oBMdUfMpkH6UXwBhjKBQ4ulLoqyEiLt2kBDa0/L+/RLOGPowKWSk3GL+BEDrIUikiQg9BSMizLwjCVCQTFglyBwW6BZmWzDl34RzricAFhtyHCoAUBulRjckCC9C0dg2j0GhRVJBN1RFHSYa4QoHi0M85UMIrAaF1ASxprFtNkSk8KxjNSWCYjSYadaKRKbYazUozVFjPlJLsctoU4LF6PSLUACTZyIhmZEwRnIrmiRynpFGGONMmjvPEniJQKSIREvvwjX8gBTDVs0mJDR5udISvCgYzIjtZFmIhRxX+wGMmQDc1IYuz/SQMlDH9KiRN8cRYPniP0x5JSFjaHyAQqE/QYQTDZqi4zkQYUGUuvhB+2UmzySQoIZCZyNShzpC+EOAolqPTatAOhFX3RS6CQo9gzesiGSlBuycYPzKggpIsVwlIhaUkiCwTgkbCDH35AgL/SnQECl2ZiKyqPKkuLQCxmCSCBiVyjrACHlRoUSAQZAkVtCSniLbMgD+hPZTCAt2cuHxo98ufzmbK26vKOZ76GSQXlL9XwgDZVEQFU/QBhRV5pgit5JT3dJYfirgRFlopjRIUEZGPkKxQ4WuZog9bjv3gIcOqg4GCO8AUp5StIgiRASVy5BrooeTDUEY9QeZG4oTTdQ/ofi40zUOapkCE7DCTEsAQjsDCg6TiLIV2kqlwiEnL4CyhRgsAspaKCQoFJAOiIRo5lwVskUlzEWhSikQdJgLms0bKgoEdJQJv0RVLUFYx4xdFEV3iUBLWdI2qRi82HHQhSzrlXlNHwDTPhDF4kPMBlnkopQWyAMur5LeDCnmJQUiVsQySSZfWgV8y63rN956f+U+7akbN62GkzoDBiQt3BAAhbDqnBIgmNDgOxhRAeYkzGBNuBBmsQptrkKFLDCkodCok8xi/thX9Iy6QcAJdSFrFUeg0CKc+QFLUDrJTijKQYMxI3aJVhE1JWBSQMCBAgDyKTlMioCKhSGUQChGUEptiCgQxKy8hQFBrUCAJGYEc+xFDUUU3IA1QkjkRGHQMPEgEpVcmYq2SUxlIaHJbC+xzgKkoUBpbBNCNr17KSIM8Tiid85Jc9DyyPLgztLzxFadV8GqEkRKUBJpDoouo8lRRteTHJIpqFphN9CIMTpmluACO2GFewNG3NYJJ2n9riv+4LN23p37lUGr14fsyq5jWHH7lEIEUOzAFPjiIyGgnRhDIgAc0lh1ykDjQ8pNp5khfhGki8ncdAByIARCl8UzjOZ0JafGQuEjRZ7QQfgqABpiFBi7ikSeYUj8RwQkjEMKkjW0oVgAJFBgkSU4lNPswUILGz+J+IUBeCifqqpSEJkYW2Aw1QAIAkwEqqM5kCA94kSdQ9ovAGgYhC0akmaxX5kjHjiXzJkbQ4U8BfDm0ZA8yiNUiNSlKuRkJokwZFRRm42MHaMiQcFTV4RbQCa17fSttOEQEufT5wwIlGla+GpUUHXrJKK0eGnMuGWKzg/EVCBbVwJhz+NUwL1VCjok3NK7ZsXedZGqr76oah1TDNhKBmHYCZSEQmP0CFE0jEI1F8aDkylSz+0hcNEAFgi6XuWUljLlgKGERgFWUbIYgIYB4NI7+g1tBSzmkynIth6S0WC/dlPMpE5hBd3ClsJK5oKYwE0LwSDbgQm/UVFFhCLmJbUQqxKL8SdCyC3fER3iwgazS6/KLuOFBKseREwhgwEkYiqxCgNSEWBIMIyAYRSAO5yACiiGBCjBIiAFQNI6ioQd836NM6uJWrtGaogCwns5Q6AJdxq2DBlDiVmV9mKwpsuDjxCAwphRCQBqFjp1ginwDDc9QUYQPhQZORRcvAYDikq4Z4yLPhMgM2N0Kdm1tqiUP/mBgfdTqdhmEHjB19lm5zqGaAsnBwBlIoIgXKwExaAmpDFZzAeBRAHTAbefEcRXJAU6hNRHWOb+pJGiiiHRRdSeBcERexoamcKWqs2MwBNWpITekYWAbTPPijviIMYFCuZpWQD6EZNSIQ4HGAHv1DCQFJECUQyXAMih8GBO2Lb6jPWKakQMcpYgsHhzwsFZkkCIhNjUhGZn1EO54xF/4SPnQMwrPGoGNkgy6+KQU+lE8QGqqxRUEO+y72P6QgMjCTwYiDVGB0IUc9IAoaNSGHqw86g9pSaCrGg3YDFm+JUBgeBvQjISUHIMkGZwLKASfowcoAQzRgJA4xYJycq6XJGv3hf3/2xI//3SyVHS4nAh2mBxYSMC01FQaABkUGJbPZJUE2EFQMqTKI85ueAwC0s3HCC2kaQISRUiJQNlUAsgQAMM2Og34VEKIwvKhtgwhNRmCMIvmhCYUOICgVvUoslFBkMkWmEp8xtywYuKNUfQBD0YgH+ZGJg5FCdHJXLMCXCSFJlkhBEGICkiKIJ0mI8uIQNIlYIQ1yNAjMwYUYxCKHxrwicxrCgAtPAACBRFVWUPEyrU/qyuMUjC0q2VMAnkMGeovmY/CCsar3VBdZWD0jtFXFZXOoahh5gyg7YiQVuiRpFVJVE/PUi6C8dKE2WGMEEc1Uzblp68bVvU1d6Xde+t+/OXr5ksNuNwyuNbHrJlojOhiXbmJyimRD0MBbjD6cUinVPgkAtRFbgptwZ4RRKsYcpUQxeEMGVDgCK905qaGMpKoNQNjPUVB6jtOltKhSn8LTWsQlltiPhQwUWozfPMARdmABJWzIwHx4BqDUi9YGEBLKeqDGCiYo1F14ggFNjRNWmwYgWAMVWaRAeVi/CC7y4IuMeNbIoaw4AMfeVqRno0stgdyAkx9lKIDhD0VAgapKfwkQZom8wp4MGEkcmwGhSlMyB2JBaOBzfCFcKRiLaFP6jeKBdGPMJRdSHIuJRQnCRl4UhrdICuA0AYnReQgg9FdWbamgd/d0G67Y/ffsfWig+MP/+Uvv/Ps/59JZm8PJNlvUhtXY2CB0sN6NoaM7dN2BCGOQMeGQ+o7Ywkd5UbjRkSAAtqoRUPyVYeEcyIJiVhXRB+diKVUVRG3xDFRDBNHoEBsCIcWo4g1d1CEO3FAqNwqhJy5tYEAareEXcoEiYCQVWuwAc5A3fygd40zswr6MxFnI0GRwICLVwWhgAQUDbf41QoeZAIfpAUnplB6AEh/R+QIqcUMWtBZgqS8Z4sPgW/Y4ilhCOpSTfMWrzBXxobC6ZcYCAaUqLBJAcT0NAe/J+ILiCkOcgjWlJCmRCT9slngwkiipmK9xZScwLGN8QhIexBdObFQ0LVXSos3Nfqf975+7hEt6rZ768IU/m7hyav+TP7tyxy5UR7Neox74g7RAoP6kiyTHI/gVV6HxF5EabARWCsSmdIa4HhhiYthF2hiKDMFkDKvsTQnZuAqTZaJkJHmkBkacxAVawzUiDNKkjB9lfKpJIuocISUc6VKOxiAQkYGClkO8zkxSIDFJCzHoqtQmtKJHiEYoMYvyNByHEo6bVSTBTnQgkcBLQkmkQxaxeShbNU5wDpHIWhLg+vEVN2QgWX6zYQK+nc2MEhz+VrZADov4pXyMFGoAuNMG5KogCCbtm1JTJckVdiETYc+0BK/SQImi6AAI1hQj2Jw2rVQ1LYenNRo4dytRKOX9oW4rMzdz88PX/mp03e2P7/zEE62dHVYNQKDcWH4Ae9CuIEQW9JfiiysDhpFUF/GuCCwhTo0YxBCKauAjB1E5byA6i19FetiGkKBMHCjGJpN4/KFq9A2cI74jc3WgbRJZeC6y8ZwnEB45qJOgxdgkSXJDnWeOiAMEEQA5gBBWwpIcJSSRqyKCBCAwQERGTqM3FKJRgUoxyYs/yvHIAjDYsZQlMA8P+eEJL7FpChCCTOxkFSzOyYgqMCW1DyTZ9gsA1WvEJpUT9vAByBEYGimBUH0/VkoZElSJCzCqIt4SiVS21C60HSwRCpBeyQ7Hg7WIizGQoRmOek2r2pzhkMftdrjcgXrdNP31QiGVy84MH/+hK3NrbP192+691+V212pV4UbZ6BJFnQkahxIpEyFfnAAwakH1AYsfag4jos9iEIgTID9DXISEYMoCKMRfHWM+juuQCR050gB9BA1IkT4KAERr06FSNYWTMgO6HmEM15I1/hsHTAXZ2RxKBo0P+QAAMSCYpPlDATHfoWsOuTJhs8FAWWYhmtL4OBrEqQ+UwhmcDa4kCEPhFLSEnIgKGFEfWZSdUQgYEIYkpEUCgCEWVGx0dmxKWCpy4ZtDAmFOQzEOgSXUBVsY0/2kL6HHBKMJ0Kx6+BHzf9yDUnRpitmlynCDXR1mRZVwwpc9nTAVAnq5ZpWqlZpu1DSjYjmaY/58sRLweGJBv93pvf+ObZ99ZEdrTP+dx32FU//0wv/5xsi1Qbvh0A36RdUO+oC1AB8qwR+Ij398UW8ZtMKxkIhnzINBOUiScZLKlNATd9JotJKQBTWQEWOCtCgNG4iJgCdEhaZKgh/MTXuJJLSnmAsgGOXBMfhQRBwkoYKHGeABHEx54AQf/AgJFtFKxEV8LxcLdWooxJZRpJS4gkUxcIg1FBhG5aILMiG6MhKlYlwyS6QQUFKmFQEFIhSAJCEScyS8SEh1SggPDtpBWsg0lKSq4gBiEpaVlZGAyyiqRopSHVlGozQqMbJl6E021BmAJCUCQFaRQiwlmZQQ9btuVislLDtCe1TRXc1hL9QrlOsulyfoC1RM449+80t3b1v/9z8Z3LgiMH3p0Mv/57ff/u4/pBIJu9MFh6ELBiZkolcxBy8Wh2xyWSOSypfULQoCCUVoOgiii91UqFMa+BRyYrwlcJRSXCk1lGbFQUSGhXifKTmnijSMwgMZmkJaa9oRtqAnWAgKDBz6hXYl8sf5WJ9JPFJBAZSgXsgglApEVQwcMFD8+I3Ygh4KSkQGNFRhFOAXOBCcjJimffCnyzo10CFpgAGCSTpOWJI6cVFNDTCjqagODCakhCrDBtcuQJeeT1oUoiMkSYScltlLWyfma/Sy8AfcLC0AYQScckESuSYXtSiUUGG1gHvBGmFJPfFPCPl3Ou0ej8tWLuv1SkVzBANevwuRoUXDjmLZPTKe+7k/+FG1VDp8csTp0BxOj1bLXHnnuZHzH2576NMbD9zj9rrxbAUWO4oY5EI7QWByFpYiN5lCJf5w8EGBKZJKUAEJd2LScNIJUNxGaPKamRUatYJSkxYsy2AlgkQhdZM+SZgirPnHK1JhL6wJSruxr6S1IaSEWMPTZEZkxgZ4s83m6BWkAMWhEuOJggOOVEGeHiesqquk3rCqkAGaECSkKAu+IEax2C8r2fkj4xyaBpKwDeRaNqBKSiIV+cDCIm5w4NSz8JESjTWYgstBnVkGsSAvIgTUYE3gyR+CWpKAhkGBjwYbokNOVYIOAfk46EwxKBmTCg9IzkkXSUoPwgtyMKlUquVyCR0Zmo9K3eaw20JBxzOPDfznL+7o7/RiXvfU1bnzQ/PhUDNIlss5tFjhoNPMLgy+/nc3X//z0uxwFRMBBkaQMCgYUgFoqIbnGGVg4IlT2IseYD4V52BTjCtYxKSENLT8UnecfjzXwly0TJgTVzGHQpgGtQ006DLALuNCTZqsYTGwIiGA0FzChA6DJGJJikKSKjDpWwacwEEXhQOVCCCFhBaSMCk1RYkoTBkYZiylrEo0QqpTISoyUFXRUoRiEwIUootxpFcVAiIqDE4JGxpQCx5C0yAL8vvYmiAANiKDWIUyUzfpjgWOwcE8Tr4JVzbFMBfUbhSIaGIpOmiZhbILsCSPvQZwwI2IcAmEdtrtmI92GTYsqHW5nclspa0p/NCdm2/b1OHBgNrldji8uuFwe6IupydbSH5iX3N/i8Pncfzuk71PNV268NJ3Zqdm7GicbBxskSQ7ULBjgg6hp8VE+KGsAGI+RxVs/xWchJgyJEGIRvz/Z+gAM9BepEB6LOSkvVCUfHJSH3ZxJCKTN4w6MbtQJCLDRzmfVREZYi0hCyQQBwbbAwrOCipdFklAHB74Ri51ZGRLBr1HuigBEGFZKlVdaBBTfeh0MQSBcZAokpSEduNH8giDInJho0COSLFRETQW4zIehkSBtL5yk4xDKqFOcB6wL4OLatHcOGP1AjMKTCvIKXJYvyGEhKE4TKRgSpThD7GVDfBD4aQT1BwOioH5VnRFbpfd4XT8+I3rlwcXxsaXwDgW9BSKRrZuOl22Z5/a+9HJwfG57L3bo99/b+K5H5/av2P14OHXj7z549se/pldDzzpDwXrtTKMgPZGhBVbiQz4wkfMRKVEJWQgJqiEmEFkEg3YqkNGmF5EJq4oCpWVWVCGDN5vpt2lSUMBy0RL/NJjjM4GAkvUCS++xMsqdMBE+iDB5aWBoEIgkm6k6TQEOBHFf8QhPXoOcjLUeEcF2VSQnDlxIE4jDIiihIJAVBKSCgYaojmRcUhAA4Zy4AzcYRkGo2CSF3J5Ij8SWDjjeiCGhZyL8ChnDkbX7MVEDSA3TEt0NEqkgyZdaaFUFtK0uEQouYKqxBZKIAe1giokBCL8xcFvh2H3uR1gB4XxHC7Wl+BW6vBE9vTgQsDNBs7tsHslwrJFq6e95Wd+e+tTv/a3b304aOqObz9/6s3jw7jub7ZbH37/zy8ffeWOz/zqxt0HDYcNs47LrMARviZfHPQKJKE5KBEzmaSdaFCeis2QIBQzFOLHFJTWwJES4omrls9ADuckJkYgHRCSAGWm9DTCA7SFqSAAG0No1k3FbdnhiC2a9P8JcBKnPjI8Qr5CIDzkRqbq3RpNEXmTIAwu8sk59VY+R5HoyBxJo5yeogXYI/6Hqohd5iBfDEgA5DATmB83Oah2+Cg09CwwDLsiRoUoLvWMlzwAkSX3YIcDFPGUMvyPfJRK74XpGcqINbw4pUGlVNgLX4Ayi3Rws4sjecusAh0xh3GUZTodvPOYKVWQj/Fje4vT5XLg71+eP/cX3z9Rruk13WfWiuVyZmhmKZ5O+t3W+tXrq0uzL/zxL73yl19fGB/RMJpy4N6GmEjkRHuBU3Ye+KPyMAdNomCYB4EY8o1SgOAMAPhjFkr5g0MMiRIpo2GlQJ2xTZIMZX7git3lAoYIoEN6ShKamz25cJQvGBO2ofMUMJmrhgrFxIIYQGBDJfniGg4ykSmyE42u50CBnOhqBgeokg26GsljqJK0/AEXJUTnuXyQIn18SAwFaGlQCM1xUIwGMBcBA4SjfXqTkUmSGOQ2Ao1nVAeHMAAuwASJJEQ20JUUeQltAMBbbP7IkjEEkwIW4SVKsfmnVIJYwbNCmCgz61VY3jQrpVoVT44xfs1ave7zGs8+sW5Db/TbPzh76mp5aDpzdWTeoaOn82PlUL2arVayi/Wa32v/mbtbrratPn51LjP60dLbhUv2FVsfeKq9pxuzjvIYkkgL6cUzEImLZ9kQUkYlCe1Mw8ifNKWSwTASTVgKv7Dyiv3wA1yhgBSxxU7Eb5hBSClb0n48hCSDjKMJQCoUSkA5aGmVI5KSJIpUI0TrIkPYEA1ykBMMTCkohsxoAEbdNVumCRCiScQwTzgwgVz8Qyx0GnIiaUBKBJOqajsIKzaQ+gW2rA2Y7GAjgidTqZWGJYwgQvlwCGk0SxIxPFOiCGshS+FFc2YxJqClCg2cA4vBJ7YGItBpOQktcJYM6kqaFAX3nHHLHZKy64OElSoiCQ0mLg8hjj6fKDidrtu3rzh0YurqeBZPGvm97lwuZ9eK0MLpMMrlIubf5tNmoWw9uTtYLldvzpSPnblezh87fej5fZ/6+d0PPhUI+Wu1ClthNeOl1pJCANqe6iFf3EtpKQUzxEgUnDLTkhIiKBP7NWBod8IDmF0wkmwNmKF4oRzqc3aRK0yVKRpchQksSdco6sKRUQIOlIs2lXJQo3gUDdQpANnLME9gGAEyXiEYIIDM6BLPgTsT5KY0XR57YAKQnlK8lMBClT6SmyoN84CQaAMdpfIIbxBjLoIHN1NBQhooZtLZLJEreCWcOletHCQHAETjoBfQkhZbiSeEE2GopzKocAccDQBK6gAi22FkABLdHNVF0NSr9UIdE4o4suVKJGhfXNIrZv0n7948fy0+MZ0M+AJuR8XlsCcc9oV0/TP3bzKL5e//9KzLrueLS997z3ttVdPiUiHsd+YMV74cqqTm3v3O750/9OK9X/z1TbsPcNUI9kWRwbCYiv6AJBCLpzhEJDpK0vSq/PFUlIWTEB/LqogpYFRRXWnIJA0t7mN7wEoAcshWTscv0Fn9kCVRiQ4bC0gYRcIXHOl5TMfiXKBIEWiKyv8rEYhIGUsoMiza8AJJIYcxD/EYDYwh6kPSjBnSU9jiBwl7MKYfGMGYriFVdSFCHCmC5JSkwVYERSSQoOjJDDEDfgSUsSm4AiLiEp9/vLjHN00JaJ6RIU6piORRWGSygUVrwh/SJAcIK4XiSEiMHLrWqtvr5bmPXilmCjWrvqrP86nbe39yaPTyrcTZa4nhqVIA84WW5vU4zZrZFPZDCMPu+c1nD05Mx989c0s3C/H4yAW70R726mY1EvIG/N5kwFuq5YKOxPP/8xcyn/nlvY991hFsASMTwypwBU/RBykZBYps1IItKISXOECCIsIUCgZDAWDBJTA8EVBGDZFpYwdNpcQ3DRfRV7QD4BQ8W3kBBxe6gsDKbkgLKG8NKMMBQzCFCXjh4HiAwvEQ99AZNHVDFZDGwVMGdiMT4KADvfCrOJIRYoWQ0lsAUMQiQAMPkMpKxCAh6slfQcTcAUnAlXish4W0CK0BbBRQQ6GFX1YmIhO+kY1f5EBLakzrqeZZZXM2lvFLeoQXbDAiBfxAjQYlGgckl4dK9YrNF7Vv/1x48NVq5dquDSt/7jMHAnbn744cR7eVLFdrpuFkCFmdTY7hmaLP57t4ZeHXJt4cm8/a7E6rjqFOdnb6WrnSv7E/1h1zzS3VjUjwS0/ufvj2Db/3zRfeP/rcClc6G93Yu/vecCRUq2DEJXJSWypIlfBFdTizouqrZImUrFQEo6XFQMplyixoaVDAQRWLxMfSl4Emw65BC/gsVeordsKQrTATIoNQQpJDNORJRRV+KnQoAE4b4JgThlQgLxnCXBHhORzAmgAqCkMkUWlSVoBKHIkJ1YCJeABttKEUgnIDTjwoxsIXGQtpViRCUAzmi4HYpYC38jDaaBJQghOAJIkr8StxQqrSCYMo7EhgQeJtDaqBDzN5EURaAGdC9ZJo0vF4oQurOWgFw+kZ6O+0WfVTF6b/6l9PfnBpNlPkOnqERwa3WOvVe/a1//bP775vVzuu0+fTlQ8uzs4kylhc5nAEna6I11GrF2YWk7nf/Oz6n32gHX3I1RvzucTSys4VqYLxrz/43k//4ev/+Dtfunj8QwOTTVjuCNnQCKtVaTIjhwtprnKkrGgWuUcbP1i/RkjA0gDUAVfRXLOmgEGBWgsAkNGAcAaXOdATtuIwBB8cbIZZSjo0hBiOQYIP/+moxrcaApIAcmAdUEBLLYXiKToB08EMT7EwqHNQLgBCnw5lOPCQXAaeBASBELX0C8oZSkxTNuIzFFQBGYOByETdcQ6ClAQnYCxUYR9JMS5IjXHDDPzgl4nGQUlJQ9kEZMBF3aaRTDY85MB/SS3TICWVK/ogW2KXMEhwhRgszhERBj+IHK2lJer3OIYmkt8cOuV2GX6vE40FrsiwWiZdqGKeaM/2NUMj6VPXUgGPWQ/78wV7uWQvlQu63e9whR7c1TM9t/R3r43tWRPRzOqJSws3Rg9XyrX25pZc3js7N1K98cH3//DapbueeuiLX23uaDerVUosFmxUCUpITZSE+JaGkw06bkBCOVnIAfVpHSAqW8Iayq/QEnoBi7AAImWcNaws3gFFuIDcCEOr00SCJRgCK/YDJi524ERxC4CBxLCU3g94OAHXhgSMFKnfbKghJ1p81BCRSrkAojEXfxhhyaWZCCdqKDApF50EH8ShNes2fS/KApiqUyE5uKqY0zAUDJkybYOqwxNyAyQxqCOyGI1URa4TG2ZSJQQiksBTWiZl2RTIswgArCwChgx2aWRBuHKtzjsamPgzzRqEd7tbI775VDLk82TyZYehVy0rFrDFU1VMM546P/2zv/tjDGPqVSscwIjIKPg8iZTtvgN9tmr9lQ9unBiMR731f3jh6JH+jWghvC69VLaK5brboTnDYYdjw+zCqNuhtxUG//2/P/uffvUPujfvAX8T242wD1JNAwXmElgxJywjbqBr2K7Dz2JskV1lUgvkcqJYpQgCjag7rC8nRGKxMqXEFAyMSEUmgdEASIvEHl2qFtCED0qkCioDclwmsA2yLIOgDEGO2Rn6BKDNQZhs+E/Li7EBJKcygsGJjK8BrsJZJoeJTM0FTk54TkWZKdyUyIqWXH5REwCIpwWZkAx7oImnmSmlorBgis5gQuoiHCnIueIEuVG0PICCY2gO/EummAwbCClcjpmwYovqs893eUMBtDpVw/AEPc5ELr97W9tn71v9wuuXjl9LDo6kJueLrSE3mFVx9aLrTrsRDgRjoehvfWF/OvO9d0+PLNgxm5QYGbsaa+mv1jxYwuhzuQyt0taMVUQ+u8OeTMcP7t3RMzL68l/93qPPfCm4/q5Q1wqsdYQ9lfVpcehLWRv6KwNIuwEdONcJcZUutEnDPDQArStuE4vR6EQQjZkQyvgCJEyEkAMfRAUSyBKG+AIOg0o5hCkJKbqDWMQlKAKWjQN7IyUrbS4DUFAlLokzRFCOjwxUgQYTkw4KuTifxMgAuEKXVQhE8cV8chERUaimlzjdIgFAIgwPdf8EpcwVYDoZdhMDsb4hn0X8kB/HzhSA4SWNiiIHXFFEbPkf7Bs00eQKuhhN2k82vUKTDRVHE1YZHLEFkeXwYkUH0ul8oTkYsGURANXH790ScbtPfONV3NgoVOuZoumyW6VKrbvNtZioVSr1S9cXf//bb6cyec0qYysj3XCVSsmFxdGuDeu2DwQu3UpXTePgxui2lcG/eNm8MWV8+/vvRrz69aFrw3/y+/5Yzx1PfOXOT3xa9/msKqaLoBHtBT1ZAZjkl5gWCsAY+OfUqziCDsGUGlUmCO2mwoWOYqYiIVYSVDXWJhEAKE5ifMI2TEp/f3xAAgBSCjKkE8TZqnHDmcCqsYfUUMJRZJBQH05bM0uoMCVlrBqCyi+oKqXIFCxgkiP+kc9KxUNkEhxIQRkkzW5dpEA0YFDW2HyDRcu6gQZpCVcSUSUNLcQC5MY/GJfC8F+BERz/yIc1RUoWEEfsoIyCSVk8lYHHUSkkJoN0VzDgLtc0W5Vrhzuam6em07/9zbcr5Xq+iNjIBez+bCFfczsfPtD1zP0DL7w9dPzC4lyysJAsZrJVl8tbrlVwU9/rdgS8tuZQ/lu/8akX37jyzeduvH4qOT6bdRrVoAe3OZqmZ+exDqBaKSRnr/3kr/9r+ezhfV/8dffazdy5VeSjRqIM5RShKbWoD5vSKcyGdVSSINCSjwkLFDVmKS2FQGygYkwj/QUaBuQxKIkNSPJUCZ6QkjIqyxUDqaByCpPKYAOUCSX2lF6JjFTXwbrN7pDbF9O1irSQBG3VMwgX+aIgjBO2ppQLJHkoR9H9KGKMCkOWS6nAqWU0IgM6URY1FENSGkhlPTZFCE+oDAZIs5R9HOciYQskkAnMBiEREQ3+x4Gj2lqUUgQcOOdFBMo5IqQl0YUBy9JKdT0S8jsMraXZcWBz7OpIdmbe9t1XL8XC4fbm5ng6UywW0Q1hxjmZK29f3zU/V3j/zHzA5ymUKk53AAMlq1w0dTcWCD1679abw+N/+J0PfHZnPF8vmZWlTN3v1b1ew141Bnp6wsFAMj2BcI4vJmaSw/7Lzydnhn177rd7PRY2ZqOZxPRiL7RrXNPOP5iZ9qZSNCLsgjOaiIYW48AmElhERxrDSuaAHqOHCexoCaMJNrmAKOsYCeCHHmcLQXh+kwov3fDLFAMMP/gnJAmK/5kNA4M6HSGQEEKICKqSjx4kJGhBKhCSKyGgUAChyV9hKgKzhKEoHY7oiVLBZ7EMoCmZapkbgzpoC0HAQSgiKJiSAyaDuMST6EEeWmzRhSpJtgKlAJSOtmEgkpKKHjZU6I5paEiAIvzodt6qY8BpmCa0YaEPFpX+ylPbPnf/hu++cvlH7wwl0tlcsdjVEjYMf6GSr9ds6bx5/Vbyi7//U4xuStWqw+H0uXBHxI1Zwh3rWyMe47WjN947NeFzVv7ob19tbu0wsfuH04GFRbjnjccUXR5jsVoLBiK7tvb//Ke2//6fP49Jgb7tKwPTw/MnnrM2P2hvbsc1odgZQi6rL79KF9QckZ1aIgf2pdngGgzoEGcohIZQSjzYiB5aA/+0Bg+WA13+YBTWPlJTEKifOAFZ/AolouFyVdiBDn/xj8JGHNO+ilhDXOZTNAoirRBNjQzk4hDKJEJFJNjxSwg+vymayClRSYay4R/AxCaeKuGEBUgxT/p7kYlcoD/EQWwhuiE5MCAHcQVWZSkbcFBEfMFCQiCg88f2a7AXFiABFtJQsVwQEYWWgZkeCAfiuJOKRWTorS7fmsNaxMu3lrDtU0dLtFjIzSdSG9c0f/O3HvrqU5sCHu3mVPboufnLQ1mIZhh4YtXhcWAuCGPwwJ//9tN37ewem56/Pjav65V4fL5aSpaKlUyhnC/U8yXbXZvCj273YRw/s4DhUfVzn9gdX4yj/RtY17uiueK79UZ97CKvzNR6MWpFWaGichpUwCnqrtQfFCgTwmK0HHVUVpeZIGV32o3/9AES7DAkMhCdCDl84w4xHpLkKk31LbloJLjghowFGy4EbTlgd7gHueBF9hI/+MU4BCxUQySOa7gGMESROAQB4AIGwEiAC0rRIZAY5CcvqgJtkSXckIDGKBIHCm+A8Zd6iFVEk0YaeYh+QJBOw8tCkNKSOvcUJhDIo3ZRYpYIAoWQJHjjUOyBQ3FxwgxmYxIMSqB1qtVx9Y6d3PBcBsZCWFxvoanwOJ2vvDf85T/86elbCawyCwd8Pm8gkUpjfmhgRfMzj+wMODA5XajU6vOZUrZSLZSqLTFMDoKEa3Gp8sf/9/08hlEW7sODrANtQi6/6HEX790VLVerqXz1zHChuy24tddVKpR/+y/e/fGRUUtzvf/mcbNU6eqMrWh1NMdP6jcPm+W8PAFLRXDQEqKUMpOyOEKBFV+MQetQQdiHjkQe1qJIDmKEliAKDrgZ5lbGoFkQJZIvD2tDXABz9pIdBBHVg7Z46BYfTnDiISh6naWggzyVBiQjUZGVBAiBLbJYoWlsBo6EBRMKhOUEwzfiXfIBTloikrhdCkmZYUdy1FkSsi8AztH44hyGQEOKyFCRIIMewII34FnKOiMNjnSkzOI6EIaMGJaExYQURuwmLaR0roh0MKZ9RTT8EgWx5rB0p1Y2tCrUwN11jF0ohs3IFwp2l5HIlFuCNt1pW9kTPX+9MDO7+PVvHYpF/LrDVylOYUK5XDYrmvXAvq4vf3Lda0eGD51ciKerrxwZy2aTWA9k4kFEs4ZFseWytaU/8L++eveff+/kS+9NXx3Njc4WowFbwIvn0arZfLG3p8d6/dDla1e6nnm0deNqTD97M6OJm+lSz15bpFNmGUR69lYSJ9SZrbaYk19oydk3i97KIHYO6lgEa6AE1Uzl04QNezNHGZwmJS4+KBbTyFiCaTSVdDu9g1YAFRUH83kgIfD8FrNTTMpFykwSgDn4wAes/JIDCKyeYS/T8B/TgJIziMT+kA4V6mQHAvhW4YO4EaIyBmIZfUk9qS/FIVFRkW4mGelQ8cv6xGIqA5OJhIoUC4BJcyABOIlIhibhlTwSwiAo0nA4JesQuVEj7gYAGwqhMlXlRhVqAUyFu/OxiHPfjo6tq5u/9Y+VK7fm3z872RwJuV2h5kh5KZm0eYOQNJGtbN3Yl82bCCA3GiIfbFPHUn2QxmZDbU2haCB0/sbM60evXhtZmM8UOqJhTEsm85obMwg2A9drbnt9r8vZPnjt5B+NJe/e33bP7bH2Vk8ukxo/lCxs09rXAUzU4u0nqEk9RQ0klfmkLjWMyTBAMWssD+Va2pTGoXf5JSfKSSqtjCz+bbiVHsGBGyMkIpHDDOHCBzUUbRJGZyo+odtUVyCYwkZ4UB7hDglEdp6hRRTv0+8qE0AMUxwccJEF3QDuXCW8XIRSYjBGWd8ZMgwxRAejhf0R9eM3iKqI4gnV5geioLbhGzUEWCrCxJiEUJUQ4CgCW3xDI6gHsoAmC0oCQJRAU940RBiicQYiybHv5OIOttR1dCm1ZLq2dV3nQ3etPXtu4tLQIkrThZLX4+7tbGmOuUul6myyOjqW/Pmvv+n32HHPFUuJsKTV4fQ63IGBLo/NbD5/c3LXxnXvnbz0lT98LhqMluu+eBYX+W6Pw4bbJht6/fVq7cp0JeX1Pp52+kr1E2+8e/Xkue4H72m6a6+/1eVKnIrnZmvduwxfBHFJg0AB1h/qi0MqK73IXKiGX+TyV7SktjSnlCHNQlJQmTIeYhvfcLu4BRBiaCFBLoCHL3Cw9aFROWEAviiC0aQUAxI6gdOrLF52BOJREHjXSPAAREAhClACw+kikPiORcCQi3bMNaqmkoKoFhTI1FOaDnyxKRJQYDF2MfCRxgNpOZR64EAxqBPZ45T/kJTcVQHqJcqQIdWCuLzoFQAEDRDUt9BRtGARwRCyGAYTCL0CBMCKRFAFbXjLrC+mc0c/Gr1yc/70tcUqVsDZNFzDzyym9u/o+K1n77l1bfa3/uro8GRqNl7qbIlCLK/bXShXogFPqRTcf9vKx/YM/OI3vv/a++fMeq5Wrc8lqm5vLJexMpl00B9wOEIP7+9b3eb9tb8+ObR2ha3DteH8OEbXpxLJke89Hz9xuvMT98W2bwyYc1M3Xy+07zVa+6AxPvxnAmLSYjzHCaWmHuI1KROlpFEAOI0K1cT4NJ2Q4qW4ECI95STA4GFqsZgAgSj++KFz4VTlaaEgXCSlGEv9FzAi4I/+Ajx7Ltl/klKL8GTLtDgVNNGcSH9B14nnKBhBQA0tIlWkBKIl0+JurgeijvxQ/UbzxVLkEAHlYC+mETNJVSACygSLviYJxgsshCLYSzCEszAAf1gNADgjNWrdEF1+NFxGwTKWhQVkGPqy6W+Jutd0eo9fxQ0x872PplD1i5UqnkI08WAY3rJQqZy9OjeXLG7dtEIzX66b7lJFX8wUYn43Bj1tMU86a7bFopduLHRHPbh0r1Rr9WoBskPCSmmpv5O3bK9OFGJl37+/Nb5pRcAyHYmOWOV/PO756cm+fznkm106r5lXR8Zu/OU/Rjat6/jkfT39vYvzHySLS2b3Zkx9onrAgFBXtEeKKvNLLEN9maCNuXUo9SawKEsryBSZuISWUE0yCKCEHQcP9CCEBhucyC9JA4REUMRwwL+QxS9y8cE1GsKOdiYAvsQFIijMjrae84ogocCECBkwrCEwE6TDaXamQbvRyjIaSA9OpKwCJ3JxRSJghRUdSO9SJLkUxDfHWCgUHBIlqECrXJFeGhKg4EQpS2a0ILFwiQFDNMwpgShi4YtkWZNwA1V6Ln5DuJJlTyTx9GDt8bvXffm+Dd/+0Znnjs0UKvW2oBvckzpmEfX+Vt/gRCaZL/7hX37Q0x5ye8Ll1LzLiKXTOZ9de+bhgY0DsX988WbK5hmbTn/jO0c0s+JwB6163qyXNJsP9fy+PT2fvX/Lb/zFe+MLpQu3jIu30g671t1ht4dj+s8+auzb2PY3r+5581zAtK5oVvLyYOrarfBtW9seusfv1qeGUrWePYbPh1dA0Bm0p1QO2E1MByPBwTQL/zF4UC6jr2kifBpNEC9LaWsVKkjIh/5ndaeflVtBg0YCLIpYQmPDMfyj+yUlLscZYws5HGYQUJCIKmfA5T1fnAKs0c4ov5ITcxkAAswLfgkgnIHPxw2nIkh8epBYjYEeMsQMYIYS+hLl1JQJlOCPT8tRNgIoKEoPKxKSBdQZF1mwC4jig0e9ZNMnSt+ghBS5kgu14VSkjst4rO/iBk21WnLi+uhsHNdW6JXimdL0ApbN40ofy13NgNsZ8Lp+6enN3/zavXdsbraq5mKqMj1XDARaPE5PsVIA+7mlnOF2PXbvunt2teAaPujz63ZPpY6+3G5zRm12TyToh9/PDc4klnDjrJZGZ4b98rFhfsWaX8rxRlrNpg/02v7oS9E/fXbr2p49mhaGNWq1hROnb/zJXy29+Fpn8nJg8nAtHUc7BF04MUNTQRkqBa3l8p4dFbRjPgD4EUvDOnIVyqAiCvxFLDUTwyJ2FkDihTp3zbJZTrvlcPCpSzzj5MTVhl320TLYl9sNC/eAOLJtMBVmYIr1XphKwI4GaMbk4pz1mQkuYyJZukaTaScuMkLrL/MFvHiXtU1KHnpRCQPnwqd49gryYGhKapSfY/CPL8dUUDBKoA//GRmsGpJEwDX8jZCixshmb6dMp3IYlMKPNMBAzVWoDpvBJaX4AgH4CD+8Cy2RjIlnrGsu6xpWMedzg7C2y2E7fXnuZy696sIkNXct5gWa223gDsXUAqako2F0VZZWKJWwyt7ttK/t7y6V4vNL5WLV+PDs5B/VLDyXWC7XfB6n3xuoVUpOo9Ieax2dKkUiMZ+veuz8yBdHlyAjVtIm00vhQAD3cUuJbPHqmG/rAB6P5QqTh3YGd/ZtevW054Vj74/PxNFY5vOpt97Nnznvv/uAZ0c823eHs6nX7nZpVXlBDZVHi0CT4QMjidJiUtQNak7Lob4BpNHLsy4KKH6JRgNKHmyJHFq4QY/WRgCQJkEITF4NF2LAxN1q0H6wBRFImFYACaYaKggB04qElAWAbPrBBzSRK4x48h9jL1UEgiI9h9HYkgwYcCqKhDxOQZSSgRTSIrjSEEjqDFqTsVKHtYmQzCIF/CMlLRASEpi0CVgAGYllESUo2fQAU8KW8ctCViGGPgSvO6PdbWt7u69NITOVLbORxTul7LhUhDBU0eO0nTg//vSN6WymjBpQrlQWU7lowNfTFf1vX/nky6+f/dYPT52/Op9M4T5EzY6lipoe9nuzOe+q3tgvfWrn//nuu8NTc143WsZqOpu32z2Yu8wXq9Va1uX1ahMLE7/wJ9q2Ve7H9vnuvk0P+PWo5fjines+cVvg/Rvv/eDQ1PVRtJeuRCL5/Mv1Mxdsd1wb93S19m4Kbt9f8/v1WlUWMXCgQJPRNI2DGVyzASWRSctDc+VJ/AJepnmICO8JJtp6XtA0zM4sKaOxGUHKGYq62FnmcmF2KUc+EXBKNiKInMMlyFAH3YMifJEmU4wJkZnEKQZhOa6AoERkbHCQJZDAUT2gWlQvVOAQooCOgFKIRuAxl2KoXlVJBDWoioz5KR2aOMrPP2qIM1YAmmC5JgCIYjCaCUEDcaCIq1HcHEfjjIcIke3Qa2tXxrpafelcoVis4A1UuKbHHVKkLKuKBmlivjI5n7NbVbTGuJZNZbN4Gnp6zro6Ft+0octWfz2NFSBmO+Zv4RfQjRo+3EqbWSphO5jb1vbeHJ1fKi5CfVmP6sbU95pe/9h0rliqBWu1er6wdOyifuxK5LajTV95xNq3CQ8o6lG996m9j921++2/ff3WC2+4qhWfZiuOjpdm/j2wc8/kqbf7vv+t8EOfz++/zxZrtuFunolVjmIdWIzWEpvTtmJdfDVMIUDcTVHymaDvxEzwgoDDIgw02Emy6RTJp8dkBCbwKMUfshSuOJIWpttkDCZlwljw8aVGQoCHFRUvFX1gxkBpOA+OImsBp9PwR/eJvJJAWyBDODWsIyRlhRz4wy9FQp6EgUqSBPLAmNlsPxgg0vAgB10vr6ZU+HJqi8gMQxICZYomxDlIZ8ThdgMsgEswhx3NIAMIG7Xcf+fWzs6uiZmF6bnkQiKTTKOJMEu1erGIlfO1kN9exupEzGDXKsDC1i7pHOaUvX/9f8/hpoXbF1ucHU+mu8PB8Ko+/927Oy9eWZxcWMJSof/2129q9aLd5dP0crWcLleWcHW2fX3Hn/3ne189ev0f3xqxZYtFdvb2kKVXTt8oXRyz37fV9qUHbOv76mY5GrYe/NoTgVV9N//1+drEFHZywDNpnuPvW5t2nq9Wuv/kF3q619Qf/Fz1nk/p3b0c3NSwQEV1OuIS1h4JCwkp6QPEwmJKMQtLxWD4EnvRVgg2aUiQQtcivmCQ0YrIgmekW6J10YxJo0Z4XPoxvlSUYMUl41gig80GiJMTC9FESZShlIyEP4DhT/iQfRnAMdJAIaBl3EFcOl9kwYlcxktQqGxpfQgA0dBcSwND6EZrRKdTWPWDMGW8EF0oQnQOihlYy8ZSfIhGFIQYcVWSSgCD3QwjntozFC0LqzWwR0Kv3dHR2Y6hosfj8HtcUZ9RKBZSmRJuf94aXbh4c+rG2NzsQjpb0DDAxuOIuAmCTWKaYj3JdHZ+cczrWo/bsl984raLq8avDC+cSqcT2RIGQ5DM5W5Go+Zx6tiJcS6e8gV83a2BcqUWqlWxLQNk97OCOIoV0/36aduxQccT+22fu6fe1RS0Ve99alfn+hWn/+H54tETmOd0WVrvpdPawOab63dUBs+u/84fVH78D+U7Htce+IyxegNGpBh9S19Ey4jdaQQcUJkVTJ3QJLxoklcRw8XiKTEPPKewGGYyhlHWpcnF44AGGUBJb0WDEgXBBMrEJL5EDk9gfIQc6jP5MkKEKn6BRyxGGb/ww2Bl9KvKT/KIJT48QgeSJH2If45GRCQ2HtCRZcgVIjI6oTCUCtkEZ/vE6w5mcsQOHGnsQIVC4Z8NGNBxABKisZ0VVsiRKtSARCYBGhFHFuTCoRAjqY6nmnHlVanUbAhx3G4wmyLeJq87HLY6O9tXr+rbv2dzLpNZXMpOTC/OLqTwyAaGMvFkseCyd7X3DU8O5TDgTRnPvTm4MIdSm9/tKRYtO5ZIlzL1etXpijYFnbZQZSGRfeI3fohJIatSb6kVIGMJl/ua7pUOuw4bpIu1f3nH/u55/Qt3W5/c74i4Nm1pDfz+V67t3DT5/GuV0UmXpq0Zuuzo3zi4erPj1uVt8Snni98uv/Fv6d33lR/5vLV9r83rtmro1zAGEh3Fkqo1wTkcrxwCEyOGMPSF25Cif/lhmyz2BJoYVIwPE9HEyuLiDQYHpGewyDnIqWCQHkAg6XnQpO+YgAekF0JScGl+/Mv4B+UsxpnA826G5KOUEChkEcnw0WZSAy4TUgZk4SBRR30Az2KQRAMl39JwgCgDEvn0v2oPJRAQM7QL+zLED+RQOEAnZEND8sBQEbsy8MYFbnphDgJjIlyYARUrcXgzA+B8XANrPbAcsRIIuzBuylTQj+GePfjZ2jtaunvb8axqyIuPnskUx6fmr9ycOXTcf+rK2K3h6v/+2w9DQbw6wY4HokulIpbwxsKhu7a0nxzEVHau1W8UC8npWeecvehyOtb9wlPts1NLR87kFhNuC69YcDjRFUACqDCZcP7xi7a3z5s/96B+cFtfj8/56AH/qoHkkQ8Sbx+tLSbXjFxydK2+2tVvnxrdbtk8xVzgyAvlD15Nb9ybf/iz5r77bE1NNk5H1ERv6khbc2c1GKXhT2TiDN/IQSnsT9ZyBrMjC7jKtcqS4myAIJPZYk8xMlI0OXNJjG0gvhuOYKbEVoMTfuhJQrL6E1I1Mmh+2LChiIHG220Qr4GNH8rK136TPbFwKsXCCmkQoY48hS4EJg5PkAYf6XkIx39pO6QUvR4DBmngMgQl5oCvelDgSg0kDi69MEygmFj+hzerMp4Yz9hUA3tOwdxaHTEEYqBo5kvYr0V3u2z2MmkiejAlUq+WdN1VRH/jsLcHAtFYZEVf5x23b/30J/e/ffjcP71wZC5VqNaqWGCEZzzSmVy1Ws+XtT071m5Z1fY//vno6EIGezPYbC6nPYqePrR9bWzNvdHPfbL84ZnyuydLV8dtFcwt2D3QCZujWZrz7Kjtxj9ZD223vvRQ5+o+w9Y+5H2g6cCu4gcnMu8e75+6aQRbbwSiQ5mlNZqtjJmAei188Ujo4tFc95rcfU/X7n1C7+2jCTGEkwtLdlY0CGuufEnISAYMLx5QBmYhAJWnxKlqfIMMcYuKDZqqQW45IhRVukyaE0YgocgVIDiTfom9ZyOm6EqTziCt5egheENMlBOEJfjFWi3yl9AmbyJRE/xTMwkUVkEpobICih+OjZCt2IAWHMr2BgdjHZQZvPQyQw2RizSmqpAJmMbc9DK6zMZi7tFyIpwRFnhAYylZP3bGdHtNn1cPB21uj47N6u32ElaqurHcVMsUTEOvYS0HpgoxyrAZDlyIp7KVlpDYBzHldm7ftSUQ8h3Hjh5l89S1eTw85HG7atUSTPbc25eiPqtcwjadkVotX65gGtrv92D/KlutWHG2xEKffdR89F7t5ojt6Cnz8PnK5AIiCAFfRGAXqs4XT2rHr9ef2t/25J2uNaHBISPw5BOdn7i7+NHZyKGTxsjcFdwt0epYEYJnatHGwwKByevBf/5G5qV/yB54xHz4s8b67agKRrWC2S1A0GK0pUQDvSIVl2eSjR86G707DQx3SJzIVbQ4C1YFPsoARCJ0He5XizeIyGECeeBbptRUrRb/C3OiSItF1sDmlQ1bB8VGfqSEsSgtGbEYCgDjtFBDIEQAYxBeZtuBXPJkAvzYC2EYInM2yFLNEXIlQRhoQDVIFPiUFGFBtcAKzwIiwHGGb5EMwQTiHOUJAxJhbAKUy0Mw4CmMTI9//ZtYioE5Qltrk6ezzd/TZe/rLPa3+zqbMaIOaI6q01bTHBjVWbUy3gtdq+u4Zxb1Y+qHMYTnxbxOo6O746BhrOprfTaTfvHN8z85NprJwDD6pZsJvnvF5qhWMi5nuFZL48KbU3CQGdPiWBOJuWrDadu8wbFrk+vnU+YH58qvvG+dG8Jd3KJpN/HAUTxv+9s3q6+dCjy6Z/Ptt12teOP24IpnHmt77L6W81djP/3gxLGz1XJlq2ag8oBuFZs8a5ovteh/7Z+zbz2X3Xa79YmfMXbdaQuHebGGiXL6pGEx6KTcDXcon9LF4g8YjZMTy7lwM0pwhvCipQFFo6PhFwg6hogSSvyGkYUm4xIsiKdg5AoPpbgAU7TEORKwQFBAioFggZlc+8GW2GaDZBv1YFl0idkGA6UawwtOxh+EBoIKneXrCKCzEPkSfACjvmRD3lIgV2fAxUckkQIWUhmwIoqYAVTQDCEL3ZaVLZjZsfLQaBbzivjYHPWg3xUMZvyuUjhQbI5VujuM3i7fyl6b241bsGUTk470Axq0sN+RLbr8ft/EzNJde9duWr/its1nv/3D4yevTqErtGuYFYoViwtQoTncEfG6Eri0x0wg2gs8VYY1tmYdj5eV64YtGPZ++iHj4du1yzeqPzlSe+dsJZ3TS6bD7XRMp+t/9Zr9B++v37v++uo1I/l1Pb2R8M5NBzat7n3wwJEX3x08e317FUJp2AYUc9V49BYfd7UYOvVm4dTb+b6Ntfufrt/zuNbVy1lGbLQOYyjfK99KTMCDtKRyJM1Crwtgo64qizKXLuNBawqM+BAGV1YmUeQ3xu+SyxCVCIGQuM+Kngm+JAAjEVTITGjSuctCEUZKGUbowuhlRY2ITBJaQCiQ6n2ktwZJNYgGDsmyvRB+gOelmQofti5gzHMJDl5SAhosG/EkTKSM5ZQSoBij8RWYeLaQG7yILWE31Cz13AhzcoioVMGXKti0ehJTOpqFwLKhu+rpCG7fEN66sbB9taevHb0DlrH6DVu0gh2ogwszMzcn4mt7m+8+uGnT+r63Prj69vHrZ69OYeGiYWA/fFy9ebe2RjNj05NHTq4I3+VrazVxTY+eEVOIlllGEGllLFKr37bZc9sG15dGyz98p/zqiUo677G5DLfDnSoaLx1vsh8719+f/uIzq2/rd2i2nm0bnl635tSJ62d/enzT6JAjGYdrMO0ktkYwGVisGBu9pP/9pcqP/q5835O5x75cXzGg43lbExcTsB4X9IvTaEaMFCUkYA+29PiDaZCD5o3Bonyx7EhksRNpeFUsT+MDt5FW8ChHh4B81XUAAWGBXgb8JABJVvmIqGw9xFf4AgM6TM5x9ls/vCZtC8FQhBZCsZaZZeiA+JHRDFME4bI8BgqrBZt8BgaKmIczag04UV5kFiOoHoqglJpCCwWZxDQC5ekneq++9Mql+LovR0PBjlB1+9jr7zz5NVipEXkMI854ujWtXTcGNAMvOhi06hmJVNRsNOrSORqt0eD6vk7fuj5jXZ++qqfa3jZvOucSyXy+fGDXartZzWYLZd2Nackbw1OHjl1899jlK0PDECro8VYquV8s5Pav7uh86r7mO/bZAj7UegffCIqlJrrfYziwDhyNAecuy7VrQ+XnDpuvnrDlig682MzlwKzDzWL2o3DE85Uvbrxnu12rYB4Nk1g3p/LXB2fX5+fdFy6kL14v44k2WpgXmLj+h+wBzQxqZjnSMf/I5xOPfaHc0a3xGVmMspW/adUaXKCsSWXhO2TChfQHlecPDvqUOLCzJBgdcgpwcTqLmAXv0Akso6skgw0OKCLICaqKCacISIr9Gw8BgEeABwwGEMfU0rLRWBzvYJpYADBHrCIIlyJse0RiwEgKOiAOILWcgQKlZKNB/UCdl2McRTOsKRO/QA0/rFSc8MEdKRNbIlRmn+698uNXzi+sezYaDHWFyltGX3/n6a8BktdoJIuQRABh6bQV0fS1uh1zyeNa/RZrKc0HpRFe4OLTrB2aLcxMHXu64pH67Iq2yY6W2S2bdj+4r6fJk4mnKg5voaLn8mVDNxMLibcOn/63V49OxdGWVT9fLd5tlkAttrav69G7I7fvdLc3c1DPWUoNjw1hD2uoQQVxEYHbaVeGqn/7kvXOOYwlXR43JB0sZN/HYtvPP7Pp8btwqxz5Xo9jfD5zYTy3usXXnF1MHT1dPn2hMjmLCx1ccto1W5dua5fevqhVkm0rJx59dvqhpwstrdiqTZ4roicw6GGzBL5qMobMG77AD4xAX9LAFA2QFFK+YWQ0MKiKdIhk80fAACAtBQig6ZF4RD4K5YT45EBfCSI6G/QrCBRyA6CMjAmj//Zz10kAtULoAkuMRL/B/UiDOb6hAW8+iOTIAScKC9Hk5pdELyKPPAklQhG+EV4EhiEgMZAoFjZkZRr/hr888+neKz957dL82i9GQ+GuQHFP+ezpb36/nsqXE0vFRLK+lNYKOciIKuvTtBWaPaYZZU27oplpWoGigBQ+cCtmf3u5hEtMolnDWnlcMzNrBrp/8+cP3r+9ks3WSrVUzRVPFvgcCALZrA7fGPnrH7x55PLwA7X8Z8wqIhWh69S0QFdr6x23tT180LO2v4bg0S2PobMBAjuaESNjGq725keVb/9IvznpsruxxuJCKf+BZoYfvmfns0+6w1ybjQHZxGz6o5tLW9d0DrT7cgtLxcvXasdOl88N1rKZiGZvA1W5MHbiZp9mLXWtvfrML4ze/0TF57fhSo1+IT9pHGhgHBBRar3qrRhbzAQUSySY2EbxBGdqyALjc/kwGwhkElDOiLN8LtmMIcYJvqCn+BScmaPokSL6JEQmSMCR//W568JZEZKOCQQlaNi04OYWz4iMCEAkMU25mAYiwwt+oAepoZTIlwgPCAXKlkyJCaGYJ/Kgbmn2YHn66RWDL792YXH1F8LhaLcvu79p6sqtFG6wYqlyNZfFZLO2ENdn5p0LC/5UJpzL+7JFRzozmc1Nm7Ws1CQudBEJu3V9PRe6MJig4rhVH+HMcnUhFnn0kwe6H72j1NVmecMTcznMcrN1xPrZcmlmfO71D8/f/OmhzxaybuxSJKJiGge1OeDxhnesjd23L7x/m7ezFT0Z3/IqTT22j8FSNc0TsJbSlX96qf69d+3ZImYXLtUrh7VqdNXA1q98pmPPRvS0aMNuTaQuDifWr2pf2xPGu/LwQH/hxkjt0PH60TO2xBLWuTk0o6BbrZbNq1Vxo21p8/7LX/zN6V37OcVqot9jxw+BIRInkRgN9Ar6FbTw6ApgUhnNwPtsJ6C7Mrh8Ex7ALID5xQFIqgACJoDpKWY0ggfQPGc+AelpfpD4GGDZwb/1o+sChytiSMEvnEJK0EVHxoaHcjJ6KKPEnJKJXRqfCMMvC/DFsGQoARjolJOSMcKQCUoSZkIEXzjIQzMCldknV1x7+dVzswOfD4YQQLnbo+NXbqQxbVPCvmRYvVoq2LDiy+1Gjt9lj7lMT7VYz+Rq8fT8yOz8zfGlqzfzN0aMbAYkY5p9u46XapAvFEla5hWrhhtg41ptQNPu8Adr9+5wf+3LKX8ksZjFeB3GwX2x1Owi5hhnLg2WfviyJ512ygQ9pAMdBCKe28fLOzztLW13bG96+Hb/tg0YE3E/oyquwEtavYIdRTRv0Dx7sfaXz5lHLmK/4nOa+Z5W6XC5e+8/uOJT9wZWduYr9YmxxcGhhc62yPYNXU6XHQ+u8YbN7Ez9nQ+td0545uNFzZYSU+NGissqu52h2Sd/4fLnfrkYjtgwZQpr0pD0If7E6zChBJFkowAyizcb3lVpsTWSctbIYoSBHDKlW6InlgNGtVg8ZcMgUcVSFsscCdHAl1EAYvpvPYdBdKMNRFAzm1FCbqrJARVkghS5oYgRwzT+8eHwhN+UQLIlB0lplSilBI6wJDJJkY5UIn7Z/JX5J3quvvLKmdnVX/YHIx3+/MHgyM3RDJ5WLsmMba2CmZ463niAx7s8LntL1BvwcVoFhLDxz1yqkllMFMYny+evYo2Oc2x6e6Hmxep5Vlh7StOuaXW0Ukualte1py0HVn9l92yM/Np/mg421x1YlYbJSMwHZRdmExjzJm6OW2+9q90agaR45y+uUZUR0CY52ezUgw5X06aB5of2u+/ZbetpozLlklbKo9nSw01WqVj/6Qf177xcvzp2VKshjNo0y+v1R3aui921x7t17Vy6du7yFGYt927ujEV9WP+ITpwXw4vz7kPHCy8dXliMI3yDOvtorHYL43pz7e7BL/3m9O6DWDeJmXE2NuI4Oo8+hgiNn0YTAZkb/mSfAEcSRjUcrMaMCDXuZg2DLwhPYyHJ4Sq7OJzQS8SUxkxOCIJyelbKCIO///rcNXoT2cteF9eDC+HgbwWGEwLgjOHDM4gGaXgmt2GpjxRwWS2yiAjBeHlPLF5XEh0VmvJSApxhKKa5CrOPdV975eVTSxueDQSjrtz1uzpSCwkGF9oHHLgRicsUu2F383CEg+6WoLOKO2Rosk0rni7HlzKVQsFwuTBz4y0Xe6sFz8SMOThSuzqcH5sbS6emNTRC+pCm3687N2rGPBYXedzxgc7qni2e3Tuc3V14tjA1vVAuljLpAuLUcfZM7rX3zEIB3QoCiBcQDCAIzCtBdG0InEBTzHNwi+OT++3b1us+p5XL0NzBZs3lsOJL5suHC9/76Wu3Rkc1rVXG+HbNcK/pjTxwsNq/8txUEU9jH9jc3tXsdWI1E2Yd8BySwyqPTs0/92b97ZOBTM6tYfE3N+7UrIpheOf3PXjumV9Ib9yGK0MdN9TQ/mUyJqqDy6nCSOzKEGoEDGzOQSfOUELRxffQAL4GGCNFAojDnGWPMyKpJImoUnXKcwLTJ6z8ZENtJTp++7lrfH8k+cBMQMc/ChoYCAScQBQVTxJBbG+QQ1jpwiQmgEs5AAwUAuObZ4gYnOEPtLlqjqUkR2Tk8XIsM/1Q79ArLx6rbPtZj9ObuPjjz961Ml+w4ZlkdjAII6wCqlRgMrzZyY2Z46ALC+whYRnPb1TNpWw5lc4XU0k4wYH3Rnk93d3RsM+FLsYqFOvTc+mLN8c/ujL14ZmbUzMdmv0x3VHUtEmrtqjV4poZCIVC29e7Du6u96/IYoVsCntQV3o29tmmptIvvVU4c9lWLWMuCj01ujNpkBhJTbhS41UhHk50GJv6nE/c7rhvj+7HhJGphVsYdbgps5haeP7N7/7dj+qpbBhTATQF5gp1bUWXsX//iCem+fwHd6xY2e7zeLy4bseIHGvgsrlS6dZY8ZXDziNn8NQtGlEfHYYXBVWGXcGZ3Xfn9z2Q3bDN8odNX9B0OWTVUcPNsCasKxUV3kQzgxVW0rLQ5LzEoeUZQShki8QTpAjCLObyS6bFudaYcUIHKEB2mhRF4lXaAALjMh5jINWfwrsgyTxiMs0/ZjZSRGAOV6jzVwqkjHEm41Zki5Rsp9DYMvgYtkhwAkkQUA72VEmADUdu9tHewddf/ii5/gvhaJvbXjtQP3P9f/2lLxzRQyGrOWpGo3jBkyMa8YYiLg/eieluC7kRe3gevlytZ3NogXKldBos3H6f3eVsbvK1hbykzgDVcqXa/GIuMzl3419+OPX2kc9p7ojNft2qTmOSkOuhTAcW1ev24poV+t0H7GtXpmeX3NFI56pOTA1Urg/nXj9UPHUJA22+lZNjWAZQSNfbNYNvNUMPiDDCboR9He4vPOB88DbN69M8Iept6MVy5cLbJ879/XP1a6PAAjoCESOftG7kOtqnnT7/xs0PPHZw0/oOEMI+o3ycFg/UYhITi6yvDVeff8P14RX0srLUXS9YtUmtnNa0gi9a7N+0tH2/c8/9lfUbsaG/NA2cmGaVhcdpdPE9hggMAjoUJfhqWJ9pukAyiI0/QMCGTEo2/IUUWioZpCMLTsQZ8hBECAmCohABdA3jKNAgd/GqsMQp/giHXBVSgGdasJBmw85RM9SDXXhIoJEPkviXOxJEhkxAxIdEVfiAh4ohDErKM0+vuPrGq6cn+z8Xa+5wGNU7zYsXH/8yFi3juj2LMYbNbmJhcytutXeFerpi/d1dHTHL5TSDvpTTqwWDyVwlHU9ptbLXF7C7HIGgp6fZD9lwwAaZXGkmnsOKs8zQ8Om/+O4dI5Ob67i8t5Z0K0crUzzAVrVaCisjb9/t2LerqhsdA52BsM9we6Ba5cZw8a2jhePnLIYpYsjwanqnboSlPcW1HPSVORvTec9211eftK1bieYJumZSqflkvpAujb705sIbR+vZPGIO6Lg0T2vmvKbNIm7aOx955sE7HjngbI5h7OI1rEq5gscs0bVhu7Ti0Y8y337Bujnp0LCWyXZFq9206mj5MC8PZw61rwv95Y89TU2Yv6YQ4nloBIUkDhBRsDf1o68JwXhnDrUmOAONBXAQc8USBBB0AuEgEl1HEGLSsAoXaTyYQiqKH1kJIfobDFgkRCArMOh0/IpIJAB1JSyEn5AU4uhSpY/jAIVLXEVCxKwM3GTMTwlAV0Ua2ykLI1A0+xzlg7pN83hDsfDNdLZdc/g1LYeRzVJGX0plrw1XsPUdcHEPwW5Pexy5gK/U1WL091ZWdDsHVljhEGZicF8UN7O4cJ468Bs3miCvKxpue/jedMCnL0z4nns7n06jg0iL3RAleOW8s17PHPlQm5pzPXhXJuFHIHKzGcNwb1jn2bAm9Onp6odnK0dPVm5NgkPRcgY4T6pMB06cy6wcOlu/MeX++rOOu3daZbOUL5jFgt2h9X/u8db9uxff/TDx0bnKQhxGDnCAQgclZqdf+fN/WvzJm/s+cXf3Y/eYPa1OzArV0G9XsG+b6559/jUD1Rffqj13qIBN/9gxWQmsyNathGXOtvVuczpxG4Dz1tBVrudBHPUaLmMO/mWArBLKgQCVBKKCxfgmnECCDtDRQdAPDBp8cSoItZHA4C4J5hMFJ1xswA5MvonAcKXRGzRJCZjMRfuFTPIEKppiycUpUFHE8Q0CVJAJgOCnGGoDAMIyFpHPFCuuwidrPA6GESUmDFg7MMmBy6dAKBgNayOTGKOs0oy0prfohlvTp/lKDw2VeNq0miu1eKVcTmcqU9Olj87X8YxUX1ft4G2xXVttA/21mA+jSwyDwBSvQkTEYSyPQXioJZQMRMxnH2h7+EDpf/1j7dRlPBvGFx5qBu6soU3FFVBpaDj3YsH25CdKbTGfA7PfvM2JVtaJVWSr+vWnH9Qu36y8e1w7eamczDikRYHW8B3Uxds7zKnF0m//re1bv2rbt4UvqvL48FRauVzwtftdX3y064kHUucG40c+yly9iWmuMF6zx0t369jYdPLb//bgT94d+Pxj/s88pGOXyHwRC+lw79SH2fD/8oXKvXum/u6F5OEzVQv3bXhlAk9377zD09JiFnNIs82QW5t0FdpJniuLq8EDLE9r0/K0B9sU/NFHEijKc6CDg10QdGEJ2yt6j2AISt7CE0fyS8UI90hEAKgTEIffyUBQyFMlOJX+ccwx3vCPA1iIGzWKR/CQCJsfXkWSDhopxha1k4iBRmJm0sdBffiN6ywEIG6Q8v479l7Fy568cL/0X5g007yWntHMbtxo14wprR7SbBndzLESGxlNb9bscc3K49bA8Hh8eCz7vVcj3W3mhpXdmweM1b1Gf4/b63N57Nj11VZ1+sKBQq6QWMx0btvY85e/W/rB6/VX358dmS5rFZETs3lQ2J6fnU3/6OWk3+XZuwXW5LS9zYnnUPFYCPbHc9+123v7Tmc8bjt1wXznhHVhSCugaYAlMA0Cu9vriXThd/7e86e/qPV1omaUC7yOhDM81Zzms/ke3Nn1wL7U4MjkoWMzH57TsllYAxdcNyytc2q+64/+ufbuR/5fftrcvkHHCiXcW4WXa3XX5tWdf/K16hsfzjz/0+KV4SSm13ELr60LvRmbbjqZcQNYWlnG+5Kg6xsJZNLXBIUH8Q8ngTgSdA+aAAknKRVyDTQZ3whNxol4FqgSfkDU9d/50SBociTO0MPB0JZgAVlGGbgwjFjCvwZ/xjBOlRiEwJ+c4JtM8KcwgccGp5HBFGkRgB+EmLu08JmB60ffOH215Ym2zl6Mi+/uK9r+6A9uvPFBMl+x57K43Qi/ouEZ0BwTnL/Tg5zC1uA09GgLutWm2RYYe+hF4EbTq1lBzVzB6xeHvTng7G4da29d2rfN2b+iUKkmFpK9a/u3rG6BTzHRbeUr0x9ezBw6kTxxIRNfLJMy4hLNUt0dDvU/+3Tz3XsNpxOhwd2vEB/YVx/PuDoMl8flQDdZKhpDo9Z7J6tvfVS7NQ3dsRAWhqvjTmokYHtkd2HPpnhLcwENp10P+r0YHmOAbHcYdYcXVSU1MjX5xgfXD59IFIoVbiuqfdFybMQtGocjd8/O2GcfjuzYwAUqGCZrVqlcmU1VW5x67shH57//2txYovhXb9rWrsJQCU5r+Ai8GRLiGFoYEqHuM65UQ0Pb0+48lVaIkEQQYFgPF5Z0EiOCoctSRgtJNXqVxit52TpxoRcCiAEoHhUqRCcLhCTnzRsFEknMl4BGIyO7rZOTymSssYzY+GUrpApUHvs5isLWiP+AEI3hF19l8XP9g++/c/p85LH2jt5izdrfnesv3hofTWfiycWLV90jk9FCoZBO91SrgboVx7ueqlULb4Wq1aYLpSXsxSBeR2+CYQhm/NDZYYTRoxshDc+aaSFNm9Yq53Ht2Ntu27PNvnuHFo7etb3b6XFjLgnBUazbMvlaeWI28d7xmZffyo9PpvHgD1xi1SN2R9u9e5uffMizso9tOtZpI4LseI7WjjDCHQmYyeGxe7x2LbFUP3Gp8vIR8/hVM4s7d1xKhkBKuF3zm1ca9+6L7NmCeXRMq8MOdnTUtVq2THIep31qcPzwP700dX0IKDFd/7yGeLWua2WH273hk3f1/vzTRm8HHn6tlcvZQsXrddm9zvx86tKZmavrP23z4r3E8GXDhyp8YBBO71AAOhK2Xz5lvriCPpAS3pSRSo9zEpGYoYsUIroMubvAqR7Ay2hacOk/kueCMsUVJypYyJa5DDsUARNpDkMJz0IUC1FkgAYzWCi/+GL7A7bSILFEGBOOCbZ0KBNJEW1oxzTc4nZjfRdnyakMSnHzx4F9UiM2w+P1hwKOO/c6o5FmlxawW0G77kqmcWmE1SsQLDCduPnOR0sfnk5OTgYZQLjvQrvg4EUiqOFSC42c5XSYlcL4THV8unJt2P+5pwqVTt3MOzwuDEDhgSK2GW9tin72UfuBXfOvvVt6+S3EK26KFWpm5s33yx9dDN+3P/bIXa6+Xh1b56Mh58ioscFTtVTFuiF7MGw8cqfn/v3m9ZH66+/jDqs2Ogsxmko1x6mrs2eujq9f6Xvs3vYDW+yYeYZYkBIvRqtjva5z/Z4NerT50L++NPLBiaRlvahXt6Cbxl4r2Bzp+bdTH13Rv/Kp0CN32H3esAtzQzWjrqfrtXj3GsOH2Qo2FRyA0uKiupiAPm3UVIkU1niyFT9xtIH2RcFLvyfeoceVO+kfdQAIaQUNeNicLuRBGshHt4gs2Jq8YRflAFQ2nAIBPqaxSELgBUxFD6UFtEjBXxQJsNAHWxazkMMkwjJcyBUhIu0TUXDgPiP2dAFDtFkMLWYJOy70xIocm71eKWIZTd7mw6ZRJQRNe6vb58CMCSB7V/eYawZuHthlnThXePuwb3FRSEBNrhkCB7el41od42jUAV7saVrp0rWk+UK6JxBa3WlhAgjGt1khv1HCksSS6YwGm55+qNTVkf/XH+ozc9ytGuOTVHb++TdSbx3D/dTmh+/wb15n+DywDWIITMAMc5YYXnLrfPhy41rb5jX2Lz9mHj5Ve+lI/czNaF0PmMbclaGhq0PJnRu6n3qgeed67OTnMfCwrMPt45xWR1f0wBef8jdFL7721o1qbUy3Vmv6Xs0e1uzzk7PVP/ib+tsfRX/9C4UVnbgQ8hl4OKmecnRytQSHrzSa8hxMSpNzTMIN3uAgWpMHb2uKiRkR9CY9JA7mOIJ2J6yKAMIzPkiUAxvRk/ZkAQDpRyIQjStAEak4KAVaXvzgo/rNRmCxg20cTPCZYSJL6JAqZWFWA4ZZsCu/WUZyYMFSNgnExD+/kY+1x2qTTQGV4AZTqEpybOdwdVWvYNcObs+Bx7tw0epzY10fR+owDcaYPTFPojVW2bc7uHm97co1x5Xr9skZTxp7SVWw3ziiw2PZcKnVpOkTvM7SPJo9ceXayV/4w9iBLa5n7nPs2qpjd1ebDUtgFznpzLUgnt6Oli88k/zBT6rj47jBKfOHNrwvKP7To+l3TkQ2DbQ9cHvgwG16VzskRFcKFRE6DYNwo3zT1tKi/8wnbJ+8wzp1pf6Dt/WjF3pKdb+lXz196cy5a217Nq966gGMbzS3A7flMfDAqzxCQfeOxx90eP3nXnq1VCzMcWTN1ZhOPimr1Y+dS10bMX7p05HPPoJFAjcWzFpnGxrij9mKALAoKwpDh0kavdE24JQuou9URKmwA5g4AkHA6WTMpSCGJJ5YDgJSIUlMASp34xsfNmGA+J3nBwUDOcqprFJ0IGmDO+kLD5yxQEqIKeUsApowJRO0NjhjpaD0UiiwFAX/TJO8tAf4IYazEv+ZgRun3jt1ynNv54o1hZptf0d6jX3q1kw1j02j8FR8oeA0EDq4VcE3gvu89qagw4ttY5RJdA2T0cc/vF4sllv72j0uj6dSDibjrslZ1/ikMTpdn1qwEumFZPqShgdP0bXZE5jF1qyH0L94fbb7d/o+96Bz+2YIsriYx5OvZThvaj6fKdXTucUXX9Gv32iRyQ5MwKBbhHaYpcEwy9ccC+7dHL73gHvnBn97MxbZWZg0olmgvbIN5OMibQxfzHNX6t9/y3zvPHrGa5p5SzM9Nntg00DHA/va9m93RAPYb7ZYgr5YGFK9cOLK9eNnqkPXBsrFz2noZWlHOHLIwmW/Hrln18SeTadb743ddifuY4AjPYcvmpXcyVtS9BSbSYhBAnQ5M1DICo/bROIZwVxueKRhYTkbV6EnuMBSZOlZ5CtuUm7Tf/d5DqKRLQ5BiiD4p0yN6yfiIIfsBV3AG+EmadJVvR5hBFioE08ijnlkrG53QEJWV+Qg8Ax7cfHpgZEz75266L2zvWc1ntg52J3pGHx36Px4GePVgL+Ou6R+ryMUcAfxBjoH3t8c8TtifkwUwg7o2KGjhTfMnzl2xe1ztfV3eTCLFPNHAnicENcvlpbLafNxfXZx7PKt8y8frmJaWTMXNb1Pt99t2SuYdPR5XQ/vDn/pMXNgYCZZyS+lp25MFIoYwzpr+PnghPHeh6FqBcGXwdoBuUUv9yVgVIyf7ME1Pe0PH/A9eEAfWKE5nTruQoj1Gd/S2NP7eG05rvgGb9Vf/bD6Jl58P3lBw4QyB2qBnvbm27fG9m2xtTdbTqxg0cZmspdHc7OTi+VLp7bcunIn5jI1Y4ZPmmONh467GeU1+7S/fg47q8vIFMxoW7G88g9zcMrc5WGBCiLkyHSujLk5kuOhihAi8DhtKZnMVg5iBgERUKjvDCsUAVQ1EoiL35MAUgGMxoG9lYSPEGJ4IAeOojFUqybNDEnIJBDokQNRJErYgkqWoLKUhwzeGZIMOwCSOPPhf5ujEH9izfTZ905ddu1t711TrOt39eecv/u1K8+/W0BzhatntxMrQ7VIwNXZ7O3p9Le3tXQ193RGsLcq3sCroxVxu/NV88LFyfEbk01d0bbujuaYvy2K+w3CEm0D76nbcBl86+rE0smLyXfenzx3qVivPaK7O9FpW2ZSq+AdmeG960v7dkyvWDE2l63Vah7sRgalHXZfMuE5fckYn56enE3GE0GsDcKNBbEr/IRbpO2aFgkFbXvWOZ+8z377Lj3oxcwNPxx3UFHeaoAwqKNYPJTIWicuf/Tcm6eOnw9qGqbaYXwXnorcuz525456d6vu9uYK2tXp8vBCNT8ydOflM+unJnJ4AlKzJTUTt1Amv/Gv9Ycfwe058ayKA3GXavw4p8mDXhZXcNggUPhC2DAU8JFWBV90Cr74h0I6h74lATWBT48xaPhhj8arBwlXBAtyMCoQXBqCvgWq4KumhM4WaQSOQqEcV07SgqCIgvCP0Jzw5igdQosQgEZnTYqUhrQpqdIRcqKIaeRjHGsWHXqZm4Ijz9BcetVIFVFBcxjD1k0DD6Vif/nFxdzNkQzvZWKRud2HlR1YyeBy1v0uI+S1cLfV6S5HWuKuDf5IvrUlSLdBFAqGlV9UolIo2bBd+YHbnJvWVt48MvajV64WS03Yz0O3hTRXLltOvn3GePvMQlMwd2CXa9t2NI7YHQarRryb1rTevw97L7YuJsaOnh79zo9cqUxQc6Z5xwBa2SqIwnSp+tbp2tvn7FtXOp6403HffltnO2t0BS/JQxhhcIEZbejnsCJ+++N3btq/PflPPxn+wSvoNZtwdyybn3v75NLRi+Hta2IP729aP7B3U3P3fOGUY/WFXtymybqPfzh67lpPueDe9Yh55z0a1peRNa0q9hY3MQNOYRYHKBIKcA39z0lAJugLCRr8NtoT/DA60JyJe0iOQPJFhyAts6yMPAYR6wHdBgD8Y5jGoGkMiNgS8qFGWciqrjUBBDDikSSFEtIydAcFntFTyl8kKgcDhYVEZimhSAZRiz+CqVBCOdTBHC/aOex5gDRGUZyU5mvoeMg9E+Tg+hw3w5GwPDKKt4o1jW/DLFTnLdREmQqtY+FMbmrG73uko6uZ/MBOpFbM8Q3WJl77U68FsPHqUmH68NF4Lutlx2MgjLJSEwLx9NgrbxcyBd9j9+PpMQ/2tML8AroWn8vZ1b7ymUe0sH/oT7/TkS5hlyAMz/FXBFW+78OBtHn+Vu38rdTfvOR/YI/7sTtsG9boWOkj3lPWwV0ZdGe4el/15MOhtWsvfuf7M1cGA7jDjw6tXEuduJg4NRje2B+5Z2//7s3BHbGPBpMvpPSNn3x8/RMPt4zMXDrwczXs34ZH2MQbcLp4FMpRFMYGffUfdx5xwtpDS1AI5RFGijgO+azkxJGKjmIaWQ6C0nHqRIKIoUIWaCr4z0JueocfWpthBEpoG4zc/A1XIOjytaPBa4QwjMsGgwKqCCBWI91gg1NcgSC/IQEARD8BgwJAJxv8EYBI+KfcuJqAHBa2BKeitAyuTDDmQAwBUnpsYkoRf7BW0MlWj1TUD2DKuFyq11IffDi+MB+ufqbj8TswzUPjUWRIZmImWZ4nQY+KRwYr4YHulPeh5Nxkz9CYNb2AYQ3IYh2bB5sqmtWF997PlIpNTz5odLdzrReEqdaxxAv7WffetQ/zxrf+5gcbMOLlomg+7YUgDsNtrDCcGXGhr/vXV9w/fCe4Z4P9U3caB2/Tm5u47gMT6RAIlwQeI+IrVlev2PwbvzzyyjtLhw5n02jVDD/WkdXN5MUbmYu3vF2tgd2bdm/e9F7Nen8w597Ra33pmbStDQuqoTj9K5px1dRymCBFRyrfsuXgMAl/+ChDoQbSqBBRTSmyhBHAIBNvIj4UpJBRrxRCCTDoFyDTYcs0keCFhUwmCATWsKApKORqt76Xie6K9OwIBtvgG+ABm/LiS4IIRJgmOWYi2Zh1kFAklBRLGSURSDRpHGpDVoXNaELQ4g5TrYbFPVhQASQ88Y6toxIFbHAHMJoKc7fotqT5geqQDw/8ARB4VEqx5zQ0TimiLXdjaPS//VnLm4dWbl1lrew2Ojv05ogexWJUN2cO8VoozghU4cRQa0R/cI9nTav13keVH73juzQyh7tdmiOo2WY1M3v8lHN0Qn/8/sB9B7RosMJBICaOcV+h3n/X3kHTlpxeah+5FT836Mznc1jtip0wOctFOVw2I6IZiVKtduSs/8hFa3WH8ak7fZ+4y7aihwJjSF7klAGeCQmFXSuffqh117aJl99InDqHLSSCDEHMK1nFqbnk1Kz35SNrOtqLKzZe6OjHtv02zGrRMmy5OQ6WCokEGwJYg9TpXqRRxOhhG0OTI5ikTJoJeo0tEq3Ib8EgNUpPj7NEAkXapkaOWF0iUqGQiv57L+BeGBxrlJMzlcIc3mpS1YILP/25rGV09u9wNW20d97u8ERwHU3voD+HByk1goIBzkaFB6yrRsrqch2wKGCDpAAIJJCIbnLlGRXmKLUQf7L32qlDJz7Sdw+s3Z6Yu7WmN5y7MJOfmNaLxWo67kgs6JkkFtc4UwlnctFdzvXy3ioEop44UKlBaUqzjmtWXFrvmKZtxyM+0jZgYY2Jd2s0Rczu5qmu9kRf30zNnkgXm/xOrVTEpox77twUCHnMdKZ65Mzsd19LnryypNUvM2RtbfLeWv/KnvCO9d7VK+xdHZHVPa5IBCvks/GlwRvTG3esb1qarx49kzt00ntjzF5BWGDEzt33oB/urC3BSBb2ecXguW62RFvuuc322F3GltV4DAN1BE88xpO47wFD2rG+O37x2sSPf1q+fsvNe2q2gEwxy/QB1u7r6Sd/KfIbX5fOnr6lI8FFRYBYAKZgnthXQgdnKkN+YCScAUB+GemAVxZkWyXIgsGOi/nS3TSykcFTCIMfug8jUbm+0n//+asYxeamLtRu/Es9fnms0q7jifL0FayGmFksWaH2dXd/tbX/AKqlBIzNLOe4vaArwCVU0ALIFEgiis0qkggSCRZpGGFKZPGxHkALZ2igGlLAYVjpKCSf6r9x6f1TR2rbWpu7bl050bv3UU8oJjQQXzJWxwi0XNTzGVsm7ZiZjk4OtSbjuCNWw9AUE9aVsjfPRWVHhq/kcgmYHpdIuzVjG+47UBreZwZkTjOvaNU5h2N67Rr7ngPBlkiz1/CHfTv2ro2EPLSKYa9jK7wjZxLff2PwzNXJerVfbvVU8CpODu4xInIbsXBwRZuvv9e1pi/jdA7ZIvvu2tQSdleWso6RUTyjo79/vnZzUq+VEEZOmz1raQuySLRZ1/EUSFmrhl1u98411idu127bUvAHMpnK4kIGE4kO3HqHMTLFqWNn4m8dro+No9HF8z2wnrTZvMQofvqr4f/ydWyFw6ULiDuxu6qTEgkMD4kJueqTAOEXchkq+GJ0qZBgCh5lqDBgJJdAoimbBiJJgIGiag2QuRx17G8YRUD+8v/+t86VuxKnvxe/+k9aKXNjEdtaFJyVounwpfK2vCvw4C98u6drPWiBHsYBicHXXLE2X9NaOzZVmbtotK61uaLS7MFi7GIYnNL8UWK52oKUnA2ixBQUMKCFEINL8DC8vZT6dM/l66cvvZnd0LNuD3YtQCYbXwEGmISQNGWggkxctCEq/qMnRbdh2bCqoVYpDN9c/Ps/Cpw7hC5vg+bYx2WBZITLcfggYdYvWdVxzZzQzGJPT8d9D6za0Bv2O7fuGAiHfFLpcJWNTam50Uzt/LVLL7xdeO1EzLTyvDNlYvYI9U/swHEhdMWrfmb7Blxf+fID+1Yix4XVQy6Hkcmag7fMw6fr75+3bmEJUzXJFT8UvMVmS1tWgc9aYCZTL/e3eO7fq9+xtxyJLSwWMDMa9OOxgJo36J+dSBbPX4m/e7RwcxR6ifF0rGPMYPOHX/lG8xd+ETdlGUESEZQJFhffSpJuFa9TXJTQ2TCijG2oJk0rTQ5L1R+L1XCCrmFcCQJnpwlEF1AFUsIsAfxJ3sjA7hyZ5Gw4n8Idn6p7TRpDTVfepi94Hbmro0WfG7tVBMrZeCGXLhSWPJjFMzzZwR/mYt1zNSd2fcdycL9mNfceYMAgiEpFW/qczddpusKWM8IWSw40A6IDGeJPwotRz71tcc4AZzmY4wW7XK6JG0XSjjETf1SBWOzyGX+YHYBOHNTjF0REMVsNSwfXb+r8o3/Kvvh/rX//ZrmQRi8EBG6njVU5qLKyAiQlfVNyYmL25Zf6fI8F7tyDMbKwgGwWVKylclXsOXVwx7Y9mz/s/H7m71/sw8vlseRIs1JciqoVuf6V47VatmBdujD10k9PxLDtfQsfg0T0eTz2vdts+7bbfyVtnh00f/ph+Og5bSGxqGlzpoWVcRgtFPCMEZYvjsws/d0L5RfeC9y3O3LvwbQ3milqTZEAbv91dkfrPXf13rsncW00del68vL1+thkOZOqWLXk33+j3r2y/c57OQ9Eq9BE0I1hwlkUHsqmnA+ibWEluJ1Fki/BpBCZJeFFIggG8ZdyGhwg0MhnZCkvgA5HVDSUJNkg2QtjJ87GU35XNTbwiJmcDbV70pNn8BrJrvZBo55YtbljXXdn0e6OD501s4NeK5eevzo9eAFdh+ENY2Owjb33N+MFDFgXYbNnpm8MHfn6+pWtgfVfqrfeTz7QCoHFOEHrAUmoEGMZOfInkiCXxZihKmPWB9Ou1Ibas0uE7lI18AVyuMwBOnRg0EmdQmMKIPZz+MfDGy5X8PO/Ul6/I/3336hcu+TWKrY6NgNiYwdSS4gDjMxlf+5yPDH+ne/1pZPOZx+3Au1oCjGYB5jT46oUyjU8/Or1bP35p86GYmDQgkGSWevF5XyxshRPTV6+lRwcqqSSIOo7eWxw1eoNvXf1NbuLJdz5xZrBugOdp99vu2ev7a7d9vFp51vH7T9+L3V9JMHmB1dy2BlOj6N/tLR8PJn9wRvud0+GHzpo7t2TcrXGUEaFTJvX07lva3TnprmZpDuXyQ2Nz527rJ09f+1/fNVy/2vrrl21Mq4xYD1+6PDGXA9NhN6Gg1JaRkppeGVLoY1yWhfOkDjBxA3tSWJCSBXiBLWT1OlFFhGt8cMMPEdmsyeWvJff+ru2TevveuLXN2+5p7i4cCt+uWx6vG5nqWSfK3tsE1OGOQn/psZPj88Mof9t9nAPtBlUIl8gOX6iuaXXG+mFvw1XoFJ0LEzPevrxkC7bHyolEUxRyJ4H2w8WcnSEXOTjI5uCYzyjZiwl0qgjYgXQMr0gdgA4AhG8YCygNTQTNQkIBljGatZdO3Zl//TfDg9d9yzF3YlF3+JUdHI0Ozl8c/o6Lu5Ak0+cYzVjsRb8v69OH/rIe3BL5NG7nds2aB6+kcNAJMFyphXwu9Z+8sBiDs8pd2LND8T2aFrU0luShelLt+YOn5h961h2dsZz6J2Ptqxa8cBau90s4NXSXDWEVbp4HgAbuRh4B4fty4+3PH1/8J3j2e+/mb14C+1hFIt+dGMUz2hwmtxWwzNA3/2x49BHjntut91/e7izhc8M4bHrSh0PNzXFXFqk1dvXEbp9Z8fkI7UXX7/4J7+++4//JdDfj/1pObKEMhIMjat2FQycDJLZGsSA2JlVUpp2weCFGzMkskhCwgTzgLyQZ5GYWQWehA1MBli0dhJ04CiV/I6H70trwd2PPNvS1sc54VJx+PBfmaanXKwV84vTk5eCK/e5S7nZsaNwDhbWBF3lUt2RzxcSBSfMffCRpzbf8UvYmZcy1eqZyz+uLZ3Nt+3q2/BJvokQLDDIxnKHes5whkuZaTRUlVLC27KOOvNfN4qpJ3uujF68+vJCX2z17U7ML2PvOrqZklJFfKOBQVJlsAioHL9zDgBEVJgRHqor45EwZn7Y01EIXI+ZtlTy5rd+L3n4RWmO9IimPaM72i1jScOWBiYmsiM7V4Ueu9Nxzz4Lm8ECnnzxa41PxW12Z09nk8Q1GaIomy9PzMTTI1MzL7+TOHw8ue+Oh3/z81s2dqRwF6RSx7p4j5uVAjsU0WVY3QycYAALWCvvX0j++F3bsYu2XH6a2z+gT8TzipQTy8FRUZ0dHYF79kXu3BPo70D3ip3OcCAyONXP13fa5xLZoy+9O5+wb/yN/8/wulDtxLOsEzCHxAp/lGloHlpA7IgmnPfqoQfPkVAxAgAFDAoMscY5I4RdFo0MaxMLxSqiAMJimOjTD0cdfQ9M5Ju6Nu3qa1+NB8kd3ubM8OWpwZ/62/owH2wzfNmxj+Kz1xOLs6hXhqcVOy8V4zcsVyi2at29T/663e13uDEd7zLLhdLlb9UXrxecbf6Nnwl27AT7WiHlKIwXU4lq5vrM6Ckrtqlr/cPBtvXUBXKjqhaXnuq+On5p8OXZ3vC623HVbXDOWcJczAr1pf5QcdFBNAQAtaayDJrGH85V9VCmYATC9BKAuFK2V5dS1//wF/LnjiKG9mjaXs0JOJgfH1CLYlcN3FVY0xV5+i77vXv0ni4+sFyvlYrVsZlUa3Moyhd00FsAR7ORTOVGR2azidT8oQ8nX36r3NH85ft2e3ZtNdettkXC2LkTj3rhVgb2++FdDLsDe2Hxqs7hwCab1RtjlVePlN86cWt4csSqZjXNi908ldJaHXt0OANBbcua0K5tvo2rnG0tuof7xtJ7Zq1YwIMhyWNHz5fN6Jaf/zXsLCkNDxy6HDMSRg3rSJoRQ0NBeMaCqIAkMyU+mMPqSTgWQ0Gekx9zqLMUSg7CjiC0AmAe2e+Kh7Zr9jU9K7sq6Zv+tjUtHVtqufzN9/7M0bUh4o2U8qUlvDGngtfTTMV6N5nx2cTcjSZjCI+JTtcCt93/rK0027vxHmdsVSVfmT38NbwJMF0Njtd61m07GIrErOnjc9dfWix11Wbe1rytA3f9Vtvau7FeWe58YerWZiCAeganrlx9abIzsu5OB7ZU5csxILFcwuIWB8Vl04IfxAeiXtWeRmvaUJdlNIfANNQjnugqMLSgYa8tJYyzJ7Szx/pOH2ldxC7PiGPcEOTunk24045V/Rp286i1tMXsBzbZHtirb1pTDQTxZg4st+hqw3wYQrLhGlCdn10avjqKpbcLbxy6cvSjXZq2z/BkVrU779iJDT186wYwaOZ6M1TWWhXrqLE/FSdTcEmOOx9oaDEfdX5w6JVjw0dPziSTEDtMYRBMSACOG1cXPT5/Z6ujv8e/tt+zut/W1lpzuZO58q2xxMVTQ133fqZ580azgtd00GIMAMjHXh/fHAQxDOSHjRBsiFwxFUsYAMu1h5hiaMYZ2xwWEQJYuJsIVA7VGyhShBK64qFdxqStt//g59uD/Quj77dv/6StXMFi36EjL5rajLfn3lx2PhTrRs0LRfuWhi/XzUSsbUv+wl84izcX7V2x7u3xxdH+dqN9x89V7CsWL75iJk84w6su3xxpavZ2x4JBc/7WRHY2WdZKSXSCrqCvY+3+nv3/JRBdoeOqyzCMUvrJ7itTV68/P9nWtP5ubKCAPKUtmyj6Hr845DJUAoi1CMEgJoB6rBswkpiP5vqPmBE8FVgChVI8NSGPl5vG4lzw4pn2jw53Xj0TmZ3EDV3M+6FdwYt60pz1sXzggpFMd8zaNGDftb46MOBqidrwnHU6pRWKhtdj+H1oQUfn0mPzqSRezPDau/mRsS9qnqpWnccNX7enbcuqjju22bes1VavtAWD6A9tsrOshbt+1SLkxXayNjfeHmzODY5OvPHB5dffcczOY/4QTxr5cc9fNMLdElxPYayE0VseXVhHs2f9Kv/O7bXOnuH5QrwS7L3jE3h+A80EAkC8jLBQtkANlBu4NJ6KB5VQtpLmhR0ZilRfxiopBpcvGWSyyYKFGYOKCiElkFi9AaK3thiFur1zy/atd30h2twd9DYlFqdz+URhdqotVMZzcePDh10tO8q6b8X6uyeOv+z0mAEslCjU5qYv5wvJiEePeItOj54zugumozmIOSFHsHS+hD3A6lqlXDWcmIG9N1s0zIVzqeR81FlNOrsDa+7dsX1PvZyKrHoAL1v5VOfF+cHBH463Nm28FwvC+BoUNrToZ6iJ1BiMuCktVIUeyjwSGKgEEkdUD5pJb0ZzcPRIMCiLoQPLgMUgQkL1iPC9iWf+MHGRXIoOXW++ci547YJ3csQ9P+Wq5tCJclaLa+M5CcmWD7dB3BiRVEtYKoQ9o3Xd73RU7fqix3mprze9c4ctuXjjJz+9r2Tehs2ALWuYd0Vq3ZoRCvirm/o9n7rDc+cevaWJrQM6tWoZW+YxKjC96vAVavZ03lwamxl+6c3Sex8YC7g3h6lwNFOcQVOfjGbNaNjYz8Tluw/7LWxc77zjjqVgi6d3q7HyNm6EL5WHuiOYMMshLRD0FUMo+6hYoFEYNbScpGgVPsEMkYgu3ZzQQdvTAFNRAwSO2XmibKnrK3ft87hjhcStSm1p4yef3brlkZtnPpi58ZbN7jdri71NsYnxkZYVA5k4OvMibpP1bH4gvXAxYJT17I182Qr7mtKLIynNFVv7sGGFUuOvBK1yTxhvzHGevl7AklN70Llqzc75mfn4wnST34z58N44F25ARpsC7tYNjrVfjrWs+1T3ldlr158bjjVtus/rwzpmTFyzsaUujfhQIjNTCuSXscUJYsQFznlByiakEXM0GNtdMRFrkADhlBd/qv0W+wEIsYaZJ4xQa6YrlXTPTkZvXYtdPRcdvhaaHLEXM3i3PVZ7wsQA5VJr3JvTdYQ5Z62kyxvXasd3bnfetnn2xEfeC1eewDNI8vBo0jIx8RO2dOxwhamjloEu9+2btV2b9NW9Wmurw+9D/4bpTy2PpT7udMmOGQC85Co+PFm/dLl47KTt1jiuWNzcRJFD7ElNm9Bw8a9hy4UoFmoisp0u96ZNrrvurx78nCMQxaojCEelOWiB6g01GR50unI56hTrmUSGCgXCiYXEyESVCBFLiqmIrkBhBOITBBn80vffszWZ1rXUYMRRnnP3rN28e3zwyuLMuIGnzMNNm3Y9ige0w0ZtfOjDCF4nWVicy+mz8VxvU96Jh5VstqjXrBvuinfA5m11B3sTF38QdNWXSg6315lIVGrlUiygTSRrrVFPpVKNBXU8Mtod1kbj3I8+id29enav2fLwr94dWbw18YObwaYtD3p9Xt7uQftAoSmoyNmwjFQPKihxxM4asDxtVCRRTGGxrkg80TzIJxRJkSJqESpoI5TEDAhB0uRlBbYgw0jH1F3ZrHd+Nnz9UtOl0+5r5z1TI55KHk0WZpGwEBG3S4tyvctrIM06YTdH777TaI6MvXnoy7lSCx44M0tZ7peJu6oYHdsSFLKOZ9ycGJlHQ9aKVvum/vmO5lzQ27NtbbSvpVrV00W8OLE+O4e1RWYQW6qnkr7pSWMxaUvmUrMLo7fGZiamx+pYG6m34O4QugHOj1sBr8/40u+6PvNz2KyESkAaMZ2EBVSG4shmw0ErsYz/7KBwzn6PhmEmtwdikcyaKKtLj9ZwAAAQmA1DigMY1vond+pTeQ1PXdd0x1LO5vDFqsVcrLktNT9lxLrW7Lq3vanFLMU97ua5Gz/22e3jt0Yq9UJnzFnLZYfmsU6Qz161NzkKBey+7K4Ua06fp2vl5lD9WiaVHhwp56pWxKfXdFfIi7d91WNuPeqzzS5ZNxP1quZu61vV2dXxp7/y1MLQ5L9f9zVve8jnDygrQDY6FA0+1FYtCXIYFlRI9VUwD/8kFJBJ67CGcASJX0aDmINF+OfBH/zDUrAELaUCRxmVhQRk5QVvxDAmCvjYtebIZLyTw02Xz0cunvJevxCKz/lNDGLQLHFmGSGUtmqHA57Kw/flPP4dG3rvaHaWx+dqI9O56yPJ4alqPBPVcCMMLid3jJF5ua5Z85o5pxtr+rs6nrkrt7EnuH5d3gpl08X5uSXEd6Q51N4eCgTckCq9lE/MpmYuXh989d2xk6eD1QqCMqfpePPZKjxcsu3++rf+XdYuiHWUBaEF/+BmNpXSKLEU2kF99lOQRUEwvgCDTh2YYioCiTloVJiVowKYigHFbB60NibwFgu2QsWR1QJN7b0xb+vixDUHRrF2V9hbKeZmLr35j75dvd7YbUuJ4Zoj5u3eYEzGi8nyVMruqqIlx8IEXkUuzJdzZQuzX2CQx5vb6oOe6iJu/mGzJZeLSxMitnLAYy+UzXhOiyfNeN5MZ62mSLXNvti14lHN7oWzoA0rMwWEaJBUogMpOJDSw+iMe56xjGD4og1EQ0ALGPMZRayjqoS0CAJk4tIK0vjIWieek6VwJz2ShLnACAMJ3FeRh/fx7szMhs2pTdv1p7/oSiajNy7Hzp9sOn20Y/Smo57DrfWQZtuRzZw6ez76yftHbe4NWze13rsfMzT+Yql5IZG7fLN87LznzPVIMmvibhtfuUJGUQtbieaGh8dn/td38Rr7LQ/s9P3yZ62WrkopkM+WSrliIe308k1qvMXvjfhD2zZs6O+rvbMu+/pPy9PTGT75r/shfKQV9/TpXHqYvsaJNCdUm1bjB7/KSNQQZ7CnVCTaBpVQqhOhxUjLoDgRW4vxAUbqmKtFHQURVFH7TEJbSJd9LREr0JbLpnytre0hx/CN4dm4GXbnQ0FPWzA4Fp+ZH7sccebOXjtaN/k8hM+WWSzgzRUWNuLJFutLOR3LtcbiNVTYjlA6l8iP5WwuHfvPaVg56HKZa9r0WrGONT6YXMzhfRWGraPNlysWU3rbgMvLllC35VOLwQq24QnCaaIzZVWeFgczEyU0EyOBtmBkMFP+G98oFoMglzmC0iCoqDJXEAHGfhIsxGpi4gYy7SswKBcT4kYq+mqdbySvRMNzt981c/vdzuxXI4OXus5+iG7OMzfZtjC7dmjo+sX2uj904uLUfds7sJ8a9qaydbWFetu1+/fW5hbNhYThcFNiHvUYni08Ozjyo7eTNydbS2XjtbPWlXHff3vW2ry1gicu+HAXZsVNbErmxVbnhi2bKcxh4Nnd3/ufv5o58t7Mu0dcVezIibH6AMc1kJW6S0LEFgMgqDg0Zr4YhhBsnuUUsJRGxZwCR75qXBRBfDOmxEhslVDKmtngpdsHNj5SvngYD9CkZ0arlaov1DJX9QZbNy7OJy28Xcv0fjCYy6QXsKJ4YEsPWup0ujCRXCpVDd0VcRlLkZCR0tuTc9OY/8djkxG3Xqs5sNS9prlH5tHq4EkUI1+zJXK1QEhfzJnNAT0a9tZqBvaJD3ev7bv7vwQ6+ixzHNMwudRCNjnX0tSOS2UVGbiWVlWEWooenEwUR2MEIEahRqIcChQSjST6Uke2XsjgiArtCewECwsYYNgGMI3WRib8kUQOsWgc0EChZKh2X1kQFzi0dh1vbMWzOa7F3XsX9uyzVWuudMYzPxe4dcn6yb+Y166Ouf3DbaF1PX7e0cByEg5ZDaO1GbeIUD2cYb9wBx/T29zUtbYvc+z0/Bsn22bS1vDc/K99q/+LD9e2bNGaokbBroeadDxHjebcpXX3GPOLmSY33szojD7+qQ2r1o2+8kpmbMyHB3lpBtVYq6aEdpBuRhkEQrO2SPeFX4iPP9iDaiIlTbbSXUppQY4BUAw0kOAB0zEGaV/BBKJlX7V9ux4ITY2OJxev1N0en8+P/VBtzogvFsWORmXTNTcx7/b6TSt4bdGzYUVzLX9ZrxR9/Vu6V9yWn7u6UC+0d2lOl16px/zmmKu2BCXiGdPu1UI+m467iloVi23mC9qNeRMBEc/gVblaZ8Ts72p3uAOzg690h55Ez4tXslRT6XMfvugLRbPZpZ7ejWp+VcbB0KahAtXi+IbeFHvQ46KT/Ij/5UvMglaadQldFfSlBWTkBBKkRzAmcRCIVmcxw0ZiDBAcgUkMEQr/UorGHnjiABDGuFXyK+FgJRJJbt/mRjvxZ1+r6M5TQf9Ah9cNnWWsySDFLnzhIF6jB2oICMwvJtOVbEm3Ii3+++50r185+uHFyqFzxfhS8C+ed8beue400obed8fu9q2rcI8Dk5CVcLjTG6xFPKPzuDVUa9q4vhYK+Y8fD/W0JXEfsSEircODUvNbRo3QSgY1VJq5CGmoTF2l1WKCqiMyGDASKCxQEUMcxplYSn2JXRB3dmwxsXZtl1a40RlsPnd1YjL3kbe1L9LtvOvzv93VtmZifGj68smlpdGmnlWYjrRqExUz1L+hZ2Dj3qmhM3p5Rq8bZmW2vWujaQtlJ/CYJeSo9rd7xmZLeBQKTXgBM4h4xNzhjzb3lhdu4W2kNg0dQdjUPKXEdVfq3Kx5o7r11zAZYlXSiZvDx2uZQLQzuTjeu3Kbz8w6gp0OVxCXRtAfBoFOyoFKFyilzMHshvdpIZiDVoKqTONX8ho2Aqycqy92hxKLNI+yLmmRGisYkjCp0GApgaSCw9qkCVISzYBCjOIBErO6B+/gaS/85OVrs4kPagfvWY9tQGSojS1fETWc11GaAMPUU6U6loOHg5hh1LA5/f2h2sZV1Q8vjp26vmEp12ThUZ7a3Pd+bP+egcUkYIg3c8wF3djqWl+1LrtyfSjki7U0eT79ZGzDxmE8M88IahyiAgVmYyFqiTrqCoSaognHj1xVUX0VPmyepXOj+qxQanKJVscpdRZzcjzECXWEpm7PVz3W+MtGftDRfVdbwjEzP1XOxV3+Tb629lhXD+b2A/XU5OC5lmbn1PTVwM5n7rtvlW53zkzewvCwM3pw6sKR6cl5nxEvJC94nGa+aNiDzdcnstjvIuDS0JZhIIonNn0eO5Y3NNma86XUUjyvpbM+zzwe8Yw191RTi5jUQG9fLJVzC/O5VArr7bbf9UwhMe8tnE1X9K5Nj/YN7HPgPoAdSz3r8ALtJLFBtVSIsEPDGUfHLKSrVRwAlnksVnUORloGob0IC4MISeICmFaUgFVjLdUuAR0wZI0PLM5FZTJ1J0FMAwMCMWHE2qxPfdn4268bxw5/eOrDXjc3TAQMwDG7BSje18APv7imsxjwlu673f/I3a5QGNnVYNF1123eO28rji/03xh3nLk6l0nh/kZIN7A6Nly1iokMVlDYLw6mVlwMfurRyPpV+UIpm0gbgVbRWIU8OeA6EvpAbDReFAF8aRX+NCQg1PLBmtBI89Ya0/zHcIc7gCHNiguNUUKyOGgtLKo36sbcUtYd6sgXit6mgC+PZeMlc+JDa2mT3r3J6fDms9MW3r+dnmp3YF+IQqStFU/7Xb14bOPBp7p710d7d5qv/XmyVvRg21vcg9bmoivXL03e8rqGsAXCQGtgMI4po1IxU3MkRspu1DeX14d3faVqqRlbyKOF13lL0xhYYKyApfXY12RxKYW9MhdGT7R0dNfiN+I5bBXXNj9+y2kmBrY/1Ny1C0vbsPLMD3uhejA2EEEcCdE50AjfNJdED1WU+JIiNh+MAvzAJDwRt+MMTYEEHM3L9oJBxGLCs6FvkMEJcxQjnkiAAZ+wqCnCFAvFPE9+qTB4xn301VClOl2xvHwxA4lgVTlFW6ZNf2haLFda+u6L8x+d93z+U+HtmwI9rvzEWLGUzR7c4v7MA93pTOStE7aXP8hPzcoGQtxQC8NKLPVIjd2a/Zu/Seze2bxz27jWZNu8GrorkUUwaiiiS4uJ9MdyQ06k5RzWYFWhYmIXViDEiOARRcWbIqTAEI4MRaUrCuyB5q64f/P01Cm9fgkj/mZvrR5bH2hZjfW7sGYpOxsffrfJm8F63aLdn5icTIz/hT3S09azwmWW3vvJH1vZyZA5WCrbLaffCq7r7t/e1rV6PHEpndQCDm10yV22R73hUtAxazjbFpcyhcxMJBIul6NzpUy3tz42dE4zPFiDiEczvMEWRybhzGRLqcTE1cXs8KmIz5HVQ3XjwvRgEj1cZv6GHt6IRSa7Dj4TCnViVw/YQdwAW1FvRAH9yiomJ+IwVBrA8KDRGBuEohFwCAbjT87E5g0iAOdYhwVClQBCHOVySIF8kYrq2Tj5xKV2rujvfivn8rrefm5CqyJu+nU7prAx6QeSeHgI1ZquEXpoHpo0u/vm2OQ3/ip+74H2Zz4RXL22PL+Qwg5o2MFy5YrQb3zZ/JkHrX97NfbDQ7ZUhrbCHrG6UdKcU+Xy0vsfjBw7Vjv4VNvmu9ECSmvJkR9iAmLLrTFqhYMy4od6I8kaJNZTdmAZSwnQSLB6SczBVOzpGhQ4nJQTMRZaoGJyxNe5Lpqet1fHzOL8rZSZLt9ye4On35+2uZtmLh7LJEa7Ou3l7LnFjC8QLNTTt7JOd/T+35savjJ6/BXd6Y3am/TqQioxnZvJG+vqHZ5cITXVHXXGIu6prMNfujWfwnZQpt877w13mbUUdkNoi7mrFUdBs0JmMY9N5TEAsqpmrZKp2St1rKLBK+H1ojvic3pbHNlS4ppVcs3kHPHE+WLtalt7U2r7g03lvAvvxGVlkcqPBhb2o8qs5CqUWM2U2uJ0CZ2GvRhS9CGtimaMrQyBOdKFfVTXRTPTogLYSOKEAHImZiQ0c2BWjgwk5nQM+QL+4O9/s7puW/H73x5anCpZlRWaE08LYdzAzcaEDNs6DKWJhC3VHP2V+uQb7147fzn6mcdW3LnXFgmV8F7qmUWHzXC1tgb+yxe8Dx/M/+Rw/qcfabMLuBvZi30d8Twkpo/N2rXBC/Vk0hEJyvBK6NM0SntowIRYA4mGCnLKIl6ENoJBqSvADLSGrYhBnZWJEJnIbxgGZrRPXn6pe99/amt6IDU9mhz/yJMcNotL2K67I7Jl5K2/rJsZ3NqMx7Hx3KytaCYzs3jAIdjZlp28gQ0k3V37ksMXsaihNeQOtvT5y+nq1GndyYd5h3PR0bLNHwykE3nstBWppRbzeIB31B9wN4U8hbLD5XcWcuOaD2tsalg2Zdid3nBTr7dn1nYcM3i4kA90rE5npgLaPPYnbHcXium65evs62lPF3Nj41OhpvHu7jWqbmAkx+jBVA0txVrIGkPvwAgc6In+CC6cN1QHAGyADKmHgsKVVoIkaESiyZapiM0ki9EFOoxTMStoyOUNo5E0yQMjTNwOsRk/8xXzwP2Vd1+ZPnm4MHazM5+L4pUcVgl3ajE1yOsd+kWoaibun/VrjsDs/JVv/cPS8VPrvvwMtjUuVSqYUcQqW8Snrb8n+F+f9Xz24dLbJ0uvfxC4Po4HIDFLjbts3sRUeXrSGduCzl1UatCVdohaiViqSaVRVNNC+SV8IQERqIFogTolIx3qQu2IqLAgNGj+B1kEkK9riz86MD94qIKJsubbIkt5X4sj1NLSt3nX0MKhVDKP9ycVSzdxSwv7yeK5AGzu194cLQe6L5//IBTrsreOL0xnaoHVWiUd8TrTSX1uoZDK6tl6shUXT7X5dm7f7tKc2AYuUk9OzkwX62aT3e4r1jJrd//q9Pg1u7eMFe/1Wtnti2D4Fevo4R5u4W7MpGGDynSxYFYmirjGCUXxLspI96YOT5M3FG1v60P0QGO7zVHJTudzi4HmtdipAdqpq1VpnCSWxEyyRZvYgXGhfEbziG1xynhRaRVuEj3IFbuiWLVrkiExRQrSjNHIEqC0NXNJlCCs29WSratT+9mvVj/7s4vJVHJ22rMw7U/E8RL5qhtPVLuwh7CJQMPFMAaHuA7HaxLLpVAhuzgxcuYfXl59cP2qe/bghcPYlcyBPRbxXEC1Zmtpcn/hE76n76tevLH59ODC5eHZG6MdS4uT778V3LINXDkYo0QQBBEtU4gN3fgj1YgyI812Vw6ECM9ZFXhONHR+SEATdLE0NEoliISGVDEA8u6HvW/Lo3hYvHlgD6rq7PUTndse0UJd6dmRc2//XXx8rL2v11cv2O1bE9PDw7PZpiC2greiixfOXh1dsfmJYnI6U6h6o01tkXwqqy3NTbjcLWiuW6OFFrOKqWq/2ztSxM0czKfZSxUrncK2TzVnsPuOh3+xUE4b7uDQ8FVXCc80czF0tVxo61zjXbMDbYxWsYYuHEGzE4yurmLjpxJ2X7DXy/FicS7Y1oI17NgpiF2NpaWmTw29/YdFb8++J7/FAS9rkTiSX2yJ1G6gojPKlH3EvIClrWgX9n0soXloKZWSiELQqU4HCWLTvuqHjhJgnkpUiYnhGLnJ1mCGd+qiOcUSudbmaltrybZzicFIr4jTloOOreYyMbgFqxgSS4Pvvx7/v6/e9sB257bN2NcTb5+pF4u4u4IlahbmcQ9s7bhntzNZ9IwsNp+72JKoT5bK8hp3GgAtsjBgcwmB2V2K5KqrFaXlXLU0KikgRJAEe2ToKlai9ZaPhq14SjL2wq2/0d0xV3iFt3VzYN+T1y+8NT183G/m/ZYxb/oXxsayiTlnuMNvVXua7BjTxGyluVTZW5osVuY6txzoXXXgxom/zMzeWMqhRgXbwniCvEvPz2eWEg5XOI3Lz3K6Xk40b9gVtHc47e6p2eHOLXcGetZo8XGMCHp7B+zVOOyJ69xyJYvTQiYRdDTPTF7vHtiyNDt969qRQCAYiLbiDT3+0Na6vSV944NZn7ezY20+u7Bw9cUTb/zN/Hx69e0DhXLB7wjBbEpbxoLYRRoKaAqb0uP8wtUpq5uYRCwDo1EEponXwIWn2cghn5ElJbQtMUkJ3wg0hhHz8M/QRY3locBwClRENcNFliXikoehpiJWBMA5ewg+6gYkCsgDcR8OeZ/68vyJFW/+wa9svX3TumceCWFrPbxMrFAEPZDhjiV4mQamNZpigYO7A6GeSWyHw3aj0cMIGRITDtIucqBI0VSRSrFtRRblQrbYD9qw6lEdfpMElVMnogK1ZybazuxsYn7hbKVajm65r2vTsy2da1vaBvC2xuMv/w3uw9Q1nzfUm5ydcDd5sIl2ruLxGBV/1b6UKsdPvJaevLpu68H+nrXp4Qls0I83DUzOZb0tbn9wXQwr6ibwvFAKN2qwH+rS9PWells1R7Wnt6WSmckUUp1d69KLw7GgvRSfx71bPAKP/bwTS1MtHetCvshHr/9105rNdzzxlZlvng9EmrG2aw4X9u2Rir1lAD3h0Lsn4qfjs9dy80Mdq59auRfrrO/Ae1bwvCYvs+hf2kT8K7rDCIwCepiG/NjtYkjxqLTaMIpgiylVUKg2TTJoSB6gIaNOmpZW5x87DtX8Kyh4hVML+OOXCouGAMhi7wdhOJZY/pUIpK8a4YnQrePJa9+eOwqPf+X0335j+q0Tt92/v+Pxu+xbN9icLjzAhOk1vDIPj7yZlbzf6T1bb4VgwgqUJRrEyeDNfDLFxZ+aveKJ6CEMVRo2oawAJi6mO3EAj2KqizAW0HLIh9wkiktnXIUtxCcwCvN4oxc/GstWXty966CzeXt+Zqo15rFy+YrN7QpG6u61kdaVo1c+WL0iVM6Uxhcr7Xj0zZHFuD8+N+20iliXWa2WF9NLpUy+FdtoWXiPyMpY/5b09Wt5jG5Q+QqmWdDS8VwwXMR2yfNTQ8X5G9dPv+i3VfzuKvWDqDVr8OR7zvuCsebOVZse6N+4xev3bD34RFP7ioWR4+nCsUwq19Fmd3i685k07svmZiaNUE/77s/09a5OTJwYOvtW/+bPOfFSedVswJiqVkk1omcYVeQjBuZQAS0BOxzJ+dig7F4YJGwlkBLZMAogEOy37BrSoKlJctmuH7tDmVrYKFIME0CSmrAlUSGNYvLAQRwVVqQrOZS4WnU//bPFM+/HTx8dff4tx8sfaPs3BT79gHfPVoc/iPeq1k0z5LItulrmClwBy3ogEoP8MhXhzRNRSvhSFeEIWKZ5t4WlckrZgMNT5ggkpWO44x8ZWMUipmBVtOfr7QHb0Pbumi20Ojt1fdqX7z24CSMMmy8UjoWtcrZST5ULtjJu6LkjWLpguvzNzjo2tqjbjK61uxYnh5ra1k5NX2KFyaax5WgllVpcrHb2ulrXPOpdqpWmxrGZSkvIjSkg9Ac5LeRemsnNxt1aqpLMLDpbrfyozSxAXG+4pdvVVJsZsXq2rNm0NdzSUanld9/7qfPn3gvEOjPOQJdzySgVp4fiteCKnZsfcXmxerhSGDl8/Nx3HLq/YxNyQnU8sUbdqT7+VU0UU9IQcOSyYVWYSFigOhFYxRGSBBcijCUacNmGUsQhDHIZnGRCYBoSP/8PEswszQu9pARpuITTw8veIopqqEiCooIsCIrQpMwMLNfzOn/p9yo3r8ynl2KVevTwuemjF/xrexyfuif0ibutkM/vcoxjO39ML3EGGQzBinSIDQb4F2NILr9wJpxQdQRW5JHLBN4swu2Lj5Gk/ohIy5rypRyoWB/Li4nEDjzKk5wfG1scSZyLrLj9xrS2ePjf8ovDxdlzut3b1XffyPVjTV3dHjtejF0IrPmEfX4xOfvuYrGvnPA451/oWrMT22LmU3i0G3Oadkx0YUtmvLX96o302MyPoloCN74KNnfd7sZ91kDAlSsmC4lpm721VMkVy8XmcHGge4Nlc9ts+XJhiQ9RpwpTs5fbe7alE2MuLTUxM7YwOYyNWQ2jPJ1yY0/poomzhYnZy1Y1gWnJYj5VdKzQvZ7eYCeunjGApc0aPhBb0n60ZsPhKkWQRnhIa02jKiSUCwmAw3bIp8UxiCEAKeEbFpQaKJYWuqqe0rAN7yjORG/EBpKqlG4DQbqE0OpdEyoimSOSfjzmJbtaxb1+m/nVr6f/+GvY7yGku5uw08TgeHbwHxP//ka1J5q3Rxd+52+woYTqREEEgqMhopAiKBVUjS3oU33mcsjHOzYfn1BBCCVfbGgIK8DSckvQSK+lYlBuTIIutqIpn25qsi8Wd7bVnRODh9L5SjFfRFOB1WHR5tZEahoLdXz5W9lMvHv1Oi8ulav2zDDe0nUdN6LtOWvu0jt48MltFbAgKIDNMIOe9raubM0ojSWCVj5TNAMu02/PF/J61XSV8RSYMxh04sVKuBvcjE3lgqXc+DxWHDPqMSTM52Y7erdNDn6AOz4D67cW62VzcSI7drnktjfFgr2b9jhtnlJuqlAp3bp4Nbs0a/e4oi3evs1tgUhfa/sA1YYdaAY6abk1R5LuEmPSbDyTqJFLVRUhDBAOTVFG0ykgKaLBGmEhZXQPQYSkCjWcMaFIKzYN0sucKRT+UEbyFIYJxY3y4oQVm2zpLyHbACRqreL7xGfyqcTi3/3PyXpphc1tWHj3ueYenyuOTyw8+bUlvAOtjk3vGgQUK8URRGkLWTyObyUQqw7zqDKB2SwKU7BGVEm0iQmJjE5WAnrZDiTC8RRIAM0+NTQyYZlFv9HRt8efjCOJXYL8Prz8L4CeC3uhdPa0lypOPb3YvLpv1artV7ILemhzsDrnwr4qpaUY3hOAW+41PCuHYULdF3EXNKNWnONtMbOEh1jwIEumXDH0cs0bxtMqEHZ6Hvs0LDT17bMX/dm5a96yE3OpsJLDFzp43xe9Tm9z54aAx9Xau2Zu+lYhVWrtrSYWh7J4f7JW5hts8CqkypLdFQn4baVKsmq0BNvX79j3GB4IhbriDWUnNiTKCfyVFL/EVTQa/QVw4MAi8iVQgFn2cgMLKGJ4aZmkWNFT/meRwgFJOoCeEcrkJd4jIjLllhsySE7G+oSTq+IGDqGYJHlBxbf4ETzqNR/evhtpmfqr/x5LL2H74BDWvPIum3futl3YnYDrM0AaaFAQ9EmIzCUWSZCRgCyhJxzQhUlvJMxQgg4LgqrIoBT4ZzsjVBHVwkFIik5gA4pogRD52Kfd5cKaqEjH6u0LCzdbW+3ulvV4N1IqPtq1Zr9eS4d83dnjr8Snb813XavUCqt23XHz+od4zqC6dDVn4+Mpbjse5sVmKrXZeNGsXrFj3gNLC/3h9pgrvoRwtPk89SQWrVXLLSs24b66x6PXsjdc9hL22c1W7LIGBZJXK2Z1euz8ylV7ionRbHHU8PiqNmt6+rzLG7ObvtFzx3weTMLpeGVqyB7P2731zII7lXI4P1vBlB1vMbFioeGhbjJ/Sv1pDJ6pu9MwDCym7MPqLt7HqXiK+USW4RCsg48CVTRAm+jKJ1Ik/lr2UcOwEkesncskYXuVJ1EBeVT3IQBsqVgufMiZo3XpgJCWEnETJcVEgPvRT2eb29Lf+LXW+EKSLwYp193NRlMr9nMAmmrIQYzR06gVEByaN9RSjUwjdqkcRWxYA/RFBjzGpMKGxWICRBnKuHiDpiQ8hlrMkmC0J3CLDwt+8dRO/r0Vq/ZUkjNefzkS8tpw1y8c1qqJXCXVNXBgYOudtwZfvXYGk3uYtFsBMLcXq+SDhWrF617CfhLJRatgaDF3vYg3Ehh4fIH9GUYssQhnLhK4reF3FBKVYmq8ZGVsHavr2Yzlaap7OnWthHUOMCq2o58dHy3nU8ODJ+euvljMTg9suK2aXtq255mq0Xvp2HOdbduqlVvY3KJ34/2JoUOhprWtPf/52onvHX75H6uGf/vWO+vYjYC+lz/VIeFcQkieOBBPi/9YkwDJaklDKQvToMpCKkdZlKvNWU5HgphYlb/MBTJoSjFjsQEnpUJc/E5pGEIKR5yAL5IjM6aUhEQnDEJK5dFFgqSkpCClknHb/vE/+/fFifGCzRieGst2rKitXIlloFRIEOFvtCVKGGFMPtLusFzoUW2ah+0fc5TsjBvGBTIY2+y28E9shg5QAEAToCUlYOPfnslZkVBtdTB9Zq5sX1tv7V7R2rkikRzB4hMje2Ni6lh048Nuu4FXGmNxc8BmS2YmcpXW9tW7soszZmUJrzCuV7BOXHjX9bDPNGqOmuXKLBWd9QksDMGBRWezSb2pxXKF25L5ZKx1ZSFXLmCzOkeks2dFCetlcQmHhT6Gff2WvfHZiekbh4oLgy5v1DBarNpMrTaL519x82LDPY9qucL1i6/lC4sFZywcW7n5gf/Uu3E/Xizf1LMaz87SQjhYq6ChuIyWFP80snAqYUM4WguHwkJcSY1CtooTFhCJIAKD08YJayGS4IBvjBBo9OXxBJI0P2SgueWSizTIRIApHMr4RcIAAjHxFgkKa+axlAIJlEDyHKfYn7UwsCq3di3o46kM3quolpGWSCQgJ/oYQ4g3CiGUJChJVWzECAVjADNysAyNCCgSKRkzPBSMdLFsciAhDrRxTEBhLimmgpY97NZT6bKtYljBHm+kHdu65BaupNOJlq5VVwbfx5YVTjzHVl0qLw0PXbnRuV53VxdHT36vf/1OMz9VKiSaI5GYbh9aqAaiPjyImixiTw5rKVv3clcwbLfkKpuYB7KvXj2QK2Tm5+eyea1s4KGpREfYqy9evzxt6161wzK8dSvvDYVD0ebRa6euHn/RrZedttTU5Zd0T1Sfx8ueXtx/788sxa9hoNPR3Vut4o0Her5oXb1yaMvW++WBOsQP/bTsfdZCeowmpaVoKv7zkL1UaWLCA4NYAqi+0MSLaQAp/icJlgugkGC7oJqO5Zll6TeXw0GIKV5sCyTagIwPT/BLfBJkDkVYvu5TuejERDa4VXzKVg5pSM9ZUjoSdy0xtyZs6MxGtJKVsGOJ+Jv0hUTjG7xBRInOsRcEwMvsRArKgQQv0oUZMHmKPOpKSVg9SR9/AEWNF800ezJvCwQCqQpuWbnmk+mlkVOO9EVHsNUfa12z9dO60zDLi1evnvTbbNvWD3Qc+Pz4uR8sLY3dPH/BsIqxgW2R5i5r5t1U1ehs7vM5XTcHb4VrxU6/tlDA9TtWcdiLeXu+VEi6pqrcMkZvCTnKuUx2Ke41HE1RR8CIVPIJND94nC+Tjl8++95sfLpj3aPtbRFfoGNm7HQ2PTs3PecKOPpvj/Y03bMwPXbzwqvZzPzeO54sVbCSiHsk4lBO55wg9cYhqqoKTROIqTiiZKzw0kNBAU68qWxDQBwymw9IZfplwEaDJowAJGTEPSBJPDBW/YEkWS5s2YqQJ3/4DWeTRyN6CKVKVCa/cUiIEQ7qMNiEAnCEFAeM1E5wQVBSDAvqSCQqx18JFCTQtFBAJkCIaAg+QUNcKEDCs4h0CSi/oImOX7RAHns0/IEh7SK1VbjZDK/h8qL7MMxsaubMC9X4YqWIVcylXCke7Oi08jOZhXO+wrC/Y1XO1H3t7e7gNhMvGhl42MSLuJt6bJ5g1ruuc2B1U3MvNuv1OoxcrVb0egOhaKipr2JE7V7sG2hPZHTLEa6aGG7ng44kJhQSSWt0Vk+kU+Vins/uWbZYrCPgDeH+a/OK9fbWFdNz05cuXR0bjnesfXjDlodz6Sm8PAyv49647WGPzT0ydiOZnPAGA7CcqCyWprHEBGI98ZYaDyATRsGn4QwZZgKIyMtGAxnBpcsIyYO0eTDrPwiTGimpfHEvLA08DIjU0EshMouUllsUFXCkJw0B0ZUghGE2I4BU+S38oA5ciJgR34mk0phKijICgcgEJwX8M6ZIAj/ifakJNAvllDAWSKWNIFIdRQdgKl9+FX35VpT5TTIAo5RQFleDlXS94Ih4nEWnhQUULgs7IxTnXWX91uHvh9rasKdNDut5miKTF9408PR1Ee/PHtq++/bhC5cKhaIHO+YE2/Pxke6+3cGWje6xU4XEu3W9umLXL5aSxWJmPDv8UV3LBSNGzd41O3YLb3tMZLHNktuGHgoj6Gotj0bSHsOTRtjmBa+nmB4+P3LzZMDjLWA+MVPEBq4r2uwr17bkCzW8p6K9Fy8iuYXNeR/64jcnxq8Eox1N7evQzPGySNkPVhNT0vi0I/+VTVStXc6R0BJno3YCg2BiG/YGTAmaylY5Un05YCag/BOQOHKmCLJEwgpawc48BV82ABJGDUT6SDAVOnJBQ4EgBTzKKlkEFJISJaKC3MxCM4gCBaJCCCEqsARURgAJisAMaqREFj48ETkBwQRUo9mEqTRDCkk9CMWgQxADEAmFQBXJm4ia/v8DNUgFs5H1lS4AAAAASUVORK5CYII=\n",
"text/plain": [
"PILImage mode=RGB size=192x128"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# grab an image from directory \n",
"im = PILImage.create('usa.jpg')\n",
"im2 = PILImage.create('morocco.jpg')\n",
"im.thumbnail((192,192))\n",
"im2.thumbnail((192,192))\n",
"im"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/jpeg": "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\n",
"image/png": "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\n",
"text/plain": [
"PILImage mode=RGB size=192x128"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"im2"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# |export\n",
"import pathlib ### use this trick https://stackoverflow.com/questions/57286486/i-cant-load-my-model-because-i-cant-put-a-posixpath\n",
"temp = pathlib.PosixPath\n",
"pathlib.PosixPath = pathlib.WindowsPath\n",
"learn = load_learner('model.pkl')\n",
"pathlib.PosixPath = temp"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastai\\torch_core.py:263: UserWarning: 'has_mps' is deprecated, please use 'torch.backends.mps.is_built()'\n",
" return getattr(torch, 'has_mps', False)\n"
]
},
{
"data": {
"text/html": [
"\n",
"<style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
"</style>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"('usa', tensor(1), tensor([0.0030, 0.9970]))"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"learn.predict(im)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
"</style>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"('morocco', tensor(0), tensor([1.0000e+00, 7.0651e-07]))"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"learn.predict(im2)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# |export\n",
"categories = ('Morocco', 'Usa')\n",
"\n",
"def classify_image(img):\n",
" pred, idx, probs = learn.predict(img)\n",
" return dict(zip(categories, map(float, probs)))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
"</style>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"{'Morocco': 0.9999992847442627, 'Usa': 7.065148110996233e-07}"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"classify_image(im2)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR: Exception in ASGI application\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\protocols\\http\\h11_impl.py\", line 408, in run_asgi\n",
" result = await app( # type: ignore[func-returns-value]\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\middleware\\proxy_headers.py\", line 84, in __call__\n",
" return await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\applications.py\", line 1106, in __call__\n",
" await super().__call__(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\applications.py\", line 122, in __call__\n",
" await self.middleware_stack(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 184, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 162, in __call__\n",
" await self.app(scope, receive, _send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\cors.py\", line 83, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 79, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 68, in __call__\n",
" await self.app(scope, receive, sender)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 20, in __call__\n",
" raise e\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 17, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 718, in __call__\n",
" await route.handle(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 276, in handle\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 66, in app\n",
" response = await func(request)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 274, in app\n",
" raw_response = await run_endpoint_function(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 193, in run_endpoint_function\n",
" return await run_in_threadpool(dependant.call, **values)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\concurrency.py\", line 41, in run_in_threadpool\n",
" return await anyio.to_thread.run_sync(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\to_thread.py\", line 33, in run_sync\n",
" return await get_asynclib().run_sync_in_worker_thread(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 877, in run_sync_in_worker_thread\n",
" return await future\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 807, in run\n",
" result = context.run(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\routes.py\", line 326, in main\n",
" config[\"root\"] = route_utils.strip_url(root_path)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\route_utils.py\", line 269, in strip_url\n",
" parsed_url = httpx.URL(orig_url)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\httpx\\_models.py\", line 90, in __init__\n",
" raise InvalidURL(\"No scheme included in URL.\")\n",
"httpx._exceptions.InvalidURL: No scheme included in URL.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Running on local URL: http://127.0.0.1:7861\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR: Exception in ASGI application\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\protocols\\http\\h11_impl.py\", line 408, in run_asgi\n",
" result = await app( # type: ignore[func-returns-value]\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\middleware\\proxy_headers.py\", line 84, in __call__\n",
" return await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\applications.py\", line 1106, in __call__\n",
" await super().__call__(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\applications.py\", line 122, in __call__\n",
" await self.middleware_stack(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 184, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 162, in __call__\n",
" await self.app(scope, receive, _send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\cors.py\", line 83, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 79, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 68, in __call__\n",
" await self.app(scope, receive, sender)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 20, in __call__\n",
" raise e\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 17, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 718, in __call__\n",
" await route.handle(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 276, in handle\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 66, in app\n",
" response = await func(request)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 274, in app\n",
" raw_response = await run_endpoint_function(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 193, in run_endpoint_function\n",
" return await run_in_threadpool(dependant.call, **values)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\concurrency.py\", line 41, in run_in_threadpool\n",
" return await anyio.to_thread.run_sync(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\to_thread.py\", line 33, in run_sync\n",
" return await get_asynclib().run_sync_in_worker_thread(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 877, in run_sync_in_worker_thread\n",
" return await future\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 807, in run\n",
" result = context.run(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\routes.py\", line 326, in main\n",
" config[\"root\"] = route_utils.strip_url(root_path)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\route_utils.py\", line 269, in strip_url\n",
" parsed_url = httpx.URL(orig_url)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\httpx\\_models.py\", line 90, in __init__\n",
" raise InvalidURL(\"No scheme included in URL.\")\n",
"httpx._exceptions.InvalidURL: No scheme included in URL.\n",
"ERROR: Exception in ASGI application\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\protocols\\http\\h11_impl.py\", line 408, in run_asgi\n",
" result = await app( # type: ignore[func-returns-value]\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\middleware\\proxy_headers.py\", line 84, in __call__\n",
" return await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\applications.py\", line 1106, in __call__\n",
" await super().__call__(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\applications.py\", line 122, in __call__\n",
" await self.middleware_stack(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 184, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 162, in __call__\n",
" await self.app(scope, receive, _send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\cors.py\", line 83, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 79, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 68, in __call__\n",
" await self.app(scope, receive, sender)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 20, in __call__\n",
" raise e\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 17, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 718, in __call__\n",
" await route.handle(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 276, in handle\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 66, in app\n",
" response = await func(request)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 274, in app\n",
" raw_response = await run_endpoint_function(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 193, in run_endpoint_function\n",
" return await run_in_threadpool(dependant.call, **values)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\concurrency.py\", line 41, in run_in_threadpool\n",
" return await anyio.to_thread.run_sync(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\to_thread.py\", line 33, in run_sync\n",
" return await get_asynclib().run_sync_in_worker_thread(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 877, in run_sync_in_worker_thread\n",
" return await future\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 807, in run\n",
" result = context.run(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\routes.py\", line 326, in main\n",
" config[\"root\"] = route_utils.strip_url(root_path)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\route_utils.py\", line 269, in strip_url\n",
" parsed_url = httpx.URL(orig_url)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\httpx\\_models.py\", line 90, in __init__\n",
" raise InvalidURL(\"No scheme included in URL.\")\n",
"httpx._exceptions.InvalidURL: No scheme included in URL.\n",
"ERROR: Exception in ASGI application\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\protocols\\http\\h11_impl.py\", line 408, in run_asgi\n",
" result = await app( # type: ignore[func-returns-value]\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\middleware\\proxy_headers.py\", line 84, in __call__\n",
" return await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\applications.py\", line 1106, in __call__\n",
" await super().__call__(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\applications.py\", line 122, in __call__\n",
" await self.middleware_stack(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 184, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 162, in __call__\n",
" await self.app(scope, receive, _send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\cors.py\", line 83, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 79, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 68, in __call__\n",
" await self.app(scope, receive, sender)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 20, in __call__\n",
" raise e\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 17, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 718, in __call__\n",
" await route.handle(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 276, in handle\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 66, in app\n",
" response = await func(request)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 274, in app\n",
" raw_response = await run_endpoint_function(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 193, in run_endpoint_function\n",
" return await run_in_threadpool(dependant.call, **values)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\concurrency.py\", line 41, in run_in_threadpool\n",
" return await anyio.to_thread.run_sync(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\to_thread.py\", line 33, in run_sync\n",
" return await get_asynclib().run_sync_in_worker_thread(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 877, in run_sync_in_worker_thread\n",
" return await future\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 807, in run\n",
" result = context.run(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\routes.py\", line 326, in main\n",
" config[\"root\"] = route_utils.strip_url(root_path)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\route_utils.py\", line 269, in strip_url\n",
" parsed_url = httpx.URL(orig_url)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\httpx\\_models.py\", line 90, in __init__\n",
" raise InvalidURL(\"No scheme included in URL.\")\n",
"httpx._exceptions.InvalidURL: No scheme included in URL.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR: Exception in ASGI application\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\protocols\\http\\h11_impl.py\", line 408, in run_asgi\n",
" result = await app( # type: ignore[func-returns-value]\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\uvicorn\\middleware\\proxy_headers.py\", line 84, in __call__\n",
" return await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\applications.py\", line 1106, in __call__\n",
" await super().__call__(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\applications.py\", line 122, in __call__\n",
" await self.middleware_stack(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 184, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\errors.py\", line 162, in __call__\n",
" await self.app(scope, receive, _send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\cors.py\", line 83, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 79, in __call__\n",
" raise exc\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\middleware\\exceptions.py\", line 68, in __call__\n",
" await self.app(scope, receive, sender)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 20, in __call__\n",
" raise e\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\middleware\\asyncexitstack.py\", line 17, in __call__\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 718, in __call__\n",
" await route.handle(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 276, in handle\n",
" await self.app(scope, receive, send)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\routing.py\", line 66, in app\n",
" response = await func(request)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 274, in app\n",
" raw_response = await run_endpoint_function(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\fastapi\\routing.py\", line 193, in run_endpoint_function\n",
" return await run_in_threadpool(dependant.call, **values)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\starlette\\concurrency.py\", line 41, in run_in_threadpool\n",
" return await anyio.to_thread.run_sync(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\to_thread.py\", line 33, in run_sync\n",
" return await get_asynclib().run_sync_in_worker_thread(\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 877, in run_sync_in_worker_thread\n",
" return await future\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 807, in run\n",
" result = context.run(func, *args)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\routes.py\", line 326, in main\n",
" config[\"root\"] = route_utils.strip_url(root_path)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\gradio\\route_utils.py\", line 269, in strip_url\n",
" parsed_url = httpx.URL(orig_url)\n",
" File \"C:\\Users\\dell\\anaconda3\\lib\\site-packages\\httpx\\_models.py\", line 90, in __init__\n",
" raise InvalidURL(\"No scheme included in URL.\")\n",
"httpx._exceptions.InvalidURL: No scheme included in URL.\n"
]
},
{
"ename": "ValueError",
"evalue": "When localhost is not accessible, a shareable link must be created. Please set share=True or check your proxy settings to allow access to localhost.",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-12-99a0a9be39c1>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[0mdemo\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mInterface\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mclassify_image\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mimage\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0moutputs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlabel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexamples\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mexamples\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0mdemo\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlaunch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minline\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32m~\\anaconda3\\lib\\site-packages\\gradio\\blocks.py\u001b[0m in \u001b[0;36mlaunch\u001b[1;34m(self, inline, inbrowser, share, debug, max_threads, auth, auth_message, prevent_thread_lock, show_error, server_name, server_port, height, width, favicon_path, ssl_keyfile, ssl_certfile, ssl_keyfile_password, ssl_verify, quiet, show_api, allowed_paths, blocked_paths, root_path, app_kwargs, state_session_capacity, share_server_address, share_server_protocol, _frontend)\u001b[0m\n\u001b[0;32m 1949\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshare\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1950\u001b[0m ):\n\u001b[1;32m-> 1951\u001b[1;33m raise ValueError(\n\u001b[0m\u001b[0;32m 1952\u001b[0m \u001b[1;34m\"When localhost is not accessible, a shareable link must be created. Please set share=True or check your proxy settings to allow access to localhost.\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1953\u001b[0m )\n",
"\u001b[1;31mValueError\u001b[0m: When localhost is not accessible, a shareable link must be created. Please set share=True or check your proxy settings to allow access to localhost."
]
}
],
"source": [
"# |export\n",
"\n",
"image = gr.Image(height=192, width=192)\n",
"label = gr.Label()\n",
"examples = ['usa.jpg', 'morocco.jpg', 'spain.jpg']\n",
"\n",
"demo = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n",
"demo.launch(inline=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
|