ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDM0OWJhMzUuLjYwOGMyNzIgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSw5ICsxLDI5IEBACi0uRFMqCi0ud2FmLTEqCi0ud2FmMy0qCi0ubG9jayoKLSoqLyoucHljCi1idWlsZC8KLVZFUlNJT04KLXVuaXQtdGVzdHMuY29uZgotLnZzY29kZQorIyBFbWFjcworKn4KK1wjKlwjCisvLmVtYWNzLmRlc2t0b3AKKy8uZW1hY3MuZGVza3RvcC5sb2NrCisqLmVsYworLlwjKgorCisjIFZpc3VhbCBTdHVkaW8gQ29kZQorLnZzY29kZS8KKworIyBtYWNPUworLkRTX1N0b3JlCisuQXBwbGVEb3VibGUKKy5MU092ZXJyaWRlCisuXyoKKworIyBXYWYgYnVpbGQgc3lzdGVtCisvYnVpbGQvCisud2FmLSotKi8KKy53YWYzLSotKi8KKy5sb2NrLXdhZioKKworIyBDb21waWxlZCBweXRob24gY29kZQorX19weWNhY2hlX18vCisqLnB5W2NvZF0KKworIyBPdGhlcgorL1ZFUlNJT04KZGlmZiAtLWdpdCBhLy53YWYtdG9vbHMvYm9vc3QucHkgYi8ud2FmLXRvb2xzL2Jvb3N0LnB5CmluZGV4IGU3OGQ5YmMuLmQ3ZTAxMDcgMTAwNjQ0Ci0tLSBhLy53YWYtdG9vbHMvYm9vc3QucHkKKysrIGIvLndhZi10b29scy9ib29zdC5weQpAQCAtMzAsMTUgKzMwLDE1IEBACiAKIE9wdGlvbnMgYXJlIGdlbmVyYXRlZCwgaW4gb3JkZXIgdG8gc3BlY2lmeSB0aGUgbG9jYXRpb24gb2YgYm9vc3QgaW5jbHVkZXMvbGlicmFyaWVzLgogVGhlIGBjaGVja19ib29zdGAgY29uZmlndXJhdGlvbiBmdW5jdGlvbiBhbGxvd3MgdG8gc3BlY2lmeSB0aGUgdXNlZCBib29zdCBsaWJyYXJpZXMuCi1JdCBjYW4gYWxzbyBwcm92aWRlIGRlZmF1bHQgYXJndW1lbnRzIHRvIHRoZSAtLWJvb3N0LXN0YXRpYyBhbmQgLS1ib29zdC1tdCBjb21tYW5kLWxpbmUgYXJndW1lbnRzLgorSXQgY2FuIGFsc28gcHJvdmlkZSBkZWZhdWx0IGFyZ3VtZW50cyB0byB0aGUgLS1ib29zdC1tdCBjb21tYW5kLWxpbmUgYXJndW1lbnRzLgogRXZlcnl0aGluZyB3aWxsIGJlIHBhY2thZ2VkIHRvZ2V0aGVyIGluIGEgQk9PU1QgY29tcG9uZW50IHRoYXQgeW91IGNhbiB1c2UuCiAKIFdoZW4gdXNpbmcgTVNWQywgYSBsb3Qgb2YgY29tcGlsYXRpb24gZmxhZ3MgbmVlZCB0byBtYXRjaCB5b3VyIEJPT1NUIGJ1aWxkIGNvbmZpZ3VyYXRpb246CiAgLSB5b3UgbWF5IGhhdmUgdG8gYWRkIC9FSHNjIHRvIHlvdXIgQ1hYRkxBR1Mgb3IgZGVmaW5lIGJvb3N0Ojp0aHJvd19leGNlcHRpb24gaWYgQk9PU1RfTk9fRVhDRVBUSU9OUyBpcyBkZWZpbmVkLgogICAgRXJyb3JzOiBDNDUzMAogIC0gYm9vc3QgbGlicmFyaWVzIHdpbGwgdHJ5IHRvIGJlIHNtYXJ0IGFuZCB1c2UgdGhlIChwcmV0dHkgYnV0IG9mdGVuIG5vdCB1c2VmdWwpIGF1dG8tbGlua2luZyBmZWF0dXJlIG9mIE1TVkMKLSAgIFNvIGJlZm9yZSBjYWxsaW5nIGBjb25mLmNoZWNrX2Jvb3N0YCB5b3UgbWlnaHQgd2FudCB0byBkaXNhYmxpbmcgYnkgYWRkaW5nOgotICAgCWNvbmYuZW52LkRFRklORVNfQk9PU1QgKz0gWydCT09TVF9BTExfTk9fTElCJ10KKyAgIFNvIGJlZm9yZSBjYWxsaW5nIGBjb25mLmNoZWNrX2Jvb3N0YCB5b3UgbWlnaHQgd2FudCB0byBkaXNhYmxpbmcgYnkgYWRkaW5nCisJCWNvbmYuZW52LkRFRklORVNfQk9PU1QgKz0gWydCT09TVF9BTExfTk9fTElCJ10KICAgIEVycm9yczoKICAtIGJvb3N0IG1pZ2h0IGFsc28gYmUgY29tcGlsZWQgd2l0aCAvTVQsIHdoaWNoIGxpbmtzIHRoZSBydW50aW1lIHN0YXRpY2FsbHkuCiAgICBJZiB5b3UgaGF2ZSBwcm9ibGVtcyB3aXRoIHJlZGVmaW5lZCBzeW1ib2xzLApAQCAtNTIsMjQgKzUyLDU0IEBACiBpbXBvcnQgcmUKIGZyb20gd2FmbGliIGltcG9ydCBVdGlscywgTG9ncywgRXJyb3JzCiBmcm9tIHdhZmxpYi5Db25maWd1cmUgaW1wb3J0IGNvbmYKK2Zyb20gd2FmbGliLlRhc2tHZW4gaW1wb3J0IGZlYXR1cmUsIGFmdGVyX21ldGhvZAogCi1CT09TVF9MSUJTID0gWycvdXNyL2xpYicsICcvdXNyL2xvY2FsL2xpYicsICcvb3B0L2xvY2FsL2xpYicsICcvc3cvbGliJywgJy9saWInLCAnL3Vzci9sb2NhbC9uZG4vbGliJ10KLUJPT1NUX0lOQ0xVREVTID0gWycvdXNyL2luY2x1ZGUnLCAnL3Vzci9sb2NhbC9pbmNsdWRlJywgJy9vcHQvbG9jYWwvaW5jbHVkZScsICcvc3cvaW5jbHVkZScsICcvdXNyL2xvY2FsL25kbi9pbmNsdWRlJ10KK0JPT1NUX0xJQlMgPSBbJy91c3IvbGliJywgJy91c3IvbG9jYWwvbGliJywgJy9vcHQvbG9jYWwvbGliJywgJy9zdy9saWInLCAnL2xpYiddCitCT09TVF9JTkNMVURFUyA9IFsnL3Vzci9pbmNsdWRlJywgJy91c3IvbG9jYWwvaW5jbHVkZScsICcvb3B0L2xvY2FsL2luY2x1ZGUnLCAnL3N3L2luY2x1ZGUnXQogQk9PU1RfVkVSU0lPTl9GSUxFID0gJ2Jvb3N0L3ZlcnNpb24uaHBwJwogQk9PU1RfVkVSU0lPTl9DT0RFID0gJycnCiAjaW5jbHVkZSA8aW9zdHJlYW0+CiAjaW5jbHVkZSA8Ym9vc3QvdmVyc2lvbi5ocHA+CiBpbnQgbWFpbigpIHsgc3RkOjpjb3V0IDw8IEJPT1NUX0xJQl9WRVJTSU9OIDw8ICI6IiA8PCBCT09TVF9WRVJTSU9OIDw8IHN0ZDo6ZW5kbDsgfQogJycnCi1CT09TVF9TWVNURU1fQ09ERSA9ICcnJworCitCT09TVF9FUlJPUl9DT0RFID0gJycnCiAjaW5jbHVkZSA8Ym9vc3Qvc3lzdGVtL2Vycm9yX2NvZGUuaHBwPgogaW50IG1haW4oKSB7IGJvb3N0OjpzeXN0ZW06OmVycm9yX2NvZGUgYzsgfQogJycnCisKK1BUSFJFQURfQ09ERSA9ICcnJworI2luY2x1ZGUgPHB0aHJlYWQuaD4KK3N0YXRpYyB2b2lkKiBmKHZvaWQqKSB7IHJldHVybiAwOyB9CitpbnQgbWFpbigpIHsKKwlwdGhyZWFkX3QgdGg7CisJcHRocmVhZF9hdHRyX3QgYXR0cjsKKwlwdGhyZWFkX2F0dHJfaW5pdCgmYXR0cik7CisJcHRocmVhZF9jcmVhdGUoJnRoLCAmYXR0ciwgJmYsIDApOworCXB0aHJlYWRfam9pbih0aCwgMCk7CisJcHRocmVhZF9jbGVhbnVwX3B1c2goMCwgMCk7CisJcHRocmVhZF9jbGVhbnVwX3BvcCgwKTsKKwlwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7Cit9CisnJycKKwogQk9PU1RfVEhSRUFEX0NPREUgPSAnJycKICNpbmNsdWRlIDxib29zdC90aHJlYWQuaHBwPgogaW50IG1haW4oKSB7IGJvb3N0Ojp0aHJlYWQgdDsgfQogJycnCiAKK0JPT1NUX0xPR19DT0RFID0gJycnCisjaW5jbHVkZSA8Ym9vc3QvbG9nL3RyaXZpYWwuaHBwPgorI2luY2x1ZGUgPGJvb3N0L2xvZy91dGlsaXR5L3NldHVwL2NvbnNvbGUuaHBwPgorI2luY2x1ZGUgPGJvb3N0L2xvZy91dGlsaXR5L3NldHVwL2NvbW1vbl9hdHRyaWJ1dGVzLmhwcD4KK2ludCBtYWluKCkgeworCXVzaW5nIG5hbWVzcGFjZSBib29zdDo6bG9nOworCWFkZF9jb21tb25fYXR0cmlidXRlcygpOworCWFkZF9jb25zb2xlX2xvZyhzdGQ6OmNsb2csIGtleXdvcmRzOjpmb3JtYXQgPSAiJU1lc3NhZ2UlIik7CisJQk9PU1RfTE9HX1RSSVZJQUwoZGVidWcpIDw8ICJsb2cgaXMgd29ya2luZyIgPDwgc3RkOjplbmRsOworfQorJycnCisKICMgdG9vbHNldHMgZnJvbSB7Ym9vc3RfZGlyfS90b29scy9idWlsZC92Mi90b29scy9jb21tb24uamFtCiBQTEFURk9STSA9IFV0aWxzLnVudmVyc2lvbmVkX3N5c19wbGF0Zm9ybSgpCiBkZXRlY3RfaW50ZWwgPSBsYW1iZGEgZW52OiAoUExBVEZPUk0gPT0gJ3dpbjMyJykgYW5kICdpdycgb3IgJ2lsJwpAQCAtMTAxLDM0ICsxMzEsMzcgQEAKIAogZGVmIG9wdGlvbnMob3B0KToKIAlvcHQgPSBvcHQuYWRkX29wdGlvbl9ncm91cCgnQm9vc3QgT3B0aW9ucycpCi0KIAlvcHQuYWRkX29wdGlvbignLS1ib29zdC1pbmNsdWRlcycsIHR5cGU9J3N0cmluZycsCiAJCQkJICAgZGVmYXVsdD0nJywgZGVzdD0nYm9vc3RfaW5jbHVkZXMnLAotCQkJCSAgIGhlbHA9JycncGF0aCB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBib29zdCBpbmNsdWRlcyBhcmUsIGUuZy4sIC9wYXRoL3RvL2Jvb3N0XzFfNTVfMC9zdGFnZS9pbmNsdWRlJycnKQorCQkJCSAgIGhlbHA9JycncGF0aCB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBib29zdCBpbmNsdWRlcyBhcmUsCisJCQkJICAgZS5nLiwgL3BhdGgvdG8vYm9vc3RfMV81NV8wL3N0YWdlL2luY2x1ZGUnJycpCiAJb3B0LmFkZF9vcHRpb24oJy0tYm9vc3QtbGlicycsIHR5cGU9J3N0cmluZycsCiAJCQkJICAgZGVmYXVsdD0nJywgZGVzdD0nYm9vc3RfbGlicycsCi0JCQkJICAgaGVscD0nJydwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGJvb3N0IGxpYnMgYXJlLCBlLmcuLCAvcGF0aC90by9ib29zdF8xXzU1XzAvc3RhZ2UvbGliJycnKQotCW9wdC5hZGRfb3B0aW9uKCctLWJvb3N0LXN0YXRpYycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0JCQkJICAgZGVmYXVsdD1GYWxzZSwgZGVzdD0nYm9vc3Rfc3RhdGljJywKLQkJCQkgICBoZWxwPSdsaW5rIHdpdGggc3RhdGljIGJvb3N0IGxpYnJhcmllcyAoLmxpYi8uYSknKQorCQkJCSAgIGhlbHA9JycncGF0aCB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBib29zdCBsaWJzIGFyZSwKKwkJCQkgICBlLmcuLCBwYXRoL3RvL2Jvb3N0XzFfNTVfMC9zdGFnZS9saWInJycpCiAJb3B0LmFkZF9vcHRpb24oJy0tYm9vc3QtbXQnLCBhY3Rpb249J3N0b3JlX3RydWUnLAogCQkJCSAgIGRlZmF1bHQ9RmFsc2UsIGRlc3Q9J2Jvb3N0X210JywKIAkJCQkgICBoZWxwPSdzZWxlY3QgbXVsdGktdGhyZWFkZWQgbGlicmFyaWVzJykKIAlvcHQuYWRkX29wdGlvbignLS1ib29zdC1hYmknLCB0eXBlPSdzdHJpbmcnLCBkZWZhdWx0PScnLCBkZXN0PSdib29zdF9hYmknLAotCQkJCSAgIGhlbHA9Jycnc2VsZWN0IGxpYnJhcmllcyB3aXRoIHRhZ3MgKGRnc3lwLCBkIGZvciBkZWJ1ZyksIHNlZSBkb2MgQm9vc3QsIEdldHRpbmcgU3RhcnRlZCwgY2hhcHRlciA2LjEnJycpCisJCQkJICAgaGVscD0nJydzZWxlY3QgbGlicmFyaWVzIHdpdGggdGFncyAoZ2QgZm9yIGRlYnVnLCBzdGF0aWMgaXMgYXV0b21hdGljYWxseSBhZGRlZCksCisJCQkJICAgc2VlIGRvYyBCb29zdCwgR2V0dGluZyBTdGFydGVkLCBjaGFwdGVyIDYuMScnJykKIAlvcHQuYWRkX29wdGlvbignLS1ib29zdC1saW5rYWdlX2F1dG9kZXRlY3QnLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSdib29zdF9saW5rYWdlX2F1dG9kZXRlY3QnLAogCQkJCSAgIGhlbHA9ImF1dG8tZGV0ZWN0IGJvb3N0IGxpbmthZ2Ugb3B0aW9ucyAoZG9uJ3QgZ2V0IHVzZWQgdG8gaXQgLyBtaWdodCBicmVhayBvdGhlciBzdHVmZikiKQogCW9wdC5hZGRfb3B0aW9uKCctLWJvb3N0LXRvb2xzZXQnLCB0eXBlPSdzdHJpbmcnLAogCQkJCSAgIGRlZmF1bHQ9JycsIGRlc3Q9J2Jvb3N0X3Rvb2xzZXQnLAotCQkJCSAgIGhlbHA9J2ZvcmNlIGEgdG9vbHNldCBlLmcuIG1zdmMsIHZjOTAsIGdjYywgbWluZ3csIG1ndzQ1IChkZWZhdWx0OiBhdXRvKScpCisJCQkJICAgaGVscD0nZm9yY2UgYSB0b29sc2V0IGUuZy4gbXN2YywgdmM5MCwgXAorCQkJCQkJZ2NjLCBtaW5ndywgbWd3NDUgKGRlZmF1bHQ6IGF1dG8pJykKIAlweV92ZXJzaW9uID0gJyVkJWQnICUgKHN5cy52ZXJzaW9uX2luZm9bMF0sIHN5cy52ZXJzaW9uX2luZm9bMV0pCiAJb3B0LmFkZF9vcHRpb24oJy0tYm9vc3QtcHl0aG9uJywgdHlwZT0nc3RyaW5nJywKIAkJCQkgICBkZWZhdWx0PXB5X3ZlcnNpb24sIGRlc3Q9J2Jvb3N0X3B5dGhvbicsCi0JCQkJICAgaGVscD0nc2VsZWN0IHRoZSBsaWIgcHl0aG9uIHdpdGggdGhpcyB2ZXJzaW9uIChkZWZhdWx0OiAlcyknICUgcHlfdmVyc2lvbikKKwkJCQkgICBoZWxwPSdzZWxlY3QgdGhlIGxpYiBweXRob24gd2l0aCB0aGlzIHZlcnNpb24gXAorCQkJCQkJKGRlZmF1bHQ6ICVzKScgJSBweV92ZXJzaW9uKQogCiAKIEBjb25mCiBkZWYgX19ib29zdF9nZXRfdmVyc2lvbl9maWxlKHNlbGYsIGQpOgorCWlmIG5vdCBkOgorCQlyZXR1cm4gTm9uZQogCWRub2RlID0gc2VsZi5yb290LmZpbmRfZGlyKGQpCiAJaWYgZG5vZGU6CiAJCXJldHVybiBkbm9kZS5maW5kX25vZGUoQk9PU1RfVkVSU0lPTl9GSUxFKQpAQCAtMTQxLDE4ICsxNzQsMTUgQEAKIAlpZiBub2RlOgogCQl0cnk6CiAJCQl0eHQgPSBub2RlLnJlYWQoKQotCQlleGNlcHQgKE9TRXJyb3IsIElPRXJyb3IpOgorCQlleGNlcHQgRW52aXJvbm1lbnRFcnJvcjoKIAkJCUxvZ3MuZXJyb3IoIkNvdWxkIG5vdCByZWFkIHRoZSBmaWxlICVyIiAlIG5vZGUuYWJzcGF0aCgpKQogCQllbHNlOgogCQkJcmVfYnV0MSA9IHJlLmNvbXBpbGUoJ14jZGVmaW5lXFxzK0JPT1NUX0xJQl9WRVJTSU9OXFxzKyIoLispIicsIHJlLk0pCiAJCQltMSA9IHJlX2J1dDEuc2VhcmNoKHR4dCkKLQogCQkJcmVfYnV0MiA9IHJlLmNvbXBpbGUoJ14jZGVmaW5lXFxzK0JPT1NUX1ZFUlNJT05cXHMrKFxcZCspJywgcmUuTSkKIAkJCW0yID0gcmVfYnV0Mi5zZWFyY2godHh0KQotCiAJCQlpZiBtMSBhbmQgbTI6CiAJCQkJcmV0dXJuIChtMS5ncm91cCgxKSwgbTIuZ3JvdXAoMSkpCi0KIAlyZXR1cm4gc2VsZi5jaGVja19jeHgoZnJhZ21lbnQ9Qk9PU1RfVkVSU0lPTl9DT0RFLCBpbmNsdWRlcz1bZF0sIGV4ZWN1dGU9VHJ1ZSwgZGVmaW5lX3JldD1UcnVlKS5zcGxpdCgiOiIpCiAKIEBjb25mCkBAIC0xNjAsNyArMTkwLDcgQEAKIAlpbmNsdWRlcyA9IGsgYW5kIGtbMF0gb3Iga3cuZ2V0KCdpbmNsdWRlcycsIE5vbmUpCiAJaWYgaW5jbHVkZXMgYW5kIHNlbGYuX19ib29zdF9nZXRfdmVyc2lvbl9maWxlKGluY2x1ZGVzKToKIAkJcmV0dXJuIGluY2x1ZGVzCi0JZm9yIGQgaW4gVXRpbHMudG9fbGlzdChzZWxmLmVudmlyb24uZ2V0KCdJTkNMVURFJywgJycpKSArIEJPT1NUX0lOQ0xVREVTOgorCWZvciBkIGluIHNlbGYuZW52aXJvbi5nZXQoJ0lOQ0xVREUnLCAnJykuc3BsaXQoJzsnKSArIEJPT1NUX0lOQ0xVREVTOgogCQlpZiBzZWxmLl9fYm9vc3RfZ2V0X3ZlcnNpb25fZmlsZShkKToKIAkJCXJldHVybiBkCiAJaWYgaW5jbHVkZXM6CkBAIC0xOTUsNyArMjI1LDkgQEAKIAkJcGF0aCA9IHNlbGYucm9vdC5maW5kX2RpcihsaWJzKQogCQlmaWxlcyA9IHBhdGguYW50X2dsb2IoJypib29zdF8qJykKIAlpZiBub3QgbGlicyBvciBub3QgZmlsZXM6Ci0JCWZvciBkIGluIFV0aWxzLnRvX2xpc3Qoc2VsZi5lbnZpcm9uLmdldCgnTElCJywgW10pKSArIEJPT1NUX0xJQlM6CisJCWZvciBkIGluIHNlbGYuZW52aXJvbi5nZXQoJ0xJQicsICcnKS5zcGxpdCgnOycpICsgQk9PU1RfTElCUzoKKwkJCWlmIG5vdCBkOgorCQkJCWNvbnRpbnVlCiAJCQlwYXRoID0gc2VsZi5yb290LmZpbmRfZGlyKGQpCiAJCQlpZiBwYXRoOgogCQkJCWZpbGVzID0gcGF0aC5hbnRfZ2xvYignKmJvb3N0XyonKQpAQCAtMjI2LDE1ICsyNTgsMTAgQEAKIAlhY2NvcmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMKIAknJycKIAlwYXRoLCBmaWxlcyA9IHNlbGYuX19ib29zdF9nZXRfbGlic19wYXRoKCoqa3cpCi0JdCA9IFtdCi0JaWYga3cuZ2V0KCdtdCcsIEZhbHNlKToKLQkJdC5hcHBlbmQoJ210JykKLQlpZiBrdy5nZXQoJ2FiaScsIE5vbmUpOgotCQl0LmFwcGVuZChrd1snYWJpJ10pCi0JdGFncyA9IHQgYW5kICcoLSVzKSsnICUgJy0nLmpvaW4odCkgb3IgJycKKwlmaWxlcyA9IHNvcnRlZChmaWxlcywga2V5PWxhbWJkYSBmOiAobGVuKGYubmFtZSksIGYubmFtZSksIHJldmVyc2U9VHJ1ZSkKIAl0b29sc2V0ID0gc2VsZi5ib29zdF9nZXRfdG9vbHNldChrdy5nZXQoJ3Rvb2xzZXQnLCAnJykpCi0JdG9vbHNldF9wYXQgPSAnKC0lc1swLTldezAsM30pKycgJSB0b29sc2V0Ci0JdmVyc2lvbiA9ICcoLSVzKSsnICUgc2VsZi5lbnYuQk9PU1RfVkVSU0lPTgorCXRvb2xzZXRfcGF0ID0gJygtJXNbMC05XXswLDN9KScgJSB0b29sc2V0CisJdmVyc2lvbiA9ICctJXMnICUgc2VsZi5lbnYuQk9PU1RfVkVSU0lPTgogCiAJZGVmIGZpbmRfbGliKHJlX2xpYiwgZmlsZXMpOgogCQlmb3IgZmlsZSBpbiBmaWxlczoKQEAgLTI0OCwyOCArMjc1LDExMCBAQAogCQkJbmFtZSA9IG5hbWVbMzpdCiAJCXJldHVybiBuYW1lWzpuYW1lLnJmaW5kKCcuJyldCiAKLQlsaWJzID0gW10KLQlmb3IgbGliIGluIFV0aWxzLnRvX2xpc3QoayBhbmQga1swXSBvciBrdy5nZXQoJ2xpYicsIE5vbmUpKToKLQkJcHkgPSAobGliID09ICdweXRob24nKSBhbmQgJygtcHklcykrJyAlIGt3WydweXRob24nXSBvciAnJwotCQkjIFRyeWluZyBsaWJyYXJpZXMsIGZyb20gbW9zdCBzdHJpY3QgbWF0Y2ggdG8gbGVhc3Qgb25lCi0JCWZvciBwYXR0ZXJuIGluIFsnYm9vc3RfJXMlcyVzJXMlcycgJSAobGliLCB0b29sc2V0X3BhdCwgdGFncywgcHksIHZlcnNpb24pLAotCQkJCQkJJ2Jvb3N0XyVzJXMlcyVzJyAlIChsaWIsIHRhZ3MsIHB5LCB2ZXJzaW9uKSwKLQkJCQkJCSdib29zdF8lcyVzJXMnICUgKGxpYiwgdGFncywgdmVyc2lvbiksCi0JCQkJCQkjIEdpdmUgdXAgdHJ5aW5nIHRvIGZpbmQgdGhlIHJpZ2h0IHZlcnNpb24KLQkJCQkJCSdib29zdF8lcyVzJXMlcycgJSAobGliLCB0b29sc2V0X3BhdCwgdGFncywgcHkpLAotCQkJCQkJJ2Jvb3N0XyVzJXMlcycgJSAobGliLCB0YWdzLCBweSksCi0JCQkJCQknYm9vc3RfJXMlcycgJSAobGliLCB0YWdzKV06Ci0JCQlzZWxmLnRvX2xvZygnVHJ5aW5nIHBhdHRlcm4gJXMnICUgcGF0dGVybikKLQkJCWZpbGUgPSBmaW5kX2xpYihyZS5jb21waWxlKHBhdHRlcm4pLCBmaWxlcykKLQkJCWlmIGZpbGU6Ci0JCQkJbGlicy5hcHBlbmQoZm9ybWF0X2xpYl9uYW1lKGZpbGUubmFtZSkpCi0JCQkJYnJlYWsKLQkJZWxzZToKLQkJCXNlbGYuZW5kX21zZygnbGliICVzIG5vdCBmb3VuZCBpbiAlcycgJSAobGliLCBwYXRoLmFic3BhdGgoKSkpCi0JCQlzZWxmLmZhdGFsKCdUaGUgY29uZmlndXJhdGlvbiBmYWlsZWQnKQorCWRlZiBtYXRjaF9saWJzKGxpYl9uYW1lcywgaXNfc3RhdGljKToKKwkJbGlicyA9IFtdCisJCWxpYl9uYW1lcyA9IFV0aWxzLnRvX2xpc3QobGliX25hbWVzKQorCQlpZiBub3QgbGliX25hbWVzOgorCQkJcmV0dXJuIGxpYnMKKwkJdCA9IFtdCisJCWlmIGt3LmdldCgnbXQnLCBGYWxzZSk6CisJCQl0LmFwcGVuZCgnLW10JykKKwkJaWYga3cuZ2V0KCdhYmknLCBOb25lKToKKwkJCXQuYXBwZW5kKCclcyVzJyAlIChpc19zdGF0aWMgYW5kICctcycgb3IgJy0nLCBrd1snYWJpJ10pKQorCQllbGlmIGlzX3N0YXRpYzoKKwkJCXQuYXBwZW5kKCctcycpCisJCXRhZ3NfcGF0ID0gdCBhbmQgJycuam9pbih0KSBvciAnJworCQlleHQgPSBpc19zdGF0aWMgYW5kIHNlbGYuZW52LmN4eHN0bGliX1BBVFRFUk4gb3Igc2VsZi5lbnYuY3h4c2hsaWJfUEFUVEVSTgorCQlleHQgPSBleHQucGFydGl0aW9uKCclcycpWzJdICMgcmVtb3ZlICclcycgb3IgJ2xpYiVzJyBmcm9tIFBBVFRFUk4KIAotCXJldHVybiBwYXRoLmFic3BhdGgoKSwgbGlicworCQlmb3IgbGliIGluIGxpYl9uYW1lczoKKwkJCWlmIGxpYiA9PSAncHl0aG9uJzoKKwkJCQkjIGZvciBpbnN0YW5jZSwgd2l0aCBweXRob249JzI3JywKKwkJCQkjIGFjY2VwdHMgJy1weTI3JywgJy1weTInLCAnMjcnIGFuZCAnMicKKwkJCQkjIGJ1dCB3aWxsIHJlamVjdCAnLXB5MycsICctcHkyNicsICcyNicgYW5kICczJworCQkJCXRhZ3MgPSAnKHswfSk/KCgtcHl7Mn0pfCgtcHl7MX0oPz1bXjAtOV0pKXwoezJ9KXwoezF9KD89W14wLTldKSl8KD89W14wLTldKSg/IS1weSkpJy5mb3JtYXQodGFnc19wYXQsIGt3WydweXRob24nXVswXSwga3dbJ3B5dGhvbiddKQorCQkJZWxzZToKKwkJCQl0YWdzID0gdGFnc19wYXQKKwkJCSMgVHJ5aW5nIGxpYnJhcmllcywgZnJvbSBtb3N0IHN0cmljdCBtYXRjaCB0byBsZWFzdCBvbmUKKwkJCWZvciBwYXR0ZXJuIGluIFsnYm9vc3RfJXMlcyVzJXMlcyQnICUgKGxpYiwgdG9vbHNldF9wYXQsIHRhZ3MsIHZlcnNpb24sIGV4dCksCisJCQkJCQkJJ2Jvb3N0XyVzJXMlcyVzJCcgJSAobGliLCB0YWdzLCB2ZXJzaW9uLCBleHQpLAorCQkJCQkJCSMgR2l2ZSB1cCB0cnlpbmcgdG8gZmluZCB0aGUgcmlnaHQgdmVyc2lvbgorCQkJCQkJCSdib29zdF8lcyVzJXMlcyQnICUgKGxpYiwgdG9vbHNldF9wYXQsIHRhZ3MsIGV4dCksCisJCQkJCQkJJ2Jvb3N0XyVzJXMlcyQnICUgKGxpYiwgdGFncywgZXh0KSwKKwkJCQkJCQknYm9vc3RfJXMlcyQnICUgKGxpYiwgZXh0KSwKKwkJCQkJCQknYm9vc3RfJXMnICUgbGliXToKKwkJCQlzZWxmLnRvX2xvZygnVHJ5aW5nIHBhdHRlcm4gJXMnICUgcGF0dGVybikKKwkJCQlmaWxlID0gZmluZF9saWIocmUuY29tcGlsZShwYXR0ZXJuKSwgZmlsZXMpCisJCQkJaWYgZmlsZToKKwkJCQkJbGlicy5hcHBlbmQoZm9ybWF0X2xpYl9uYW1lKGZpbGUubmFtZSkpCisJCQkJCWJyZWFrCisJCQllbHNlOgorCQkJCXNlbGYuZW5kX21zZygnbGliICVzIG5vdCBmb3VuZCBpbiAlcycgJSAobGliLCBwYXRoLmFic3BhdGgoKSkpCisJCQkJc2VsZi5mYXRhbCgnVGhlIGNvbmZpZ3VyYXRpb24gZmFpbGVkJykKKwkJcmV0dXJuIGxpYnMKIAorCXJldHVybiAgcGF0aC5hYnNwYXRoKCksIG1hdGNoX2xpYnMoa3cuZ2V0KCdsaWInLCBOb25lKSwgRmFsc2UpLCBtYXRjaF9saWJzKGt3LmdldCgnc3RsaWInLCBOb25lKSwgVHJ1ZSkKKworQGNvbmYKK2RlZiBfY2hlY2tfcHRocmVhZF9mbGFnKHNlbGYsICprLCAqKmt3KToKKwknJycKKwlDb21wdXRlcyB3aGljaCBmbGFncyBzaG91bGQgYmUgYWRkZWQgdG8gQ1hYRkxBR1MgYW5kIExJTktGTEFHUyB0byBjb21waWxlIGluIG11bHRpLXRocmVhZGluZyBtb2RlCisKKwlZZXMsIHdlICpuZWVkKiB0byBwdXQgdGhlIC1wdGhyZWFkIHRoaW5nIGluIENQUEZMQUdTIGJlY2F1c2Ugd2l0aCBHQ0MzLAorCWJvb3N0L3RocmVhZC5ocHAgd2lsbCB0cmlnZ2VyIGEgI2Vycm9yIGlmIC1wdGhyZWFkIGlzbid0IHVzZWQ6CisJICBib29zdC9jb25maWcvcmVxdWlyZXNfdGhyZWFkcy5ocHA6NDc6NTogI2Vycm9yICJDb21waWxlciB0aHJlYWRpbmcgc3VwcG9ydAorCSAgaXMgbm90IHR1cm5lZCBvbi4gUGxlYXNlIHNldCB0aGUgY29ycmVjdCBjb21tYW5kIGxpbmUgb3B0aW9ucyBmb3IKKwkgIHRocmVhZGluZzogLXB0aHJlYWQgKExpbnV4KSwgLXB0aHJlYWRzIChTb2xhcmlzKSBvciAtbXRocmVhZHMgKE1pbmd3MzIpIgorCisJQmFzZWQgb24gX0JPT1NUX1BUSFJFQURfRkxBRygpOiBodHRwczovL2dpdGh1Yi5jb20vdHN1bmEvYm9vc3QubTQvYmxvYi9tYXN0ZXIvYnVpbGQtYXV4L2Jvb3N0Lm00CisgICAgJycnCisKKwl2YXIgPSBrdy5nZXQoJ3VzZWxpYl9zdG9yZScsICdCT09TVCcpCisKKwlzZWxmLnN0YXJ0X21zZygnQ2hlY2tpbmcgdGhlIGZsYWdzIG5lZWRlZCB0byB1c2UgcHRocmVhZHMnKQorCisJIyBUaGUgb3JkZXJpbmcgKmlzKiAoc29tZXRpbWVzKSBpbXBvcnRhbnQuICBTb21lIG5vdGVzIG9uIHRoZQorCSMgaW5kaXZpZHVhbCBpdGVtcyBmb2xsb3c6CisJIyAobm9uZSk6IGluIGNhc2UgdGhyZWFkcyBhcmUgaW4gbGliYzsgc2hvdWxkIGJlIHRyaWVkIGJlZm9yZSAtS3RocmVhZCBhbmQKKwkjICAgICAgIG90aGVyIGNvbXBpbGVyIGZsYWdzIHRvIHByZXZlbnQgY29udGludWFsIGNvbXBpbGVyIHdhcm5pbmdzCisJIyAtbHB0aHJlYWRzOiBBSVggKG11c3QgY2hlY2sgdGhpcyBiZWZvcmUgLWxwdGhyZWFkKQorCSMgLUt0aHJlYWQ6IFNlcXVlbnQgKHRocmVhZHMgaW4gbGliYywgYnV0IC1LdGhyZWFkIG5lZWRlZCBmb3IgcHRocmVhZC5oKQorCSMgLWt0aHJlYWQ6IEZyZWVCU0Qga2VybmVsIHRocmVhZHMgKHByZWZlcnJlZCB0byAtcHRocmVhZCBzaW5jZSBTTVAtYWJsZSkKKwkjIC1sbHRocmVhZDogTGludXhUaHJlYWRzIHBvcnQgb24gRnJlZUJTRCAoYWxzbyBwcmVmZXJyZWQgdG8gLXB0aHJlYWQpCisJIyAtcHRocmVhZDogR05VIExpbnV4L0dDQyAoa2VybmVsIHRocmVhZHMpLCBCU0QvR0NDICh1c2VybGFuZCB0aHJlYWRzKQorCSMgLXB0aHJlYWRzOiBTb2xhcmlzL0dDQworCSMgLW10aHJlYWRzOiBNaW5HVzMyL0dDQywgTHlueC9HQ0MKKwkjIC1tdDogU3VuIFdvcmtzaG9wIEMgKG1heSBvbmx5IGxpbmsgU3VuT1MgdGhyZWFkcyBbLWx0aHJlYWRdLCBidXQgaXQKKwkjICAgICAgZG9lc24ndCBodXJ0IHRvIGNoZWNrIHNpbmNlIHRoaXMgc29tZXRpbWVzIGRlZmluZXMgcHRocmVhZHMgdG9vOworCSMgICAgICBhbHNvIGRlZmluZXMgLURfUkVFTlRSQU5UKQorCSMgICAgICAuLi4gLW10IGlzIGFsc28gdGhlIHB0aHJlYWRzIGZsYWcgZm9yIEhQL2FDQworCSMgLWxwdGhyZWFkOiBHTlUgTGludXgsIGV0Yy4KKwkjIC0tdGhyZWFkLXNhZmU6IEtBSSBDKysKKwlpZiBVdGlscy51bnZlcnNpb25lZF9zeXNfcGxhdGZvcm0oKSA9PSAic3Vub3MiOgorCQkjIE9uIFNvbGFyaXMgKGF0IGxlYXN0LCBmb3Igc29tZSB2ZXJzaW9ucyksIGxpYmMgY29udGFpbnMgc3R1YmJlZAorCQkjIChub24tZnVuY3Rpb25hbCkgdmVyc2lvbnMgb2YgdGhlIHB0aHJlYWRzIHJvdXRpbmVzLCBzbyBsaW5rLWJhc2VkCisJCSMgdGVzdHMgd2lsbCBlcnJvbmVvdXNseSBzdWNjZWVkLiAgKFdlIG5lZWQgdG8gbGluayB3aXRoIC1wdGhyZWFkcy8tbXQvCisJCSMgLWxwdGhyZWFkLikgIChUaGUgc3R1YnMgYXJlIG1pc3NpbmcgcHRocmVhZF9jbGVhbnVwX3B1c2gsIG9yIHJhdGhlcgorCQkjIGEgZnVuY3Rpb24gY2FsbGVkIGJ5IHRoaXMgbWFjcm8sIHNvIHdlIGNvdWxkIGNoZWNrIGZvciB0aGF0LCBidXQKKwkJIyB3aG8ga25vd3Mgd2hldGhlciB0aGV5J2xsIHN0dWIgdGhhdCB0b28gaW4gYSBmdXR1cmUgbGliYy4pICBTbywKKwkJIyB3ZSdsbCBqdXN0IGxvb2sgZm9yIC1wdGhyZWFkcyBhbmQgLWxwdGhyZWFkIGZpcnN0OgorCQlib29zdF9wdGhyZWFkX2ZsYWdzID0gWyItcHRocmVhZHMiLCAiLWxwdGhyZWFkIiwgIi1tdCIsICItcHRocmVhZCJdCisJZWxzZToKKwkJYm9vc3RfcHRocmVhZF9mbGFncyA9IFsiIiwgIi1scHRocmVhZHMiLCAiLUt0aHJlYWQiLCAiLWt0aHJlYWQiLCAiLWxsdGhyZWFkIiwgIi1wdGhyZWFkIiwKKwkJCQkJCQkgICAiLXB0aHJlYWRzIiwgIi1tdGhyZWFkcyIsICItbHB0aHJlYWQiLCAiLS10aHJlYWQtc2FmZSIsICItbXQiXQorCisJZm9yIGJvb3N0X3B0aHJlYWRfZmxhZyBpbiBib29zdF9wdGhyZWFkX2ZsYWdzOgorCQl0cnk6CisJCQlzZWxmLmVudi5zdGFzaCgpCisJCQlzZWxmLmVudlsnQ1hYRkxBR1NfJXMnICUgdmFyXSArPSBbYm9vc3RfcHRocmVhZF9mbGFnXQorCQkJc2VsZi5lbnZbJ0xJTktGTEFHU18lcycgJSB2YXJdICs9IFtib29zdF9wdGhyZWFkX2ZsYWddCisJCQlzZWxmLmNoZWNrX2N4eChjb2RlPVBUSFJFQURfQ09ERSwgbXNnPU5vbmUsIHVzZT12YXIsIGV4ZWN1dGU9RmFsc2UpCisKKwkJCXNlbGYuZW5kX21zZyhib29zdF9wdGhyZWFkX2ZsYWcpCisJCQlyZXR1cm4KKwkJZXhjZXB0IHNlbGYuZXJyb3JzLkNvbmZpZ3VyYXRpb25FcnJvcjoKKwkJCXNlbGYuZW52LnJldmVydCgpCisJc2VsZi5lbmRfbXNnKCdOb25lJykKIAogQGNvbmYKIGRlZiBjaGVja19ib29zdChzZWxmLCAqaywgKiprdyk6CkBAIC0yODIsNyArMzkxLDEwIEBACiAJaWYgbm90IHNlbGYuZW52WydDWFgnXToKIAkJc2VsZi5mYXRhbCgnbG9hZCBhIGMrKyBjb21waWxlciBmaXJzdCwgY29uZi5sb2FkKCJjb21waWxlcl9jeHgiKScpCiAKLQlwYXJhbXMgPSB7J2xpYic6IGsgYW5kIGtbMF0gb3Iga3cuZ2V0KCdsaWInLCBOb25lKX0KKwlwYXJhbXMgPSB7CisJCSdsaWInOiBrIGFuZCBrWzBdIG9yIGt3LmdldCgnbGliJywgTm9uZSksCisJCSdzdGxpYic6IGt3LmdldCgnc3RsaWInLCBOb25lKQorCX0KIAlmb3Iga2V5LCB2YWx1ZSBpbiBzZWxmLm9wdGlvbnMuX19kaWN0X18uaXRlbXMoKToKIAkJaWYgbm90IGtleS5zdGFydHN3aXRoKCdib29zdF8nKToKIAkJCWNvbnRpbnVlCkBAIC0zMDIsNDIgKzQxNCw1MyBAQAogCXNlbGYuZW52LkJPT1NUX1ZFUlNJT04gPSB2ZXJzaW9uc1swXQogCXNlbGYuZW52LkJPT1NUX1ZFUlNJT05fTlVNQkVSID0gaW50KHZlcnNpb25zWzFdKQogCXNlbGYuZW5kX21zZygiJWQuJWQuJWQiICUgKGludCh2ZXJzaW9uc1sxXSkgLyAxMDAwMDAsCi0JCQkJICAgaW50KHZlcnNpb25zWzFdKSAvIDEwMCAlIDEwMDAsCi0JCQkJICAgaW50KHZlcnNpb25zWzFdKSAlIDEwMCkpCisJCQkJCQkJICAgaW50KHZlcnNpb25zWzFdKSAvIDEwMCAlIDEwMDAsCisJCQkJCQkJICAgaW50KHZlcnNpb25zWzFdKSAlIDEwMCkpCiAJaWYgTG9ncy52ZXJib3NlOgogCQlMb2dzLnBwcmludCgnQ1lBTicsICcJcGF0aCA6ICVzJyAlIHNlbGYuZW52WydJTkNMVURFU18lcycgJSB2YXJdKQogCi0JaWYgbm90IHBhcmFtc1snbGliJ106CisJaWYgbm90IHBhcmFtc1snbGliJ10gYW5kIG5vdCBwYXJhbXNbJ3N0bGliJ106CiAJCXJldHVybgorCWlmICdzdGF0aWMnIGluIGt3IG9yICdzdGF0aWMnIGluIHBhcmFtczoKKwkJTG9ncy53YXJuKCdib29zdDogc3RhdGljIHBhcmFtZXRlciBpcyBkZXByZWNhdGVkLCB1c2Ugc3RsaWIgaW5zdGVhZC4nKQogCXNlbGYuc3RhcnRfbXNnKCdDaGVja2luZyBib29zdCBsaWJzJykKLQlzdWZmaXggPSBwYXJhbXMuZ2V0KCdzdGF0aWMnLCBOb25lKSBhbmQgJ1NUJyBvciAnJwotCXBhdGgsIGxpYnMgPSBzZWxmLmJvb3N0X2dldF9saWJzKCoqcGFyYW1zKQotCXNlbGYuZW52Wyclc0xJQlBBVEhfJXMnICUgKHN1ZmZpeCwgdmFyKV0gPSBbcGF0aF0KLQlzZWxmLmVudlsnJXNMSUJfJXMnICUgKHN1ZmZpeCwgdmFyKV0gPSBsaWJzCisJcGF0aCwgbGlicywgc3RsaWJzID0gc2VsZi5ib29zdF9nZXRfbGlicygqKnBhcmFtcykKKwlzZWxmLmVudlsnTElCUEFUSF8lcycgJSB2YXJdID0gW3BhdGhdCisJc2VsZi5lbnZbJ1NUTElCUEFUSF8lcycgJSB2YXJdID0gW3BhdGhdCisJc2VsZi5lbnZbJ0xJQl8lcycgJSB2YXJdID0gbGlicworCXNlbGYuZW52WydTVExJQl8lcycgJSB2YXJdID0gc3RsaWJzCiAJc2VsZi5lbmRfbXNnKCdvaycpCiAJaWYgTG9ncy52ZXJib3NlOgogCQlMb2dzLnBwcmludCgnQ1lBTicsICcJcGF0aCA6ICVzJyAlIHBhdGgpCi0JCUxvZ3MucHByaW50KCdDWUFOJywgJwlsaWJzIDogJXMnICUgbGlicykKKwkJTG9ncy5wcHJpbnQoJ0NZQU4nLCAnCXNoYXJlZCBsaWJzIDogJXMnICUgbGlicykKKwkJTG9ncy5wcHJpbnQoJ0NZQU4nLCAnCXN0YXRpYyBsaWJzIDogJXMnICUgc3RsaWJzKQogCisJZGVmIGhhc19zaGxpYihsaWIpOgorCQlyZXR1cm4gcGFyYW1zWydsaWInXSBhbmQgbGliIGluIHBhcmFtc1snbGliJ10KKwlkZWYgaGFzX3N0bGliKGxpYik6CisJCXJldHVybiBwYXJhbXNbJ3N0bGliJ10gYW5kIGxpYiBpbiBwYXJhbXNbJ3N0bGliJ10KKwlkZWYgaGFzX2xpYihsaWIpOgorCQlyZXR1cm4gaGFzX3NobGliKGxpYikgb3IgaGFzX3N0bGliKGxpYikKKwlpZiBoYXNfbGliKCd0aHJlYWQnKToKKwkJIyBub3QgaW5zaWRlIHRyeV9saW5rIHRvIG1ha2UgY2hlY2sgdmlzaWJsZSBpbiB0aGUgb3V0cHV0CisJCXNlbGYuX2NoZWNrX3B0aHJlYWRfZmxhZyhrLCBrdykKIAogCWRlZiB0cnlfbGluaygpOgotCQlpZiAnc3lzdGVtJyBpbiBwYXJhbXNbJ2xpYiddOgotCQkJc2VsZi5jaGVja19jeHgoCi0JCQkgZnJhZ21lbnQ9Qk9PU1RfU1lTVEVNX0NPREUsCi0JCQkgdXNlPXZhciwKLQkJCSBleGVjdXRlPUZhbHNlLAotCQkJKQotCQlpZiAndGhyZWFkJyBpbiBwYXJhbXNbJ2xpYiddOgotCQkJc2VsZi5jaGVja19jeHgoCi0JCQkgZnJhZ21lbnQ9Qk9PU1RfVEhSRUFEX0NPREUsCi0JCQkgdXNlPXZhciwKLQkJCSBleGVjdXRlPUZhbHNlLAotCQkJKQorCQlpZiBoYXNfbGliKCdzeXN0ZW0nKToKKwkJCXNlbGYuY2hlY2tfY3h4KGZyYWdtZW50PUJPT1NUX0VSUk9SX0NPREUsIHVzZT12YXIsIGV4ZWN1dGU9RmFsc2UpCisJCWlmIGhhc19saWIoJ3RocmVhZCcpOgorCQkJc2VsZi5jaGVja19jeHgoZnJhZ21lbnQ9Qk9PU1RfVEhSRUFEX0NPREUsIHVzZT12YXIsIGV4ZWN1dGU9RmFsc2UpCisJCWlmIGhhc19saWIoJ2xvZycpOgorCQkJaWYgbm90IGhhc19saWIoJ3RocmVhZCcpOgorCQkJCXNlbGYuZW52WydERUZJTkVTXyVzJyAlIHZhcl0gKz0gWydCT09TVF9MT0dfTk9fVEhSRUFEUyddCisJCQlpZiBoYXNfc2hsaWIoJ2xvZycpOgorCQkJCXNlbGYuZW52WydERUZJTkVTXyVzJyAlIHZhcl0gKz0gWydCT09TVF9MT0dfRFlOX0xJTksnXQorCQkJc2VsZi5jaGVja19jeHgoZnJhZ21lbnQ9Qk9PU1RfTE9HX0NPREUsIHVzZT12YXIsIGV4ZWN1dGU9RmFsc2UpCiAKIAlpZiBwYXJhbXMuZ2V0KCdsaW5rYWdlX2F1dG9kZXRlY3QnLCBGYWxzZSk6CiAJCXNlbGYuc3RhcnRfbXNnKCJBdHRlbXB0aW5nIHRvIGRldGVjdCBib29zdCBsaW5rYWdlIGZsYWdzIikKIAkJdG9vbHNldCA9IHNlbGYuYm9vc3RfZ2V0X3Rvb2xzZXQoa3cuZ2V0KCd0b29sc2V0JywgJycpKQotCQlpZiB0b29sc2V0IGluIFsndmMnXToKKwkJaWYgdG9vbHNldCBpbiAoJ3ZjJywpOgogCQkJIyBkaXNhYmxlIGF1dG8tbGlua2luZyBmZWF0dXJlLCBjYXVzaW5nIGVycm9yIExOSzExODEKIAkJCSMgYmVjYXVzZSB0aGUgY29kZSB3YW50cyB0byBiZSBsaW5rZWQgYWdhaW5zdAogCQkJc2VsZi5lbnZbJ0RFRklORVNfJXMnICUgdmFyXSArPSBbJ0JPT1NUX0FMTF9OT19MSUInXQpAQCAtMzYxLDE0ICs0ODQsMTQgQEAKIAkJCQl0cnk6CiAJCQkJCXRyeV9saW5rKCkKIAkJCQkJc2VsZi5lbmRfbXNnKCJvazogd2lubmluZyBjeHhmbGFncyBjb21iaW5hdGlvbjogJXMiICUgKHNlbGYuZW52WyJDWFhGTEFHU18lcyIgJSB2YXJdKSkKLQkJCQkJZSA9IE5vbmUKKwkJCQkJZXhjID0gTm9uZQogCQkJCQlicmVhawotCQkJCWV4Y2VwdCBFcnJvcnMuQ29uZmlndXJhdGlvbkVycm9yIGFzIGV4YzoKKwkJCQlleGNlcHQgRXJyb3JzLkNvbmZpZ3VyYXRpb25FcnJvciBhcyBlOgogCQkJCQlzZWxmLmVudi5yZXZlcnQoKQotCQkJCQllID0gZXhjCisJCQkJCWV4YyA9IGUKIAotCQkJaWYgZSBpcyBub3QgTm9uZToKLQkJCQlzZWxmLmVuZF9tc2coIkNvdWxkIG5vdCBhdXRvLWRldGVjdCBib29zdCBsaW5raW5nIGZsYWdzIGNvbWJpbmF0aW9uLCB5b3UgbWF5IHJlcG9ydCBpdCB0byBib29zdC5weSBhdXRob3IiLCBleD1lKQorCQkJaWYgZXhjIGlzIG5vdCBOb25lOgorCQkJCXNlbGYuZW5kX21zZygiQ291bGQgbm90IGF1dG8tZGV0ZWN0IGJvb3N0IGxpbmtpbmcgZmxhZ3MgY29tYmluYXRpb24sIHlvdSBtYXkgcmVwb3J0IGl0IHRvIGJvb3N0LnB5IGF1dGhvciIsIGV4PWV4YykKIAkJCQlzZWxmLmZhdGFsKCdUaGUgY29uZmlndXJhdGlvbiBmYWlsZWQnKQogCQllbHNlOgogCQkJc2VsZi5lbmRfbXNnKCJCb29zdCBsaW5rYWdlIGZsYWdzIGF1dG8tZGV0ZWN0aW9uIG5vdCBpbXBsZW1lbnRlZCAobmVlZGVkID8pIGZvciB0aGlzIHRvb2xjaGFpbiIpCkBAIC0zODEsMyArNTA0LDE5IEBACiAJCQlzZWxmLmVuZF9tc2coIkNvdWxkIG5vdCBsaW5rIGFnYWluc3QgYm9vc3QgbGlicmFyaWVzIHVzaW5nIHN1cHBsaWVkIG9wdGlvbnMiKQogCQkJc2VsZi5mYXRhbCgnVGhlIGNvbmZpZ3VyYXRpb24gZmFpbGVkJykKIAkJc2VsZi5lbmRfbXNnKCdvaycpCisKKworQGZlYXR1cmUoJ2N4eCcpCitAYWZ0ZXJfbWV0aG9kKCdhcHBseV9saW5rJykKK2RlZiBpbnN0YWxsX2Jvb3N0KHNlbGYpOgorCWlmIGluc3RhbGxfYm9vc3QuZG9uZSBvciBub3QgVXRpbHMuaXNfd2luMzIgb3Igbm90IHNlbGYuYmxkLmNtZC5zdGFydHN3aXRoKCdpbnN0YWxsJyk6CisJCXJldHVybgorCWluc3RhbGxfYm9vc3QuZG9uZSA9IFRydWUKKwlpbnN0X3RvID0gZ2V0YXR0cihzZWxmLCAnaW5zdGFsbF9wYXRoJywgJyR7QklORElSfScpCisJZm9yIGxpYiBpbiBzZWxmLmVudi5MSUJfQk9PU1Q6CisJCXRyeToKKwkJCWZpbGUgPSBzZWxmLmJsZC5maW5kX2ZpbGUoc2VsZi5lbnYuY3h4c2hsaWJfUEFUVEVSTiAlIGxpYiwgc2VsZi5lbnYuTElCUEFUSF9CT09TVCkKKwkJCXNlbGYuYmxkLmluc3RhbGxfZmlsZXMoaW5zdF90bywgc2VsZi5ibGQucm9vdC5maW5kX25vZGUoZmlsZSkpCisJCWV4Y2VwdDoKKwkJCWNvbnRpbnVlCitpbnN0YWxsX2Jvb3N0LmRvbmUgPSBGYWxzZQpkaWZmIC0tZ2l0IGEvLndhZi10b29scy9jb3ZlcmFnZS5weSBiLy53YWYtdG9vbHMvY292ZXJhZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M1ODE2NQotLS0gL2Rldi9udWxsCisrKyBiLy53YWYtdG9vbHMvY292ZXJhZ2UucHkKQEAgLTAsMCArMSwyMiBAQAorIyAtKi0gTW9kZTogcHl0aG9uOyBweS1pbmRlbnQtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGNvZGluZzogdXRmLTg7IC0qLQorCitmcm9tIHdhZmxpYiBpbXBvcnQgVGFza0dlbgorCitkZWYgb3B0aW9ucyhvcHQpOgorICAgIG9wdC5hZGRfb3B0aW9uKCctLXdpdGgtY292ZXJhZ2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgIGhlbHA9J0FkZCBjb21waWxlciBmbGFncyB0byBlbmFibGUgY29kZSBjb3ZlcmFnZSBpbmZvcm1hdGlvbicpCisKK2RlZiBjb25maWd1cmUoY29uZik6CisgICAgaWYgY29uZi5vcHRpb25zLndpdGhfY292ZXJhZ2U6CisgICAgICAgIGlmIG5vdCBjb25mLm9wdGlvbnMuZGVidWc6CisgICAgICAgICAgICBjb25mLmZhdGFsKCdDb2RlIGNvdmVyYWdlIGZsYWdzIHJlcXVpcmUgZGVidWcgbW9kZSBjb21waWxhdGlvbiAoYWRkIC0tZGVidWcpJykKKyAgICAgICAgY29uZi5jaGVja19jeHgoY3h4ZmxhZ3M9WyctZnByb2ZpbGUtYXJjcycsICctZnRlc3QtY292ZXJhZ2UnLCAnLWZQSUMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgbGlua2ZsYWdzPVsnLWZwcm9maWxlLWFyY3MnXSwgdXNlbGliX3N0b3JlPSdHQ09WJywgbWFuZGF0b3J5PVRydWUpCisKK0BUYXNrR2VuLmZlYXR1cmUoJ2N4eCcsJ2NjJykKK0BUYXNrR2VuLmFmdGVyKCdwcm9jZXNzX3NvdXJjZScpCitkZWYgYWRkX2NvdmVyYWdlKHNlbGYpOgorICAgIGlmIGdldGF0dHIoc2VsZiwgJ3VzZScsICcnKToKKyAgICAgICAgc2VsZi51c2UgKz0gJyBHQ09WJworICAgIGVsc2U6CisgICAgICAgIHNlbGYudXNlID0gJ0dDT1YnCmRpZmYgLS1naXQgYS8ud2FmLXRvb2xzL2RlZmF1bHQtY29tcGlsZXItZmxhZ3MucHkgYi8ud2FmLXRvb2xzL2RlZmF1bHQtY29tcGlsZXItZmxhZ3MucHkKaW5kZXggMjk5OWU4Zi4uNTRkYjdlYSAxMDA2NDQKLS0tIGEvLndhZi10b29scy9kZWZhdWx0LWNvbXBpbGVyLWZsYWdzLnB5CisrKyBiLy53YWYtdG9vbHMvZGVmYXVsdC1jb21waWxlci1mbGFncy5weQpAQCAtMSw0NCArMSw2NyBAQAogIyAtKi0gTW9kZTogcHl0aG9uOyBweS1pbmRlbnQtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGNvZGluZzogdXRmLTg7IC0qLQogCi1mcm9tIHdhZmxpYiBpbXBvcnQgTG9ncywgQ29uZmlndXJlLCBVdGlscworZnJvbSB3YWZsaWIgaW1wb3J0IENvbmZpZ3VyZSwgTG9ncywgVXRpbHMKIAogZGVmIG9wdGlvbnMob3B0KToKLSAgICBvcHQuYWRkX29wdGlvbignLS1kZWJ1ZycsICctLXdpdGgtZGVidWcnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLCBkZXN0PSdkZWJ1ZycsCi0gICAgICAgICAgICAgICAgICAgaGVscD0nJydDb21waWxlIGluIGRlYnVnZ2luZyBtb2RlIHdpdGhvdXQgb3B0aW1pemF0aW9ucyAoLU8wIG9yIC1PZyknJycpCisgICAgb3B0LmFkZF9vcHRpb24oJy0tZGVidWcnLCAnLS13aXRoLWRlYnVnJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICBoZWxwPSdDb21waWxlIGluIGRlYnVnZ2luZyBtb2RlIHdpdGggbWluaW1hbCBvcHRpbWl6YXRpb25zICgtTzAgb3IgLU9nKScpCiAKIGRlZiBjb25maWd1cmUoY29uZik6Ci0gICAgY3h4ID0gY29uZi5lbnZbJ0NYWF9OQU1FJ10gIyBDWFhfTkFNRSByZXByZXNlbnRzIGdlbmVyaWMgbmFtZSBvZiB0aGUgY29tcGlsZXIKLSAgICBpZiBjeHggPT0gJ2djYyc6Ci0gICAgICAgIGZsYWdzID0gR2NjRmxhZ3MoKQotICAgIGVsaWYgY3h4ID09ICdjbGFuZyc6Ci0gICAgICAgIGZsYWdzID0gQ2xhbmdGbGFncygpCi0gICAgZWxzZToKLSAgICAgICAgZmxhZ3MgPSBDb21waWxlckZsYWdzKCkKLSAgICAgICAgTG9ncy53YXJuKCdUaGUgY29kZSBoYXMgbm90IHlldCBiZWVuIHRlc3RlZCB3aXRoICVzIGNvbXBpbGVyJyAlIGN4eCkKKyAgICBjb25mLnN0YXJ0X21zZygnQ2hlY2tpbmcgQysrIGNvbXBpbGVyIHZlcnNpb24nKQogCi0gICAgYXJlQ3VzdG9tQ3h4ZmxhZ3NQcmVzZW50ID0gKGxlbihjb25mLmVudi5DWFhGTEFHUykgPiAwKQorICAgIGN4eCA9IGNvbmYuZW52LkNYWF9OQU1FICMgZ2VuZXJpYyBuYW1lIG9mIHRoZSBjb21waWxlcgorICAgIGNjdmVyID0gdHVwbGUoaW50KGkpIGZvciBpIGluIGNvbmYuZW52LkNDX1ZFUlNJT04pCisgICAgY2N2ZXJzdHIgPSAnLicuam9pbihjb25mLmVudi5DQ19WRVJTSU9OKQorICAgIGVycm1zZyA9ICcnCisgICAgd2Fybm1zZyA9ICcnCisgICAgaWYgY3h4ID09ICdnY2MnOgorICAgICAgICBpZiBjY3ZlciA8ICg0LCA4LCAyKToKKyAgICAgICAgICAgIGVycm1zZyA9ICgnVGhlIHZlcnNpb24gb2YgZ2NjIHlvdSBhcmUgdXNpbmcgaXMgdG9vIG9sZC5cbicKKyAgICAgICAgICAgICAgICAgICAgICAnVGhlIG1pbmltdW0gc3VwcG9ydGVkIGdjYyB2ZXJzaW9uIGlzIDQuOC4yLicpCisgICAgICAgIGNvbmYuZmxhZ3MgPSBHY2NGbGFncygpCisgICAgZWxpZiBjeHggPT0gJ2NsYW5nJzoKKyAgICAgICAgaWYgY2N2ZXIgPCAoMywgNCwgMCk6CisgICAgICAgICAgICBlcnJtc2cgPSAoJ1RoZSB2ZXJzaW9uIG9mIGNsYW5nIHlvdSBhcmUgdXNpbmcgaXMgdG9vIG9sZC5cbicKKyAgICAgICAgICAgICAgICAgICAgICAnVGhlIG1pbmltdW0gc3VwcG9ydGVkIGNsYW5nIHZlcnNpb24gaXMgMy40LjAuJykKKyAgICAgICAgY29uZi5mbGFncyA9IENsYW5nRmxhZ3MoKQorICAgIGVsc2U6CisgICAgICAgIHdhcm5tc2cgPSAnTm90ZTogJXMgY29tcGlsZXIgaXMgdW5zdXBwb3J0ZWQnICUgY3h4CisgICAgICAgIGNvbmYuZmxhZ3MgPSBDb21waWxlckZsYWdzKCkKKworICAgIGlmIGVycm1zZzoKKyAgICAgICAgY29uZi5lbmRfbXNnKGNjdmVyc3RyLCBjb2xvcj0nUkVEJykKKyAgICAgICAgY29uZi5mYXRhbChlcnJtc2cpCisgICAgZWxpZiB3YXJubXNnOgorICAgICAgICBjb25mLmVuZF9tc2coY2N2ZXJzdHIsIGNvbG9yPSdZRUxMT1cnKQorICAgICAgICBMb2dzLndhcm4od2Fybm1zZykKKyAgICBlbHNlOgorICAgICAgICBjb25mLmVuZF9tc2coY2N2ZXJzdHIpCisKKyAgICBjb25mLmFyZUN1c3RvbUN4eGZsYWdzUHJlc2VudCA9IChsZW4oY29uZi5lbnYuQ1hYRkxBR1MpID4gMCkKIAogICAgICMgR2VuZXJhbCBmbGFncyBhcmUgYWx3YXlzIGFwcGxpZWQgKGUuZy4sIHNlbGVjdGluZyBDKysxMSBtb2RlKQotICAgIGdlbmVyYWxGbGFncyA9IGZsYWdzLmdldEdlbmVyYWxGbGFncyhjb25mKQorICAgIGdlbmVyYWxGbGFncyA9IGNvbmYuZmxhZ3MuZ2V0R2VuZXJhbEZsYWdzKGNvbmYpCiAgICAgY29uZi5hZGRfc3VwcG9ydGVkX2N4eGZsYWdzKGdlbmVyYWxGbGFnc1snQ1hYRkxBR1MnXSkKICAgICBjb25mLmFkZF9zdXBwb3J0ZWRfbGlua2ZsYWdzKGdlbmVyYWxGbGFnc1snTElOS0ZMQUdTJ10pCiAgICAgY29uZi5lbnYuREVGSU5FUyArPSBnZW5lcmFsRmxhZ3NbJ0RFRklORVMnXQogCitAQ29uZmlndXJlLmNvbmYKK2RlZiBjaGVja19jb21waWxlcl9mbGFncyhjb25mKToKICAgICAjIERlYnVnIG9yIG9wdGltaXplZCBDWFhGTEFHUyBhbmQgTElOS0ZMQUdTIGFyZSBhcHBsaWVkIG9ubHkgaWYgdGhlCiAgICAgIyBjb3JyZXNwb25kaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IHNldC4KICAgICAjIERFRklORVMgYXJlIGFsd2F5cyBhcHBsaWVkLgogICAgIGlmIGNvbmYub3B0aW9ucy5kZWJ1ZzoKLSAgICAgICAgZXh0cmFGbGFncyA9IGZsYWdzLmdldERlYnVnRmxhZ3MoY29uZikKLSAgICAgICAgaWYgYXJlQ3VzdG9tQ3h4ZmxhZ3NQcmVzZW50OgorICAgICAgICBleHRyYUZsYWdzID0gY29uZi5mbGFncy5nZXREZWJ1Z0ZsYWdzKGNvbmYpCisgICAgICAgIGlmIGNvbmYuYXJlQ3VzdG9tQ3h4ZmxhZ3NQcmVzZW50OgogICAgICAgICAgICAgbWlzc2luZ0ZsYWdzID0gW3ggZm9yIHggaW4gZXh0cmFGbGFnc1snQ1hYRkxBR1MnXSBpZiB4IG5vdCBpbiBjb25mLmVudi5DWFhGTEFHU10KLSAgICAgICAgICAgIGlmIGxlbihtaXNzaW5nRmxhZ3MpID4gMDoKLSAgICAgICAgICAgICAgICBMb2dzLndhcm4oIlNlbGVjdGVkIGRlYnVnIG1vZGUsIGJ1dCBDWFhGTEFHUyBpcyBzZXQgdG8gYSBjdXN0b20gdmFsdWUgJyVzJyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJSAiICIuam9pbihjb25mLmVudi5DWFhGTEFHUykpCi0gICAgICAgICAgICAgICAgTG9ncy53YXJuKCJEZWZhdWx0IGZsYWdzICclcycgYXJlIG5vdCBhY3RpdmF0ZWQiICUgIiAiLmpvaW4obWlzc2luZ0ZsYWdzKSkKKyAgICAgICAgICAgIGlmIG1pc3NpbmdGbGFnczoKKyAgICAgICAgICAgICAgICBMb2dzLndhcm4oJ1NlbGVjdGVkIGRlYnVnIG1vZGUsIGJ1dCBDWFhGTEFHUyBpcyBzZXQgdG8gYSBjdXN0b20gdmFsdWUgIiVzIicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJSAnICcuam9pbihjb25mLmVudi5DWFhGTEFHUykpCisgICAgICAgICAgICAgICAgTG9ncy53YXJuKCdEZWZhdWx0IGZsYWdzICIlcyIgd2lsbCBub3QgYmUgdXNlZCcgJSAnICcuam9pbihtaXNzaW5nRmxhZ3MpKQogICAgIGVsc2U6Ci0gICAgICAgIGV4dHJhRmxhZ3MgPSBmbGFncy5nZXRPcHRpbWl6ZWRGbGFncyhjb25mKQorICAgICAgICBleHRyYUZsYWdzID0gY29uZi5mbGFncy5nZXRPcHRpbWl6ZWRGbGFncyhjb25mKQogCi0gICAgaWYgbm90IGFyZUN1c3RvbUN4eGZsYWdzUHJlc2VudDoKKyAgICBpZiBub3QgY29uZi5hcmVDdXN0b21DeHhmbGFnc1ByZXNlbnQ6CiAgICAgICAgIGNvbmYuYWRkX3N1cHBvcnRlZF9jeHhmbGFncyhleHRyYUZsYWdzWydDWFhGTEFHUyddKQogICAgICAgICBjb25mLmFkZF9zdXBwb3J0ZWRfbGlua2ZsYWdzKGV4dHJhRmxhZ3NbJ0xJTktGTEFHUyddKQogCkBAIC01NSw5ICs3OCwxMCBAQAogICAgIHNlbGYuc3RhcnRfbXNnKCdDaGVja2luZyBzdXBwb3J0ZWQgQ1hYRkxBR1MnKQogCiAgICAgc3VwcG9ydGVkRmxhZ3MgPSBbXQotICAgIGZvciBmbGFnIGluIGN4eGZsYWdzOgotICAgICAgICBpZiBzZWxmLmNoZWNrX2N4eChjeHhmbGFncz1bJy1XZXJyb3InLCBmbGFnXSwgbWFuZGF0b3J5PUZhbHNlKToKLSAgICAgICAgICAgIHN1cHBvcnRlZEZsYWdzICs9IFtmbGFnXQorICAgIGZvciBmbGFncyBpbiBjeHhmbGFnczoKKyAgICAgICAgZmxhZ3MgPSBVdGlscy50b19saXN0KGZsYWdzKQorICAgICAgICBpZiBzZWxmLmNoZWNrX2N4eChjeHhmbGFncz1bJy1XZXJyb3InXSArIGZsYWdzLCBtYW5kYXRvcnk9RmFsc2UpOgorICAgICAgICAgICAgc3VwcG9ydGVkRmxhZ3MgKz0gZmxhZ3MKIAogICAgIHNlbGYuZW5kX21zZygnICcuam9pbihzdXBwb3J0ZWRGbGFncykpCiAgICAgc2VsZi5lbnYucHJlcGVuZF92YWx1ZSgnQ1hYRkxBR1MnLCBzdXBwb3J0ZWRGbGFncykKQEAgLTczLDE1ICs5NywxOSBAQAogICAgIHNlbGYuc3RhcnRfbXNnKCdDaGVja2luZyBzdXBwb3J0ZWQgTElOS0ZMQUdTJykKIAogICAgIHN1cHBvcnRlZEZsYWdzID0gW10KLSAgICBmb3IgZmxhZyBpbiBsaW5rZmxhZ3M6Ci0gICAgICAgIGlmIHNlbGYuY2hlY2tfY3h4KGxpbmtmbGFncz1bJy1XZXJyb3InLCBmbGFnXSwgbWFuZGF0b3J5PUZhbHNlKToKLSAgICAgICAgICAgIHN1cHBvcnRlZEZsYWdzICs9IFtmbGFnXQorICAgIGZvciBmbGFncyBpbiBsaW5rZmxhZ3M6CisgICAgICAgIGZsYWdzID0gVXRpbHMudG9fbGlzdChmbGFncykKKyAgICAgICAgaWYgc2VsZi5jaGVja19jeHgobGlua2ZsYWdzPVsnLVdlcnJvciddICsgZmxhZ3MsIG1hbmRhdG9yeT1GYWxzZSk6CisgICAgICAgICAgICBzdXBwb3J0ZWRGbGFncyArPSBmbGFncwogCiAgICAgc2VsZi5lbmRfbXNnKCcgJy5qb2luKHN1cHBvcnRlZEZsYWdzKSkKICAgICBzZWxmLmVudi5wcmVwZW5kX3ZhbHVlKCdMSU5LRkxBR1MnLCBzdXBwb3J0ZWRGbGFncykKIAogCiBjbGFzcyBDb21waWxlckZsYWdzKG9iamVjdCk6CisgICAgZGVmIGdldENvbXBpbGVyVmVyc2lvbihzZWxmLCBjb25mKToKKyAgICAgICAgcmV0dXJuIHR1cGxlKGludChpKSBmb3IgaSBpbiBjb25mLmVudi5DQ19WRVJTSU9OKQorCiAgICAgZGVmIGdldEdlbmVyYWxGbGFncyhzZWxmLCBjb25mKToKICAgICAgICAgIiIiR2V0IGRpY3Qgb2YgQ1hYRkxBR1MsIExJTktGTEFHUywgYW5kIERFRklORVMgdGhhdCBhcmUgYWx3YXlzIG5lZWRlZCIiIgogICAgICAgICByZXR1cm4geydDWFhGTEFHUyc6IFtdLCAnTElOS0ZMQUdTJzogW10sICdERUZJTkVTJzogW119CkBAIC05OCwxOCArMTI2LDI2IEBACiAgICAgIiIiCiAgICAgVGhpcyBjbGFzcyBkZWZpbmVzIGJhc2ljIGZsYWdzIHRoYXQgd29yayBmb3IgYm90aCBnY2MgYW5kIGNsYW5nIGNvbXBpbGVycwogICAgICIiIgorICAgIGRlZiBnZXRHZW5lcmFsRmxhZ3Moc2VsZiwgY29uZik6CisgICAgICAgIGZsYWdzID0gc3VwZXIoR2NjQmFzaWNGbGFncywgc2VsZikuZ2V0R2VuZXJhbEZsYWdzKGNvbmYpCisgICAgICAgIGZsYWdzWydDWFhGTEFHUyddICs9IFsnLXN0ZD1jKysxMSddCisgICAgICAgIHJldHVybiBmbGFncworCiAgICAgZGVmIGdldERlYnVnRmxhZ3Moc2VsZiwgY29uZik6CiAgICAgICAgIGZsYWdzID0gc3VwZXIoR2NjQmFzaWNGbGFncywgc2VsZikuZ2V0RGVidWdGbGFncyhjb25mKQogICAgICAgICBmbGFnc1snQ1hYRkxBR1MnXSArPSBbJy1PMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLU9nJywgIyBnY2MgPj0gNC44LCBjbGFuZyA+PSA0LjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctZzMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1wZWRhbnRpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLVdhbGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1XZXh0cmEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1XZXJyb3InLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm8tdW51c2VkLXBhcmFtZXRlcicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLVduby1lcnJvcj1tYXliZS11bmluaXRpYWxpemVkJywgIyBCdWcgIzE2MTUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctV25vbi12aXJ0dWFsLWR0b3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm8tZXJyb3I9ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMnLCAjIEJ1ZyAjMzc5NQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm8tZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCcsICMgQnVnICMxNjE1CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLVduby11bnVzZWQtcGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgZmxhZ3NbJ0xJTktGTEFHUyddICs9IFsnLWZ1c2UtbGQ9Z29sZCcsICctV2wsLU8xJ10KICAgICAgICAgcmV0dXJuIGZsYWdzCiAKICAgICBkZWYgZ2V0T3B0aW1pemVkRmxhZ3Moc2VsZiwgY29uZik6CkBAIC0xMTksMzYgKzE1NSwyMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1wZWRhbnRpYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLVdhbGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1XZXh0cmEnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm9uLXZpcnR1YWwtZHRvcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLVduby11bnVzZWQtcGFyYW1ldGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgZmxhZ3NbJ0xJTktGTEFHUyddICs9IFsnLWZ1c2UtbGQ9Z29sZCcsICctV2wsLU8xJ10KICAgICAgICAgcmV0dXJuIGZsYWdzCiAKIGNsYXNzIEdjY0ZsYWdzKEdjY0Jhc2ljRmxhZ3MpOgotICAgIGRlZiBnZXRHZW5lcmFsRmxhZ3Moc2VsZiwgY29uZik6Ci0gICAgICAgIGZsYWdzID0gc3VwZXIoR2NjRmxhZ3MsIHNlbGYpLmdldEdlbmVyYWxGbGFncyhjb25mKQotICAgICAgICB2ZXJzaW9uID0gdHVwbGUoaW50KGkpIGZvciBpIGluIGNvbmYuZW52WydDQ19WRVJTSU9OJ10pCi0gICAgICAgIGlmIHZlcnNpb24gPCAoNCwgOCwgMik6Ci0gICAgICAgICAgICBjb25mLmZhdGFsKCdUaGUgdmVyc2lvbiBvZiBnY2MgeW91IGFyZSB1c2luZyAoJXMpIGlzIHRvbyBvbGQuXG4nICUKLSAgICAgICAgICAgICAgICAgICAgICAgJy4nLmpvaW4oY29uZi5lbnZbJ0NDX1ZFUlNJT04nXSkgKwotICAgICAgICAgICAgICAgICAgICAgICAnVGhlIG1pbmltdW0gc3VwcG9ydGVkIGdjYyB2ZXJzaW9uIGlzIDQuOC4yLicpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmbGFnc1snQ1hYRkxBR1MnXSArPSBbJy1zdGQ9YysrMTEnXQotICAgICAgICByZXR1cm4gZmxhZ3MKLQogICAgIGRlZiBnZXREZWJ1Z0ZsYWdzKHNlbGYsIGNvbmYpOgogICAgICAgICBmbGFncyA9IHN1cGVyKEdjY0ZsYWdzLCBzZWxmKS5nZXREZWJ1Z0ZsYWdzKGNvbmYpCi0gICAgICAgIHZlcnNpb24gPSB0dXBsZShpbnQoaSkgZm9yIGkgaW4gY29uZi5lbnZbJ0NDX1ZFUlNJT04nXSkKLSAgICAgICAgaWYgdmVyc2lvbiA8ICg1LCAxLCAwKToKKyAgICAgICAgaWYgc2VsZi5nZXRDb21waWxlclZlcnNpb24oY29uZikgPCAoNSwgMSwgMCk6CiAgICAgICAgICAgICBmbGFnc1snQ1hYRkxBR1MnXSArPSBbJy1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMnXQotICAgICAgICBmbGFnc1snQ1hYRkxBR1MnXSArPSBbJy1PZycsICMgZ2NjID49IDQuOAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1mZGlhZ25vc3RpY3MtY29sb3InLCAjIGdjYyA+PSA0LjkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgZmxhZ3NbJ0NYWEZMQUdTJ10gKz0gWyctZmRpYWdub3N0aWNzLWNvbG9yJ10gIyBnY2MgPj0gNC45CiAgICAgICAgIHJldHVybiBmbGFncwogCiAgICAgZGVmIGdldE9wdGltaXplZEZsYWdzKHNlbGYsIGNvbmYpOgogICAgICAgICBmbGFncyA9IHN1cGVyKEdjY0ZsYWdzLCBzZWxmKS5nZXRPcHRpbWl6ZWRGbGFncyhjb25mKQotICAgICAgICB2ZXJzaW9uID0gdHVwbGUoaW50KGkpIGZvciBpIGluIGNvbmYuZW52WydDQ19WRVJTSU9OJ10pCi0gICAgICAgIGlmIHZlcnNpb24gPCAoNSwgMSwgMCk6CisgICAgICAgIGlmIHNlbGYuZ2V0Q29tcGlsZXJWZXJzaW9uKGNvbmYpIDwgKDUsIDEsIDApOgogICAgICAgICAgICAgZmxhZ3NbJ0NYWEZMQUdTJ10gKz0gWyctV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzJ10KICAgICAgICAgZmxhZ3NbJ0NYWEZMQUdTJ10gKz0gWyctZmRpYWdub3N0aWNzLWNvbG9yJ10gIyBnY2MgPj0gNC45CiAgICAgICAgIHJldHVybiBmbGFncwpAQCAtMTU2LDI2ICsxNzksMzYgQEAKIGNsYXNzIENsYW5nRmxhZ3MoR2NjQmFzaWNGbGFncyk6CiAgICAgZGVmIGdldEdlbmVyYWxGbGFncyhzZWxmLCBjb25mKToKICAgICAgICAgZmxhZ3MgPSBzdXBlcihDbGFuZ0ZsYWdzLCBzZWxmKS5nZXRHZW5lcmFsRmxhZ3MoY29uZikKLSAgICAgICAgZmxhZ3NbJ0NYWEZMQUdTJ10gKz0gWyctc3RkPWMrKzExJ10KLSAgICAgICAgaWYgVXRpbHMudW52ZXJzaW9uZWRfc3lzX3BsYXRmb3JtKCkgPT0gJ2Rhcndpbic6Ci0gICAgICAgICAgICBmbGFnc1snQ1hYRkxBR1MnXSArPSBbJy1zdGRsaWI9bGliYysrJ10KLSAgICAgICAgICAgIGZsYWdzWydMSU5LRkxBR1MnXSArPSBbJy1zdGRsaWI9bGliYysrJ10KKyAgICAgICAgaWYgVXRpbHMudW52ZXJzaW9uZWRfc3lzX3BsYXRmb3JtKCkgPT0gJ2RhcndpbicgYW5kIHNlbGYuZ2V0Q29tcGlsZXJWZXJzaW9uKGNvbmYpID49ICg5LCAwLCAwKToKKyAgICAgICAgICAgICMgQnVnICM0Mjk2CisgICAgICAgICAgICBmbGFnc1snQ1hYRkxBR1MnXSArPSBbWyctaXN5c3RlbScsICcvdXNyL2xvY2FsL2luY2x1ZGUnXSwgIyBmb3IgSG9tZWJyZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJy1pc3lzdGVtJywgJy9vcHQvbG9jYWwvaW5jbHVkZSddXSAjIGZvciBNYWNQb3J0cwogICAgICAgICByZXR1cm4gZmxhZ3MKIAogICAgIGRlZiBnZXREZWJ1Z0ZsYWdzKHNlbGYsIGNvbmYpOgogICAgICAgICBmbGFncyA9IHN1cGVyKENsYW5nRmxhZ3MsIHNlbGYpLmdldERlYnVnRmxhZ3MoY29uZikKICAgICAgICAgZmxhZ3NbJ0NYWEZMQUdTJ10gKz0gWyctZmNvbG9yLWRpYWdub3N0aWNzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctV25vLXVudXNlZC1sb2NhbC10eXBlZGVmJywgIyBCdWdzICMyNjU3IGFuZCAjMzIwOQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm8tZXJyb3I9dW5uZWVkZWQtaW50ZXJuYWwtZGVjbGFyYXRpb24nLCAjIEJ1ZyAjMTU4OAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1XZXh0cmEtc2VtaScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLVd1bmRlZmluZWQtZnVuYy10ZW1wbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLVduby1lcnJvcj1kZXByZWNhdGVkLXJlZ2lzdGVyJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctV25vLWVycm9yPWtleXdvcmQtbWFjcm8nLCAjIEJ1ZyAjMzIzNQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm8tZXJyb3I9aW5maW5pdGUtcmVjdXJzaW9uJywgIyBCdWcgIzMzNTgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctV25vLWVycm9yPWtleXdvcmQtbWFjcm8nLCAjIEJ1ZyAjMzIzNQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm8tZXJyb3I9dW5uZWVkZWQtaW50ZXJuYWwtZGVjbGFyYXRpb24nLCAjIEJ1ZyAjMTU4OAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm8tdW51c2VkLWxvY2FsLXR5cGVkZWYnLCAjIEJ1Z3MgIzI2NTcgYW5kICMzMjA5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgIHZlcnNpb24gPSBzZWxmLmdldENvbXBpbGVyVmVyc2lvbihjb25mKQorICAgICAgICBpZiB2ZXJzaW9uIDwgKDMsIDksIDApIG9yIChVdGlscy51bnZlcnNpb25lZF9zeXNfcGxhdGZvcm0oKSA9PSAnZGFyd2luJyBhbmQgdmVyc2lvbiA8ICg4LCAxLCAwKSk6CisgICAgICAgICAgICBmbGFnc1snQ1hYRkxBR1MnXSArPSBbJy1Xbm8tdW5rbm93bi1wcmFnbWFzJ10KICAgICAgICAgcmV0dXJuIGZsYWdzCiAKICAgICBkZWYgZ2V0T3B0aW1pemVkRmxhZ3Moc2VsZiwgY29uZik6CiAgICAgICAgIGZsYWdzID0gc3VwZXIoQ2xhbmdGbGFncywgc2VsZikuZ2V0T3B0aW1pemVkRmxhZ3MoY29uZikKICAgICAgICAgZmxhZ3NbJ0NYWEZMQUdTJ10gKz0gWyctZmNvbG9yLWRpYWdub3N0aWNzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctV2V4dHJhLXNlbWknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1XdW5kZWZpbmVkLWZ1bmMtdGVtcGxhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1Xbm8tdW51c2VkLWxvY2FsLXR5cGVkZWYnLCAjIEJ1Z3MgIzI2NTcgYW5kICMzMjA5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgIHZlcnNpb24gPSBzZWxmLmdldENvbXBpbGVyVmVyc2lvbihjb25mKQorICAgICAgICBpZiB2ZXJzaW9uIDwgKDMsIDksIDApIG9yIChVdGlscy51bnZlcnNpb25lZF9zeXNfcGxhdGZvcm0oKSA9PSAnZGFyd2luJyBhbmQgdmVyc2lvbiA8ICg4LCAxLCAwKSk6CisgICAgICAgICAgICBmbGFnc1snQ1hYRkxBR1MnXSArPSBbJy1Xbm8tdW5rbm93bi1wcmFnbWFzJ10KICAgICAgICAgcmV0dXJuIGZsYWdzCmRpZmYgLS1naXQgYS9BVVRIT1JTLm1kIGIvQVVUSE9SUy5tZAppbmRleCA3ODEzNWRkLi5kYWZkYjBmIDEwMDY0NAotLS0gYS9BVVRIT1JTLm1kCisrKyBiL0FVVEhPUlMubWQKQEAgLTEsNSArMSw1IEBACi1uZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzCi09PT09PT09PT09PT09PT0KK05BQyBBdXRob3JzCis9PT09PT09PT09PQogCiAjIyBUaGUgcHJpbWFyeSBhdXRob3JzIGFyZSAoYW5kL29yIGhhdmUgYmVlbik6CiAKZGlmZiAtLWdpdCBhL1JFQURNRS1kZXYubWQgYi9SRUFETUUtZGV2Lm1kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YjdhZjlmLi4wMDAwMDAwCi0tLSBhL1JFQURNRS1kZXYubWQKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1Ob3RlcyBmb3IgZ2VwIGRldmVsb3BlcnMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotQ29kZSBzdHlsZQotLS0tLS0tLS0tLQotCi1uZG4tZ3JvdXAtZW5jcnlwdCBjb2RlIGlzIHN1YmplY3QgdG8gW25kbi1jeHggY29kZSBzdHlsZV0oaHR0cDovL25hbWVkLWRhdGEubmV0L2RvYy9uZG4tY3h4L2N1cnJlbnQvY29kZS1zdHlsZS5odG1sKS4KLQotTGljZW5zaW5nCi0tLS0tLS0tLS0KLQotQ29udHJpYnV0aW9ucyB0byB0aGUgbGlicmFyeSBtdXN0IGJlIGxpY2Vuc2VkIHVuZGVyIExHUEwgMy4wIG9yIGNvbXBhdGlibGUgbGljZW5zZS4gIElmCi15b3UgYXJlIGNob29zaW5nIExHUEwgMy4wLCBwbGVhc2UgdXNlIHRoZSBmb2xsb3dpbmcgbGljZW5zZSBib2lsZXJwbGF0ZSBpbiBhbGwgYC5ocHBgIGFuZAotYC5jcHBgIGZpbGVzOgotCi0KLSAgICAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwotICAgIC8qKgotICAgICAqIENvcHlyaWdodCAoYykgW1llYXIocyldIFtDb3B5cmlnaHQgSG9sZGVyXS4KLSAgICAgKgotICAgICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGxpYnJhcnkgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gICAgICoKLSAgICAgKiBuZG4tZ3JvdXAtZW5jcnlwdCBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKLSAgICAgKiB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKLSAgICAgKiBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICAgICAqCi0gICAgICogbmRuLWdyb3VwLWVuY3J5cHQgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkKLSAgICAgKiBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAgICAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAgICAgKgotICAgICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBjb3BpZXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFuZCBHTlUgTGVzc2VyIEdlbmVyYWwKLSAgICAgKiBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZQotICAgICAqIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAgICAgKgotICAgICAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KLSAgICAgLy8vLy8vIFtvcHRpb25hbCBwYXJ0XSAvLy8vLy8KLSAgICAgKgotICAgICAqIEBhdXRob3IgQXV0aG9yJ3MgTmFtZSA8ZW1haWxAZG9tYWluLW9yLWhvbWVwYWdlOi8vdXJsPgotICAgICAqIEBhdXRob3IgT3RoZXIgQXV0aG9yJ3MgTmFtZSA8YW5vdGhlci5lbWFpbEBkb21haW4tb3ItaG9tZXBhZ2U6Ly91cmw+Ci0gICAgIC8vLy8vLyBbZW5kIG9mIG9wdGlvbmFsIHBhcnRdIC8vLy8vLwotICAgICAqLwotCi1JZiB5b3UgYXJlIGFmZmlsaWF0ZWQgdG8gYW4gTlNGLXN1cHBvcnRlZCBORE4gcHJvamVjdCBpbnN0aXR1dGlvbiwgcGxlYXNlIHVzZSB0aGUgW05ETiBUZWFtIExpY2Vuc2UKLUJvaWxlcnBsYXRlXShodHRwOi8vcmVkbWluZS5uYW1lZC1kYXRhLm5ldC9wcm9qZWN0cy9nZXAvd2lraS9ORE5fVGVhbV9MaWNlbnNlX0JvaWxlcnBsYXRlXyhnZXApKS4KZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZAppbmRleCBhMWZiMDYxLi5jYWJjOWRiIDEwMDY0NAotLS0gYS9SRUFETUUubWQKKysrIGIvUkVBRE1FLm1kCkBAIC0xLDEwICsxLDUgQEAKLW5kbi1ncm91cC1lbmNyeXB0OiBHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4gYXBwbGljYXRpb25zCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorTkFDOiBOYW1lZC1CYXNlZCBBY2Nlc3MgQ29udHJvbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1QbGVhc2Ugc3VibWl0IGFueSBidWdzIG9yIGlzc3VlcyB0byB0aGUgbmRuLWdyb3VwLWVuY3J5cHQgaXNzdWUgdHJhY2tlcjoKLWh0dHA6Ly9yZWRtaW5lLm5hbWVkLWRhdGEubmV0L3Byb2plY3RzL2dlcC9pc3N1ZXMKLQotIyMgTGljZW5zZQotCi1uZG4tY3h4IGlzIGFuIG9wZW4gc291cmNlIHByb2plY3QgbGljZW5zZWQgdW5kZXIgTEdQTCAzLjAgbGljZW5zZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQKLXRoZSBsaWNlbnNlLCByZWZlciB0byBDT1BZSU5HLm1kCitQbGVhc2Ugc3VibWl0IGFueSBidWdzIG9yIGlzc3VlcyB0byB0aGUgTkFDIGlzc3VlIHRyYWNrZXI6CitodHRwOi8vcmVkbWluZS5uYW1lZC1kYXRhLm5ldC9wcm9qZWN0cy9uYWMvaXNzdWVzCmRpZmYgLS1naXQgYS9saWJuZG4tbmFjLnBjLmluIGIvbGlibmRuLW5hYy5wYy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjA0OWZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlibmRuLW5hYy5wYy5pbgpAQCAtMCwwICsxLDkgQEAKK3ByZWZpeD1AUFJFRklYQAorbGliZGlyPUBMSUJESVJACitpbmNsdWRlZGlyPUBJTkNMVURFRElSQAorCitOYW1lOiBsaWJuZG4tbmFjCitEZXNjcmlwdGlvbjogTkROIE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgbGlicmFyeQorVmVyc2lvbjogQFZFUlNJT05ACitMaWJzOiAtTCR7bGliZGlyfSAtbGxpYm5kbi1uYWMKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9CmRpZmYgLS1naXQgYS9uZG4tZ3JvdXAtZW5jcnlwdC5wYy5pbiBiL25kbi1ncm91cC1lbmNyeXB0LnBjLmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OTU3ZGFlLi4wMDAwMDAwCi0tLSBhL25kbi1ncm91cC1lbmNyeXB0LnBjLmluCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1wcmVmaXg9QFBSRUZJWEAKLWxpYmRpcj1ATElCRElSQAotaW5jbHVkZWRpcj1ASU5DTFVERURJUkAKLQotTmFtZTogbmRuLWdyb3VwLWVuY3J5cHQKLURlc2NyaXB0aW9uOiBuZG4tZ3JvdXAtZW5jcnlwdCBsaWJyYXJ5Ci1WZXJzaW9uOiBAVkVSU0lPTkAKLUxpYnM6IC1MJHtsaWJkaXJ9IC1sbmRuLWdyb3VwLWVuY3J5cHQKLUNmbGFnczogLUkke2luY2x1ZGVkaXJ9CmRpZmYgLS1naXQgYS9zcmMvYWxnby9hZXMuY3BwIGIvc3JjL2FsZ28vYWVzLmNwcAppbmRleCBjNzE5NDZiLi5iZjM2YWE3IDEwMDY0NAotLS0gYS9zcmMvYWxnby9hZXMuY3BwCisrKyBiL3NyYy9hbGdvL2Flcy5jcHAKQEAgLTEsMjAgKzEsMjAgQEAKIC8qIC0qLSBNb2RlOkMrKzsgYy1maWxlLXN0eWxlOiJnbnUiOyBpbmRlbnQtdGFicy1tb2RlOm5pbDsgLSotICovCiAvKioKLSAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCAgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgZ2VwIChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgZ2VwIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogZ2VwIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogZ2VwIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBnZXAsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICovCiAKICNpbmNsdWRlICJhZXMuaHBwIgpAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUgPG5kbi1jeHgvc2VjdXJpdHkvdHJhbnNmb3JtL3N0cmVhbS1zaW5rLmhwcD4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIGFsZ28gewogCiBEZWNyeXB0S2V5PEFlcz4KQEAgLTkxLDUgKzkxLDUgQEAKIH0KIAogfSAvLyBuYW1lc3BhY2UgYWxnbwotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgpkaWZmIC0tZ2l0IGEvc3JjL2FsZ28vYWVzLmhwcCBiL3NyYy9hbGdvL2Flcy5ocHAKaW5kZXggZDBmYmFiZC4uNjg1ZWE0YiAxMDA2NDQKLS0tIGEvc3JjL2FsZ28vYWVzLmhwcAorKysgYi9zcmMvYWxnby9hZXMuaHBwCkBAIC0xLDI0ICsxLDI0IEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGdlcCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIGdlcCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIGdlcCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIGdlcCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogZ2VwLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCi0jaWZuZGVmIE5ETl9HRVBfQUxHT19BRVNfSFBQCi0jZGVmaW5lIE5ETl9HRVBfQUxHT19BRVNfSFBQCisjaWZuZGVmIE5ETl9OQUNfQUxHT19BRVNfSFBQCisjZGVmaW5lIE5ETl9OQUNfQUxHT19BRVNfSFBQCiAKICNpbmNsdWRlICJjb21tb24uaHBwIgogI2luY2x1ZGUgImVuY3J5cHQtcGFyYW1zLmhwcCIKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlIDxuZG4tY3h4L3NlY3VyaXR5L2tleS1wYXJhbXMuaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgYWxnbyB7CiAKIGNsYXNzIEFlcwpAQCAtNTAsMTEgKzUwLDExIEBACiAgICAgICAgICAgY29uc3QgRW5jcnlwdFBhcmFtcyYgcGFyYW1zKTsKIH07CiAKLXR5cGVkZWYgRGVjcnlwdEtleTxBZXM+IEFlc0VuY3J5cHRLZXk7Ci10eXBlZGVmIEVuY3J5cHRLZXk8QWVzPiBBZXNEZWNyeXB0S2V5OwordXNpbmcgQWVzRW5jcnlwdEtleSA9IERlY3J5cHRLZXk8QWVzPjsKK3VzaW5nIEFlc0RlY3J5cHRLZXkgPSBFbmNyeXB0S2V5PEFlcz47CiAKIH0gLy8gbmFtZXNwYWNlIGFsZ28KLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KIAotI2VuZGlmIC8vIE5ETl9HRVBfQUxHT19BRVNfSFBQCisjZW5kaWYgLy8gTkROX05BQ19BTEdPX0FFU19IUFAKZGlmZiAtLWdpdCBhL3NyYy9hbGdvL2VuY3J5cHQtcGFyYW1zLmNwcCBiL3NyYy9hbGdvL2VuY3J5cHQtcGFyYW1zLmNwcAppbmRleCA5MWI1NTg4Li42NjYzMjQ5IDEwMDY0NAotLS0gYS9zcmMvYWxnby9lbmNyeXB0LXBhcmFtcy5jcHAKKysrIGIvc3JjL2FsZ28vZW5jcnlwdC1wYXJhbXMuY3BwCkBAIC0xLDIwICsxLDIwIEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGdlcCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIGdlcCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIGdlcCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIGdlcCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogZ2VwLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCiAjaW5jbHVkZSAiZW5jcnlwdC1wYXJhbXMuaHBwIgpAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgPG9wZW5zc2wvcmFuZC5oPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgYWxnbyB7CiAKIEVuY3J5cHRQYXJhbXM6OkVuY3J5cHRQYXJhbXModGx2OjpBbGdvcml0aG1UeXBlVmFsdWUgYWxnb3JpdGhtLCB1aW50OF90IGl2TGVuZ3RoKQpAQCAtNjIsNSArNjIsNSBAQAogfQogCiB9IC8vIG5hbWVzcGFjZSBhbGdvCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCmRpZmYgLS1naXQgYS9zcmMvYWxnby9lbmNyeXB0LXBhcmFtcy5ocHAgYi9zcmMvYWxnby9lbmNyeXB0LXBhcmFtcy5ocHAKaW5kZXggMDMwZjQ0My4uMjZiNDk0YyAxMDA2NDQKLS0tIGEvc3JjL2FsZ28vZW5jcnlwdC1wYXJhbXMuaHBwCisrKyBiL3NyYy9hbGdvL2VuY3J5cHQtcGFyYW1zLmhwcApAQCAtMSwzMCArMSwzMCBAQAogLyogLSotIE1vZGU6QysrOyBjLWZpbGUtc3R5bGU6ImdudSI7IGluZGVudC10YWJzLW1vZGU6bmlsOyAtKi0gKi8KIC8qKgotICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsICBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBnZXAgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBnZXAgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBnZXAgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBnZXAgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIGdlcCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKi8KIAotI2lmbmRlZiBORE5fR0VQX0VOQ1JZUFRfUEFSQU1TX0hQUAotI2RlZmluZSBORE5fR0VQX0VOQ1JZUFRfUEFSQU1TX0hQUAorI2lmbmRlZiBORE5fTkFDX0VOQ1JZUFRfUEFSQU1TX0hQUAorI2RlZmluZSBORE5fTkFDX0VOQ1JZUFRfUEFSQU1TX0hQUAogCiAjaW5jbHVkZSAiLi4vdGx2LmhwcCIKICNpbmNsdWRlIDxuZG4tY3h4L2VuY29kaW5nL2J1ZmZlci1zdHJlYW0uaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgYWxnbyB7CiAKIGNsYXNzIEVuY3J5cHRQYXJhbXMKQEAgLTUwLDcgKzUwLDcgQEAKIH07CiAKIH0gLy8gbmFtZXNwYWNlIGFsZ28KLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KIAotI2VuZGlmIC8vIE5ETl9HRVBfRU5DUllQVF9QQVJBTVNfSFBQCisjZW5kaWYgLy8gTkROX05BQ19FTkNSWVBUX1BBUkFNU19IUFAKZGlmZiAtLWdpdCBhL3NyYy9hbGdvL2VuY3J5cHRvci5jcHAgYi9zcmMvYWxnby9lbmNyeXB0b3IuY3BwCmluZGV4IGM5Zjc3NDUuLjRmNjI2YzIgMTAwNjQ0Ci0tLSBhL3NyYy9hbGdvL2VuY3J5cHRvci5jcHAKKysrIGIvc3JjL2FsZ28vZW5jcnlwdG9yLmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKLSAqIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCi0gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCiAjaW5jbHVkZSAiZW5jcnlwdG9yLmhwcCIKQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlIDxvcGVuc3NsL3JhbmQuaD4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIGFsZ28gewogCiAvKioKQEAgLTE0OCw1ICsxNDgsNSBAQAogfQogCiB9IC8vIG5hbWVzcGFjZSBhbGdvCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCmRpZmYgLS1naXQgYS9zcmMvYWxnby9lbmNyeXB0b3IuaHBwIGIvc3JjL2FsZ28vZW5jcnlwdG9yLmhwcAppbmRleCA0ZGRlMDdlLi43YzQ2MzU1IDEwMDY0NAotLS0gYS9zcmMvYWxnby9lbmNyeXB0b3IuaHBwCisrKyBiL3NyYy9hbGdvL2VuY3J5cHRvci5ocHAKQEAgLTEsMjAgKzEsMjAgQEAKIC8qIC0qLSBNb2RlOkMrKzsgYy1maWxlLXN0eWxlOiJnbnUiOyBpbmRlbnQtdGFicy1tb2RlOm5pbDsgLSotICovCiAvKioKLSAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCAgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKLSAqIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCi0gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCiAjaWZuZGVmIE5ETl9FTkNSWVBUT1JfSFBQCkBAIC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSA8bmRuLWN4eC9kYXRhLmhwcD4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIGFsZ28gewogCiAvKioKQEAgLTQ4LDcgKzQ4LDcgQEAKICAgICAgICAgICAgIGNvbnN0IEVuY3J5cHRQYXJhbXMmIHBhcmFtcyk7CiAKIH0gLy8gbmFtZXNwYWNlIGFsZ28KLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KIAogI2VuZGlmIC8vIE5ETl9FTkNSWVBUT1JfSFBQCmRpZmYgLS1naXQgYS9zcmMvYWxnby9lcnJvci5ocHAgYi9zcmMvYWxnby9lcnJvci5ocHAKaW5kZXggZDlhYmRiMi4uMmVkNmNmYSAxMDA2NDQKLS0tIGEvc3JjL2FsZ28vZXJyb3IuaHBwCisrKyBiL3NyYy9hbGdvL2Vycm9yLmhwcApAQCAtMSw0MyArMSwzOSBAQAogLyogLSotIE1vZGU6QysrOyBjLWZpbGUtc3R5bGU6ImdudSI7IGluZGVudC10YWJzLW1vZGU6bmlsOyAtKi0gKi8KIC8qKgotICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsICBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBnZXAgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBnZXAgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBnZXAgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBnZXAgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIGdlcCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKi8KIAotI2lmbmRlZiBORE5fR0VQX0FMR09fRVJST1JfSFBQCi0jZGVmaW5lIE5ETl9HRVBfQUxHT19FUlJPUl9IUFAKKyNpZm5kZWYgTkROX05BQ19BTEdPX0VSUk9SX0hQUAorI2RlZmluZSBORE5fTkFDX0FMR09fRVJST1JfSFBQCiAKICNpbmNsdWRlIDxzdGRleGNlcHQ+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIG5hbWVzcGFjZSBhbGdvIHsKIAogY2xhc3MgRXJyb3IgOiBwdWJsaWMgc3RkOjpydW50aW1lX2Vycm9yCiB7CiBwdWJsaWM6Ci0gIGV4cGxpY2l0Ci0gIEVycm9yKGNvbnN0IHN0ZDo6c3RyaW5nJiB3aGF0KQotICAgIDogc3RkOjpydW50aW1lX2Vycm9yKHdoYXQpCi0gIHsKLSAgfQorICB1c2luZyBzdGQ6OnJ1bnRpbWVfZXJyb3I6OnJ1bnRpbWVfZXJyb3I7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBhbGdvCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKLSNlbmRpZiAvLyBORE5fR0VQX0FMR09fRVJST1JfSFBQCisjZW5kaWYgLy8gTkROX05BQ19BTEdPX0VSUk9SX0hQUApkaWZmIC0tZ2l0IGEvc3JjL2FsZ28vcnNhLmNwcCBiL3NyYy9hbGdvL3JzYS5jcHAKaW5kZXggODVmNDQ5OC4uZmY2YzMxZCAxMDA2NDQKLS0tIGEvc3JjL2FsZ28vcnNhLmNwcAorKysgYi9zcmMvYWxnby9yc2EuY3BwCkBAIC0xLDIwICsxLDIwIEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGdlcCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIGdlcCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIGdlcCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIGdlcCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogZ2VwLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCiAjaW5jbHVkZSAicnNhLmhwcCIKQEAgLTI0LDcgKzI0LDcgQEAKICNpbmNsdWRlIDxuZG4tY3h4L3NlY3VyaXR5L3RyYW5zZm9ybS9wdWJsaWMta2V5LmhwcD4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIGFsZ28gewogCiBEZWNyeXB0S2V5PFJzYT4KQEAgLTgwLDUgKzgwLDUgQEAKIH0KIAogfSAvLyBuYW1lc3BhY2UgYWxnbwotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgpkaWZmIC0tZ2l0IGEvc3JjL2FsZ28vcnNhLmhwcCBiL3NyYy9hbGdvL3JzYS5ocHAKaW5kZXggZGI0NDQ3NC4uODk3MTllNSAxMDA2NDQKLS0tIGEvc3JjL2FsZ28vcnNhLmhwcAorKysgYi9zcmMvYWxnby9yc2EuaHBwCkBAIC0xLDMxICsxLDMxIEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGdlcCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIGdlcCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIGdlcCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIGdlcCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogZ2VwLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCi0jaWZuZGVmIE5ETl9HRVBfQUxHT19SU0FfSFBQCi0jZGVmaW5lIE5ETl9HRVBfQUxHT19SU0FfSFBQCisjaWZuZGVmIE5ETl9OQUNfQUxHT19SU0FfSFBQCisjZGVmaW5lIE5ETl9OQUNfQUxHT19SU0FfSFBQCiAKICNpbmNsdWRlICJlbmNyeXB0LXBhcmFtcy5ocHAiCiAjaW5jbHVkZSAiLi4vZGVjcnlwdC1rZXkuaHBwIgogI2luY2x1ZGUgPG5kbi1jeHgvc2VjdXJpdHkva2V5LXBhcmFtcy5ocHA+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIG5hbWVzcGFjZSBhbGdvIHsKIAogY2xhc3MgUnNhCkBAIC00NiwxMSArNDYsMTEgQEAKICAgICAgICAgICBjb25zdCB1aW50OF90KiBwYXlsb2FkLCBzaXplX3QgcGF5bG9hZExlbik7CiB9OwogCi10eXBlZGVmIERlY3J5cHRLZXk8UnNhPiBSc2FQcml2YXRlS2V5OwotdHlwZWRlZiBFbmNyeXB0S2V5PFJzYT4gUnNhUHVibGljS2V5OwordXNpbmcgUnNhUHJpdmF0ZUtleSA9IERlY3J5cHRLZXk8UnNhPjsKK3VzaW5nIFJzYVB1YmxpY0tleSA9IEVuY3J5cHRLZXk8UnNhPjsKIAogfSAvLyBuYW1lc3BhY2UgYWxnbwotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgogCi0jZW5kaWYgLy8gTkROX0dFUF9BTEdPX1JTQV9IUFAKKyNlbmRpZiAvLyBORE5fTkFDX0FMR09fUlNBX0hQUApkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi5ocHAgYi9zcmMvY29tbW9uLmhwcAppbmRleCAxNGJjYTkxLi5hNDc4ODIwIDEwMDY0NAotLS0gYS9zcmMvY29tbW9uLmhwcAorKysgYi9zcmMvY29tbW9uLmhwcApAQCAtMSwyOCArMSwyOCBAQAogLyogLSotIE1vZGU6QysrOyBjLWZpbGUtc3R5bGU6ImdudSI7IGluZGVudC10YWJzLW1vZGU6bmlsOyAtKi0gKi8KIC8qKgotICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsICBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgotICogdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKKyAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKLSAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICovCiAKLSNpZm5kZWYgTkROX0dFUF9DT01NT05fSFBQCi0jZGVmaW5lIE5ETl9HRVBfQ09NTU9OX0hQUAorI2lmbmRlZiBORE5fTkFDX0NPTU1PTl9IUFAKKyNkZWZpbmUgTkROX05BQ19DT01NT05fSFBQCiAKICNpbmNsdWRlICJjb25maWcuaHBwIgogCi0jaWZkZWYgTkROX0dFUF9IQVZFX1RFU1RTCisjaWZkZWYgTkROX05BQ19IQVZFX1RFU1RTCiAjZGVmaW5lIFZJUlRVQUxfV0lUSF9URVNUUyB2aXJ0dWFsCiAjZGVmaW5lIFBVQkxJQ19XSVRIX1RFU1RTX0VMU0VfUFJPVEVDVEVEIHB1YmxpYwogI2RlZmluZSBQVUJMSUNfV0lUSF9URVNUU19FTFNFX1BSSVZBVEUgcHVibGljCkBAIC0zNCwxNSArMzQsNiBAQAogI2RlZmluZSBQUk9URUNURURfV0lUSF9URVNUU19FTFNFX1BSSVZBVEUgcHJpdmF0ZQogI2VuZGlmCiAKLS8qKiBcZGVmIERFQ0xfT1ZFUlJJREUKLSAqICBcYnJpZWYgZXhwYW5kcyB0byAnb3ZlcnJpZGUnIGlmIGNvbXBpbGVyIHN1cHBvcnRzIHRoaXMgZmVhdHVyZSwgb3RoZXJ3aXNlIGV4cGFuZHMgdG8gbm90aGluZwotICovCi0jaWZkZWYgSEFWRV9DWFhfT1ZFUlJJREUKLSNkZWZpbmUgREVDTF9PVkVSUklERSBvdmVycmlkZQotI2Vsc2UKLSNkZWZpbmUgREVDTF9PVkVSUklERQotI2VuZGlmCi0KICNpbmNsdWRlIDxjc3RkZGVmPgogI2luY2x1ZGUgPGxpc3Q+CiAjaW5jbHVkZSA8bWFwPgpAQCAtNzEsMzcgKzYyLDExIEBACiAjaW5jbHVkZSA8Ym9vc3QvcHJvcGVydHlfdHJlZS9wdHJlZS5ocHA+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7Ci0KLXVzaW5nIHN0ZDo6c2l6ZV90OwotCi11c2luZyBib29zdDo6bm9uY29weWFibGU7Ci0KLXVzaW5nIHN0ZDo6c2hhcmVkX3B0cjsKLXVzaW5nIHN0ZDo6dW5pcXVlX3B0cjsKLXVzaW5nIHN0ZDo6d2Vha19wdHI7Ci11c2luZyBzdGQ6OmJhZF93ZWFrX3B0cjsKLXVzaW5nIHN0ZDo6bWFrZV9zaGFyZWQ7Ci11c2luZyBzdGQ6OmVuYWJsZV9zaGFyZWRfZnJvbV90aGlzOwotCi11c2luZyBzdGQ6OnN0YXRpY19wb2ludGVyX2Nhc3Q7Ci11c2luZyBzdGQ6OmR5bmFtaWNfcG9pbnRlcl9jYXN0OwotdXNpbmcgc3RkOjpjb25zdF9wb2ludGVyX2Nhc3Q7Ci0KLXVzaW5nIHN0ZDo6ZnVuY3Rpb247Ci11c2luZyBzdGQ6OmJpbmQ7Ci11c2luZyBzdGQ6OnJlZjsKLXVzaW5nIHN0ZDo6Y3JlZjsKLQotdXNpbmcgbmRuOjpJbnRlcmVzdDsKLXVzaW5nIG5kbjo6RGF0YTsKLXVzaW5nIG5kbjo6TmFtZTsKLXVzaW5nIG5kbjo6RXhjbHVkZTsKLXVzaW5nIG5kbjo6QmxvY2s7CituYW1lc3BhY2UgbmFjIHsKIAogdXNpbmcgc2VjdXJpdHk6OnYyOjpDZXJ0aWZpY2F0ZTsKLXVzaW5nIG5kbjo6c2VjdXJpdHk6OnYyOjpWYWxpZGF0b3I7Ci11c2luZyBuZG46OnNlY3VyaXR5OjpWYWxpZGF0b3JOdWxsOwordXNpbmcgc2VjdXJpdHk6OnYyOjpWYWxpZGF0b3I7Cit1c2luZyBzZWN1cml0eTo6VmFsaWRhdG9yTnVsbDsKIHVzaW5nIHNlY3VyaXR5Ojp2Mjo6RGF0YVZhbGlkYXRpb25TdWNjZXNzQ2FsbGJhY2s7CiB1c2luZyBzZWN1cml0eTo6djI6OkRhdGFWYWxpZGF0aW9uRmFpbHVyZUNhbGxiYWNrOwogdXNpbmcgc2VjdXJpdHk6OnYyOjpWYWxpZGF0aW9uRXJyb3I7CkBAIC0xMTAsMTkgKzc1LDE1IEBACiB1c2luZyBuYW1lc3BhY2UgbmRuOjp0bHY7CiB9IC8vIG5hbWVzcGFjZSB0bHYKIAotbmFtZXNwYWNlIG5hbWUgPSBuZG46Om5hbWU7Ci1uYW1lc3BhY2UgdGltZSA9IG5kbjo6dGltZTsKLW5hbWVzcGFjZSBzaWduYWwgPSBuZG46OnV0aWw6OnNpZ25hbDsKK2NvbnN0IG5hbWU6OkNvbXBvbmVudCBOQU1FX0NPTVBPTkVOVF9GT1IoIkZPUiIpOworY29uc3QgbmFtZTo6Q29tcG9uZW50IE5BTUVfQ09NUE9ORU5UX1JFQUQoIlJFQUQiKTsKK2NvbnN0IG5hbWU6OkNvbXBvbmVudCBOQU1FX0NPTVBPTkVOVF9TQU1QTEUoIlNBTVBMRSIpOworY29uc3QgbmFtZTo6Q29tcG9uZW50IE5BTUVfQ09NUE9ORU5UX0FDQ0VTUygiQUNDRVNTIik7Citjb25zdCBuYW1lOjpDb21wb25lbnQgTkFNRV9DT01QT05FTlRfRV9LRVkoIkUtS0VZIik7Citjb25zdCBuYW1lOjpDb21wb25lbnQgTkFNRV9DT01QT05FTlRfRF9LRVkoIkQtS0VZIik7Citjb25zdCBuYW1lOjpDb21wb25lbnQgTkFNRV9DT01QT05FTlRfQ19LRVkoIkMtS0VZIik7CiAKLWNvbnN0IG5kbjo6bmFtZTo6Q29tcG9uZW50IE5BTUVfQ09NUE9ORU5UX0ZPUigiRk9SIik7Ci1jb25zdCBuZG46Om5hbWU6OkNvbXBvbmVudCBOQU1FX0NPTVBPTkVOVF9SRUFEKCJSRUFEIik7Ci1jb25zdCBuZG46Om5hbWU6OkNvbXBvbmVudCBOQU1FX0NPTVBPTkVOVF9TQU1QTEUoIlNBTVBMRSIpOwotY29uc3QgbmRuOjpuYW1lOjpDb21wb25lbnQgTkFNRV9DT01QT05FTlRfQUNDRVNTKCJBQ0NFU1MiKTsKLWNvbnN0IG5kbjo6bmFtZTo6Q29tcG9uZW50IE5BTUVfQ09NUE9ORU5UX0VfS0VZKCJFLUtFWSIpOwotY29uc3QgbmRuOjpuYW1lOjpDb21wb25lbnQgTkFNRV9DT01QT05FTlRfRF9LRVkoIkQtS0VZIik7Ci1jb25zdCBuZG46Om5hbWU6OkNvbXBvbmVudCBOQU1FX0NPTVBPTkVOVF9DX0tFWSgiQy1LRVkiKTsKLQotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgogCi0jZW5kaWYgLy8gTkROX0dFUF9DT01NT05fSFBQCisjZW5kaWYgLy8gTkROX05BQ19DT01NT05fSFBQCmRpZmYgLS1naXQgYS9zcmMvY29uc3VtZXItZGIuY3BwIGIvc3JjL2NvbnN1bWVyLWRiLmNwcAppbmRleCA2NjFhYjA0Li45NmU4NDI3IDEwMDY0NAotLS0gYS9zcmMvY29uc3VtZXItZGIuY3BwCisrKyBiL3NyYy9jb25zdW1lci1kYi5jcHAKQEAgLTIsMTkgKzIsMTkgQEAKIC8qKgogICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKgogICogQGF1dGhvciBaaGl5aSBaaGFuZyA8emhpeWlAY3MudWNsYS5lZHU+CiAgKi8KQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlIDxzcWxpdGUzLmg+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIAogdXNpbmcgdXRpbDo6U3FsaXRlM1N0YXRlbWVudDsKIApAQCAtMTE4LDUgKzExOCw1IEBACiAgIHN0YXRlbWVudC5zdGVwKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3NyYy9jb25zdW1lci1kYi5ocHAgYi9zcmMvY29uc3VtZXItZGIuaHBwCmluZGV4IDg1MDBiNjcuLjI5MjMwZGQgMTAwNjQ0Ci0tLSBhL3NyYy9jb25zdW1lci1kYi5ocHAKKysrIGIvc3JjL2NvbnN1bWVyLWRiLmhwcApAQCAtMiwzMCArMiwzMCBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDxkcmVhbWVyYmFycnljaGFuZ0BnbWFpbC5jb20+CiAgKi8KIAotI2lmbmRlZiBORE5fR0VQX0NPTlNVTUVSX0RCX0hQUAotI2RlZmluZSBORE5fR0VQX0NPTlNVTUVSX0RCX0hQUAorI2lmbmRlZiBORE5fTkFDX0NPTlNVTUVSX0RCX0hQUAorI2RlZmluZSBORE5fTkFDX0NPTlNVTUVSX0RCX0hQUAogCiAjaW5jbHVkZSAiY29tbW9uLmhwcCIKIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogCiAvKioKICAqIEBicmllZiBDb25zdW1lckRCIGlzIGEgY2xhc3MgdG8gbWFuYWdlIGRlY3J5cHRpb24ga2V5cyBmb3IgY29uc3VtZXIuCkBAIC0zNiwxMSArMzYsNyBAQAogICBjbGFzcyBFcnJvciA6IHB1YmxpYyBzdGQ6OnJ1bnRpbWVfZXJyb3IKICAgewogICBwdWJsaWM6Ci0gICAgZXhwbGljaXQKLSAgICBFcnJvcihjb25zdCBzdGQ6OnN0cmluZyYgd2hhdCkKLSAgICAgIDogc3RkOjpydW50aW1lX2Vycm9yKHdoYXQpCi0gICAgewotICAgIH0KKyAgICB1c2luZyBzdGQ6OnJ1bnRpbWVfZXJyb3I6OnJ1bnRpbWVfZXJyb3I7CiAgIH07CiAKIHB1YmxpYzoKQEAgLTc5LDcgKzc1LDcgQEAKICAgdW5pcXVlX3B0cjxJbXBsPiBtX2ltcGw7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKLSNlbmRpZiAvLyBORE5fR0VQX0NPTlNVTUVSX0RCX0hQUAorI2VuZGlmIC8vIE5ETl9OQUNfQ09OU1VNRVJfREJfSFBQCmRpZmYgLS1naXQgYS9zcmMvY29uc3VtZXIuY3BwIGIvc3JjL2NvbnN1bWVyLmNwcAppbmRleCA0NDcwMDg5Li5jZDFjZGMxIDEwMDY0NAotLS0gYS9zcmMvY29uc3VtZXIuY3BwCisrKyBiL3NyYy9jb25zdW1lci5jcHAKQEAgLTIsMTkgKzIsMTkgQEAKIC8qKgogICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKgogICogQGF1dGhvciBaaGl5aSBaaGFuZyA8emhpeWlAY3MudWNsYS5lZHU+CiAgKiBAYXV0aG9yIFlpbmdkaSBZdSA8eWluZ2RpQGNzLnVjbGEuZWR1PgpAQCAtMjQsNyArMjQsNyBAQAogI2luY2x1ZGUgImVuY3J5cHRlZC1jb250ZW50LmhwcCIKIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogCiBjb25zdCBMaW5rIENvbnN1bWVyOjpOT19MSU5LID0gTGluaygpOwogCkBAIC0yOTAsNSArMjkwLDUgQEAKICAgICBoYW5kbGVOYWNrKGludGVyZXN0LCBscDo6TmFjaygpLCBsaW5rLCBjYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3NyYy9jb25zdW1lci5ocHAgYi9zcmMvY29uc3VtZXIuaHBwCmluZGV4IDc3NzQyNWQuLjU1ZGVlOTEgMTAwNjQ0Ci0tLSBhL3NyYy9jb25zdW1lci5ocHAKKysrIGIvc3JjL2NvbnN1bWVyLmhwcApAQCAtMiwyNiArMiwyNiBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqIEBhdXRob3IgWWluZ2RpIFl1IDx5aW5nZGlAY3MudWNsYS5lZHU+CiAgKi8KIAotI2lmbmRlZiBORE5fR0VQX0NPTlNVTUVSX0hQUAotI2RlZmluZSBORE5fR0VQX0NPTlNVTUVSX0hQUAorI2lmbmRlZiBORE5fTkFDX0NPTlNVTUVSX0hQUAorI2RlZmluZSBORE5fTkFDX0NPTlNVTUVSX0hQUAogCiAjaW5jbHVkZSAiY29tbW9uLmhwcCIKICNpbmNsdWRlICJjb25zdW1lci1kYi5ocHAiCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8bmRuLWN4eC9zZWN1cml0eS92YWxpZGF0b3ItbnVsbC5ocHA+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIAogdHlwZWRlZiBmdW5jdGlvbjx2b2lkKGNvbnN0IERhdGEmLCBjb25zdCBCdWZmZXImKT4gQ29uc3VtcHRpb25DYWxsQmFjazsKIApAQCAtMjEyLDcgKzIxMiw3IEBACiAgIHN0ZDo6bWFwPE5hbWUsIEJ1ZmZlcj4gbV9kS2V5TWFwOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgogCi0jZW5kaWYgLy8gTkROX0dFUF9DT05TVU1FUl9IUFAKKyNlbmRpZiAvLyBORE5fTkFDX0NPTlNVTUVSX0hQUApkaWZmIC0tZ2l0IGEvc3JjL2RlY3J5cHQta2V5LmhwcCBiL3NyYy9kZWNyeXB0LWtleS5ocHAKaW5kZXggZGY0NTQyOC4uNGM2MTA5OSAxMDA2NDQKLS0tIGEvc3JjL2RlY3J5cHQta2V5LmhwcAorKysgYi9zcmMvZGVjcnlwdC1rZXkuaHBwCkBAIC0xLDI5ICsxLDI5IEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNSwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCi0gKiB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAorICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAotICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKi8KIAotI2lmbmRlZiBORE5fR0VQX0RFQ1JZUFRfS0VZX0hQUAotI2RlZmluZSBORE5fR0VQX0RFQ1JZUFRfS0VZX0hQUAorI2lmbmRlZiBORE5fTkFDX0RFQ1JZUFRfS0VZX0hQUAorI2RlZmluZSBORE5fTkFDX0RFQ1JZUFRfS0VZX0hQUAogCiAjaW5jbHVkZSAiZW5jcnlwdC1rZXkuaHBwIgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIHRlbXBsYXRlPGNsYXNzIEFsZ29yaXRobT4KIGNsYXNzIERlY3J5cHRLZXkKQEAgLTU2LDcgKzU2LDcgQEAKICAgQnVmZmVyIG1fa2V5Qml0czsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KIAotI2VuZGlmIC8vIE5ETl9HRVBfREVDUllQVF9LRVlfSFBQCisjZW5kaWYgLy8gTkROX05BQ19ERUNSWVBUX0tFWV9IUFAKZGlmZiAtLWdpdCBhL3NyYy9lbmNyeXB0LWtleS5ocHAgYi9zcmMvZW5jcnlwdC1rZXkuaHBwCmluZGV4IGJhMGQ3NzguLjdkZjM5MTAgMTAwNjQ0Ci0tLSBhL3NyYy9lbmNyeXB0LWtleS5ocHAKKysrIGIvc3JjL2VuY3J5cHQta2V5LmhwcApAQCAtMSwyOSArMSwyOSBAQAogLyogLSotIE1vZGU6QysrOyBjLWZpbGUtc3R5bGU6ImdudSI7IGluZGVudC10YWJzLW1vZGU6bmlsOyAtKi0gKi8KIC8qKgotICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUsICBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgotICogdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKKyAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKLSAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICovCiAKLSNpZm5kZWYgTkROX0dFUF9FTkNSWVBUX0tFWV9IUFAKLSNkZWZpbmUgTkROX0dFUF9FTkNSWVBUX0tFWV9IUFAKKyNpZm5kZWYgTkROX05BQ19FTkNSWVBUX0tFWV9IUFAKKyNkZWZpbmUgTkROX05BQ19FTkNSWVBUX0tFWV9IUFAKIAogI2luY2x1ZGUgImNvbW1vbi5ocHAiCiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIAogdGVtcGxhdGU8Y2xhc3MgQWxnb3JpdGhtPgogY2xhc3MgRW5jcnlwdEtleQpAQCAtNTAsNyArNTAsNyBAQAogICBCdWZmZXIgbV9rZXlCaXRzOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgogCi0jZW5kaWYgLy8gTkROX0dFUF9FTkNSWVBUX0tFWV9IUFAKKyNlbmRpZiAvLyBORE5fTkFDX0VOQ1JZUFRfS0VZX0hQUApkaWZmIC0tZ2l0IGEvc3JjL2VuY3J5cHRlZC1jb250ZW50LmNwcCBiL3NyYy9lbmNyeXB0ZWQtY29udGVudC5jcHAKaW5kZXggNjhkMGU5Yy4uNzc2NzU1YyAxMDA2NDQKLS0tIGEvc3JjL2VuY3J5cHRlZC1jb250ZW50LmNwcAorKysgYi9zcmMvZW5jcnlwdGVkLWNvbnRlbnQuY3BwCkBAIC0xLDIwICsxLDIwIEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGdlcCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIGdlcCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIGdlcCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIGdlcCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogZ2VwLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFlpbmdkaSBZdSA8eWluZ2RpQGNzLnVjbGEuZWR1PgogICogQGF1dGhvciBaaGl5aSBaaGFuZyA8emhpeWlAY3MudWNsYS5lZHU+CkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSA8Ym9vc3QvbGV4aWNhbF9jYXN0LmhwcD4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogCiBCT09TVF9DT05DRVBUX0FTU0VSVCgoYm9vc3Q6OkVxdWFsaXR5Q29tcGFyYWJsZTxFbmNyeXB0ZWRDb250ZW50PikpOwogQk9PU1RfQ09OQ0VQVF9BU1NFUlQoKFdpcmVFbmNvZGFibGU8RW5jcnlwdGVkQ29udGVudD4pKTsKQEAgLTIxNCw1ICsyMTQsNSBAQAogICByZXR1cm4gKHdpcmVFbmNvZGUoKSA9PSByaHMud2lyZUVuY29kZSgpKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgpkaWZmIC0tZ2l0IGEvc3JjL2VuY3J5cHRlZC1jb250ZW50LmhwcCBiL3NyYy9lbmNyeXB0ZWQtY29udGVudC5ocHAKaW5kZXggOGE5NmZjNy4uNTNiYWQ5NiAxMDA2NDQKLS0tIGEvc3JjL2VuY3J5cHRlZC1jb250ZW50LmhwcAorKysgYi9zcmMvZW5jcnlwdGVkLWNvbnRlbnQuaHBwCkBAIC0xLDI2ICsxLDI2IEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGdlcCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIGdlcCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIGdlcCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIGdlcCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogZ2VwLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFlpbmdkaSBZdSA8eWluZ2RpQGNzLnVjbGEuZWR1PgogICovCiAKLSNpZm5kZWYgTkROX0VOQ1JZUFRFRF9DT05URU5UX0hQUAotI2RlZmluZSBORE5fRU5DUllQVEVEX0NPTlRFTlRfSFBQCisjaWZuZGVmIE5ETl9OQUNfRU5DUllQVEVEX0NPTlRFTlRfSFBQCisjZGVmaW5lIE5ETl9OQUNfRU5DUllQVEVEX0NPTlRFTlRfSFBQCiAKICNpbmNsdWRlICJ0bHYuaHBwIgogI2luY2x1ZGUgPGxpc3Q+CkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSA8bmRuLWN4eC9rZXktbG9jYXRvci5ocHA+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIAogY2xhc3MgRW5jcnlwdGVkQ29udGVudAogewpAQCAtMzYsMTAgKzM2LDcgQEAKICAgY2xhc3MgRXJyb3IgOiBwdWJsaWMgbmRuOjp0bHY6OkVycm9yCiAgIHsKICAgcHVibGljOgotICAgIGV4cGxpY2l0IEVycm9yKGNvbnN0IHN0ZDo6c3RyaW5nJiB3aGF0KQotICAgICAgOiBuZG46OnRsdjo6RXJyb3Iod2hhdCkKLSAgICB7Ci0gICAgfQorICAgIHVzaW5nIG5kbjo6dGx2OjpFcnJvcjo6RXJyb3I7CiAgIH07CiAKIHB1YmxpYzoKQEAgLTUyLDcgKzQ5LDggQEAKICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBpdiA9IDAsCiAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGl2TGVuID0gMCk7CiAKLSAgZXhwbGljaXQgRW5jcnlwdGVkQ29udGVudChjb25zdCBCbG9jayYgYmxvY2spOworICBleHBsaWNpdAorICBFbmNyeXB0ZWRDb250ZW50KGNvbnN0IEJsb2NrJiBibG9jayk7CiAKICAgdm9pZAogICBzZXRBbGdvcml0aG1UeXBlKHRsdjo6QWxnb3JpdGhtVHlwZVZhbHVlIHR5cGUpOwpAQCAtMTAwLDYgKzk4LDcgQEAKIHB1YmxpYzoKICAgYm9vbAogICBvcGVyYXRvcj09KGNvbnN0IEVuY3J5cHRlZENvbnRlbnQmIHJocykgY29uc3Q7CisKICAgYm9vbAogICBvcGVyYXRvciE9KGNvbnN0IEVuY3J5cHRlZENvbnRlbnQmIHJocykgY29uc3QKICAgewpAQCAtMTE2LDcgKzExNSw3IEBACiAgIG11dGFibGUgQmxvY2sgbV93aXJlOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgogCi0jZW5kaWYgLy8gTkROX0VOQ1JZUFRFRF9DT05URU5UX0hQUAorI2VuZGlmIC8vIE5ETl9OQUNfRU5DUllQVEVEX0NPTlRFTlRfSFBQCmRpZmYgLS1naXQgYS9zcmMvZXJyb3ItY29kZS5ocHAgYi9zcmMvZXJyb3ItY29kZS5ocHAKaW5kZXggZTA3MGVmZS4uMTBkMmY2MiAxMDA2NDQKLS0tIGEvc3JjL2Vycm9yLWNvZGUuaHBwCisrKyBiL3NyYy9lcnJvci1jb2RlLmhwcApAQCAtMSwzMSArMSwzMSBAQAogLyogLSotIE1vZGU6QysrOyBjLWZpbGUtc3R5bGU6ImdudSI7IGluZGVudC10YWJzLW1vZGU6bmlsOyAtKi0gKi8KIC8qKgotICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsICBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICoKICAqIEBhdXRob3IgWWluZ2RpIFl1IDx5aW5nZGlAY3MudWNsYS5lZHU+CiAgKi8KIAotI2lmbmRlZiBORE5fR0VQX0VSUk9SX0NPREVfSFBQCi0jZGVmaW5lIE5ETl9HRVBfRVJST1JfQ09ERV9IUFAKKyNpZm5kZWYgTkROX05BQ19FUlJPUl9DT0RFX0hQUAorI2RlZmluZSBORE5fTkFDX0VSUk9SX0NPREVfSFBQCiAKICNpbmNsdWRlICJjb21tb24uaHBwIgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIGVudW0gY2xhc3MgRXJyb3JDb2RlIHsKICAgVGltZW91dCA9IDEsCkBAIC0zNyw5ICszNyw5IEBACiAgIERhdGFSZXRyaWV2YWxGYWlsdXJlID0gMzYKIH07CiAKLXR5cGVkZWYgZnVuY3Rpb248dm9pZCAoY29uc3QgRXJyb3JDb2RlJiwgY29uc3Qgc3RkOjpzdHJpbmcmKT4gRXJyb3JDYWxsQmFjazsKK3VzaW5nIEVycm9yQ2FsbEJhY2sgPSBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0IEVycm9yQ29kZSYsIGNvbnN0IHN0ZDo6c3RyaW5nJik+OwogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKLSNlbmRpZiAvLyBORE5fR0VQX0VSUk9SX0NPREVfSFBQCisjZW5kaWYgLy8gTkROX05BQ19FUlJPUl9DT0RFX0hQUApkaWZmIC0tZ2l0IGEvc3JjL2dyb3VwLW1hbmFnZXItZGIuY3BwIGIvc3JjL2dyb3VwLW1hbmFnZXItZGIuY3BwCmluZGV4IDU3YTM2OTcuLjBlOTQ2NjEgMTAwNjQ0Ci0tLSBhL3NyYy9ncm91cC1tYW5hZ2VyLWRiLmNwcAorKysgYi9zcmMvZ3JvdXAtbWFuYWdlci1kYi5jcHAKQEAgLTEsMjAgKzEsMjAgQEAKIC8qIC0qLSBNb2RlOkMrKzsgYy1maWxlLXN0eWxlOiJnbnUiOyBpbmRlbnQtdGFicy1tb2RlOm5pbDsgLSotICovCiAvKioKLSAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCAgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgPG5kbi1jeHgvdXRpbC9zdHJpbmctaGVscGVyLmhwcD4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogCiB1c2luZyB1dGlsOjpTcWxpdGUzU3RhdGVtZW50OwogCkBAIC0zOTEsNSArMzkxLDUgQEAKICAgfQogfQogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCmRpZmYgLS1naXQgYS9zcmMvZ3JvdXAtbWFuYWdlci1kYi5ocHAgYi9zcmMvZ3JvdXAtbWFuYWdlci1kYi5ocHAKaW5kZXggYTMxMWVjZi4uNTljMGU2NiAxMDA2NDQKLS0tIGEvc3JjL2dyb3VwLW1hbmFnZXItZGIuaHBwCisrKyBiL3NyYy9ncm91cC1tYW5hZ2VyLWRiLmhwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwpAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUgInNjaGVkdWxlLmhwcCIKIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogCiAvKioKICAqIEBicmllZiBHcm91cE1hbmFnZXJEQiBpcyBhIGNsYXNzIHRvIG1hbmFnZSB0aGUgZGF0YWJhc2Ugb2YgZ3JvdXAgbWFuYWdlci4KQEAgLTM4LDE3ICszOCwxNSBAQAogICBjbGFzcyBFcnJvciA6IHB1YmxpYyBzdGQ6OnJ1bnRpbWVfZXJyb3IKICAgewogICBwdWJsaWM6Ci0gICAgZXhwbGljaXQgRXJyb3IoY29uc3Qgc3RkOjpzdHJpbmcmIHdoYXQpCi0gICAgICA6IHN0ZDo6cnVudGltZV9lcnJvcih3aGF0KQotICAgIHsKLSAgICB9CisgICAgdXNpbmcgc3RkOjpydW50aW1lX2Vycm9yOjpydW50aW1lX2Vycm9yOwogICB9OwogCiBwdWJsaWM6CiAgIC8qKgogICAgKiBAYnJpZWYgQ3JlYXRlIHRoZSBkYXRhYmFzZSBvZiBncm91cCBtYW5hZ2VyIGF0IHBhdGggQHAgZGJQYXRoLgogICAgKi8KLSAgZXhwbGljaXQgR3JvdXBNYW5hZ2VyREIoY29uc3Qgc3RkOjpzdHJpbmcmIGRiUGF0aCk7CisgIGV4cGxpY2l0CisgIEdyb3VwTWFuYWdlckRCKGNvbnN0IHN0ZDo6c3RyaW5nJiBkYlBhdGgpOwogCiAgIH5Hcm91cE1hbmFnZXJEQigpOwogCkBAIC0yMDIsNyArMjAwLDcgQEAKICAgdW5pcXVlX3B0cjxJbXBsPiBtX2ltcGw7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKICNlbmRpZiAvLyBHRVBfR1JPVVBfTUFOQUdFUl9EQl9IUFAKZGlmZiAtLWdpdCBhL3NyYy9ncm91cC1tYW5hZ2VyLmNwcCBiL3NyYy9ncm91cC1tYW5hZ2VyLmNwcAppbmRleCBkZmNiMjYwLi4wNTIxZGZmIDEwMDY0NAotLS0gYS9zcmMvZ3JvdXAtbWFuYWdlci5jcHAKKysrIGIvc3JjL2dyb3VwLW1hbmFnZXIuY3BwCkBAIC0xLDI0ICsxLDIwIEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvcgotICogTkROKS4gU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQKLSAqIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAotICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKLSAqIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55Ci0gKiBsYXRlciB2ZXJzaW9uLgorICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAotICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKLSAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKLSAqIG1vcmUgZGV0YWlscy4KKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUKLSAqIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICoKICAqIEBhdXRob3IgWmhpeWkgWmhhbmcgPHpoaXlpQGNzLnVjbGEuZWR1PgogICovCkBAIC0zMyw3ICsyOSw3IEBACiAjaW5jbHVkZSA8bmRuLWN4eC91dGlsL3N0cmluZy1oZWxwZXIuaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIEdyb3VwTWFuYWdlcjo6R3JvdXBNYW5hZ2VyKGNvbnN0IE5hbWUmIHByZWZpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE5hbWUmIGRhdGFUeXBlLApAQCAtMjYwLDUgKzI1Niw1IEBACiAgIG1fZGIuY2xlYW5FS2V5cygpOwogfQogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCmRpZmYgLS1naXQgYS9zcmMvZ3JvdXAtbWFuYWdlci5ocHAgYi9zcmMvZ3JvdXAtbWFuYWdlci5ocHAKaW5kZXggNTZmZWIyOC4uYWZiNzM0OSAxMDA2NDQKLS0tIGEvc3JjL2dyb3VwLW1hbmFnZXIuaHBwCisrKyBiL3NyYy9ncm91cC1tYW5hZ2VyLmhwcApAQCAtMSwyNiArMSwyNiBAQAogLyogLSotIE1vZGU6QysrOyBjLWZpbGUtc3R5bGU6ImdudSI7IGluZGVudC10YWJzLW1vZGU6bmlsOyAtKi0gKi8KIC8qKgotICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsICBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICoKICAqIEBhdXRob3IgWmhpeWkgWmhhbmcgPHpoaXlpQGNzLnVjbGEuZWR1PgogICovCiAKLSNpZm5kZWYgTkROX0dFUF9HUk9VUF9NQU5BR0VSX0hQUAotI2RlZmluZSBORE5fR0VQX0dST1VQX01BTkFHRVJfSFBQCisjaWZuZGVmIE5ETl9OQUNfR1JPVVBfTUFOQUdFUl9IUFAKKyNkZWZpbmUgTkROX05BQ19HUk9VUF9NQU5BR0VSX0hQUAogCiAjaW5jbHVkZSAiZ3JvdXAtbWFuYWdlci1kYi5ocHAiCiAjaW5jbHVkZSAiYWxnby9yc2EuaHBwIgpAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgPG5kbi1jeHgvc2VjdXJpdHkva2V5LWNoYWluLmhwcD4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogCiBjbGFzcyBHcm91cE1hbmFnZXIKIHsKQEAgLTM2LDEwICszNiw3IEBACiAgIGNsYXNzIEVycm9yIDogcHVibGljIHN0ZDo6cnVudGltZV9lcnJvcgogICB7CiAgIHB1YmxpYzoKLSAgICBleHBsaWNpdCBFcnJvcihjb25zdCBzdGQ6OnN0cmluZyYgd2hhdCkKLSAgICAgIDogc3RkOjpydW50aW1lX2Vycm9yKHdoYXQpCi0gICAgewotICAgIH0KKyAgICB1c2luZyBzdGQ6OnJ1bnRpbWVfZXJyb3I6OnJ1bnRpbWVfZXJyb3I7CiAgIH07CiAKIHB1YmxpYzoKQEAgLTEwMyw4ICsxMDAsNyBAQAogICB2b2lkCiAgIHVwZGF0ZU1lbWJlclNjaGVkdWxlKGNvbnN0IE5hbWUmIGlkZW50aXR5LCBjb25zdCBzdGQ6OnN0cmluZyYgc2NoZWR1bGVOYW1lKTsKIAotCi1QVUJMSUNfV0lUSF9URVNUU19FTFNFX1BSSVZBVEUgOgorUFVCTElDX1dJVEhfVEVTVFNfRUxTRV9QUklWQVRFOgogICAvKioKICAgICogQGJyaWVmIENhbGN1bGF0ZSBpbnRlcnZhbCB0aGF0IGNvdmVycyBAcCB0aW1lc2xvdAogICAgKiBhbmQgZmlsbCBAcCBtZW1iZXJLZXlzIHdpdGggdGhlIGluZm8gb2YgbWVtYmVycyB3aG8gaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIGludGVydmFsLgpAQCAtMTU3LDcgKzE1Myw3IEBACiAgIEtleUNoYWluIG1fa2V5Q2hhaW47CiB9OwogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKLSNlbmRpZiAvLyBORE5fR0VQX0dST1VQX01BTkFHRVJfSFBQCisjZW5kaWYgLy8gTkROX05BQ19HUk9VUF9NQU5BR0VSX0hQUApkaWZmIC0tZ2l0IGEvc3JjL2ludGVydmFsLmNwcCBiL3NyYy9pbnRlcnZhbC5jcHAKaW5kZXggOGQ5NmY3Ny4uMTQwMmJhZiAxMDA2NDQKLS0tIGEvc3JjL2ludGVydmFsLmNwcAorKysgYi9zcmMvaW50ZXJ2YWwuY3BwCkBAIC0yLDE5ICsyLDE5IEBACiAvKioKICAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICoKICAqIEBhdXRob3IgWmhpeWkgWmhhbmcgPHpoaXlpQGNzLnVjbGEuZWR1PgogICovCkBAIC0yMiw3ICsyMiw3IEBACiAjaW5jbHVkZSAiaW50ZXJ2YWwuaHBwIgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIHN0YXRpYyBjb25zdCBUaW1lU3RhbXAgREVGQVVMVF9USU1FID0gYm9vc3Q6OnBvc2l4X3RpbWU6OmZyb21faXNvX3N0cmluZygiMTQwMDAxMDFUMDAwMDAwIik7CiAKQEAgLTEwOSw1ICsxMDksNSBAQAogICByZXR1cm4gKnRoaXM7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3NyYy9pbnRlcnZhbC5ocHAgYi9zcmMvaW50ZXJ2YWwuaHBwCmluZGV4IDZjZjZiODYuLmQ0NDIyNTIgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcnZhbC5ocHAKKysrIGIvc3JjL2ludGVydmFsLmhwcApAQCAtMiwzMSArMiwzMSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwogCi0jaWZuZGVmIE5ETl9HRVBfSU5URVJWQUxfSFBQCi0jZGVmaW5lIE5ETl9HRVBfSU5URVJWQUxfSFBQCisjaWZuZGVmIE5ETl9OQUNfSU5URVJWQUxfSFBQCisjZGVmaW5lIE5ETl9OQUNfSU5URVJWQUxfSFBQCiAKICNpbmNsdWRlICJjb21tb24uaHBwIgogI2luY2x1ZGUgPGJvb3N0L2RhdGVfdGltZS9wb3NpeF90aW1lL3Bvc2l4X3RpbWUuaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIHR5cGVkZWYgYm9vc3Q6OnBvc2l4X3RpbWU6OnB0aW1lIFRpbWVTdGFtcDsKIApAQCAtMzcsMTAgKzM3LDcgQEAKICAgY2xhc3MgRXJyb3IgOiBwdWJsaWMgc3RkOjpydW50aW1lX2Vycm9yCiAgIHsKICAgcHVibGljOgotICAgIGV4cGxpY2l0IEVycm9yKGNvbnN0IHN0ZDo6c3RyaW5nJiB3aGF0KQotICAgICAgOiBzdGQ6OnJ1bnRpbWVfZXJyb3Iod2hhdCkKLSAgICB7Ci0gICAgfQorICAgIHVzaW5nIHN0ZDo6cnVudGltZV9lcnJvcjo6cnVudGltZV9lcnJvcjsKICAgfTsKIAogcHVibGljOgpAQCAtNDksNyArNDYsOCBAQAogICAgKgogICAgKiBAcGFyYW0gaXNWYWxpZCBJZiBpc1ZhbGlkIGlzIHRydWUsIHRoZSBjcmVhdGVkIGludGVydmFsIGlzIGFuIGVtcHR5IGludGVydmFsCiAgICAqLwotICBleHBsaWNpdCBJbnRlcnZhbChib29sIGlzVmFsaWQgPSBmYWxzZSk7CisgIGV4cGxpY2l0CisgIEludGVydmFsKGJvb2wgaXNWYWxpZCA9IGZhbHNlKTsKIAogICBJbnRlcnZhbChjb25zdCBUaW1lU3RhbXAmIHN0YXJ0VGltZSwgY29uc3QgVGltZVN0YW1wJiBlbmRUaW1lKTsKIApAQCAtMTE0LDcgKzExMiw3IEBACiAgIGJvb2wgbV9pc1ZhbGlkOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgogCi0jZW5kaWYgLy8gTkROX0dFUF9JTlRFUlZBTF9IUFAKKyNlbmRpZiAvLyBORE5fTkFDX0lOVEVSVkFMX0hQUApkaWZmIC0tZ2l0IGEvc3JjL3Byb2R1Y2VyLWRiLmNwcCBiL3NyYy9wcm9kdWNlci1kYi5jcHAKaW5kZXggMGNkZTQ3ZC4uM2Y3NTc5NiAxMDA2NDQKLS0tIGEvc3JjL3Byb2R1Y2VyLWRiLmNwcAorKysgYi9zcmMvcHJvZHVjZXItZGIuY3BwCkBAIC0yLDE5ICsyLDE5IEBACiAvKioKICAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICoKICAqIEBhdXRob3IgUHJhc2hhbnRoIFN3YW1pbmF0aGFuIDxwcmFzaGFudGhzd0BnbWFpbC5jb20+CiAgKi8KQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlIDxzcWxpdGUzLmg+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIAogdXNpbmcgdXRpbDo6U3FsaXRlM1N0YXRlbWVudDsKIHVzaW5nIHRpbWU6OnN5c3RlbV9jbG9jazsKQEAgLTE0NCw1ICsxNDQsNSBAQAogICBzdGF0ZW1lbnQuc3RlcCgpOwogfQogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCmRpZmYgLS1naXQgYS9zcmMvcHJvZHVjZXItZGIuaHBwIGIvc3JjL3Byb2R1Y2VyLWRiLmhwcAppbmRleCBhODQ2OTAxLi42MTQ3MjA0IDEwMDY0NAotLS0gYS9zcmMvcHJvZHVjZXItZGIuaHBwCisrKyBiL3NyYy9wcm9kdWNlci1kYi5ocHAKQEAgLTIsMzAgKzIsMzAgQEAKIC8qKgogICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKgogICogQGF1dGhvciBQcmFzaGFudGggU3dhbWluYXRoYW4gPHByYXNoYW50aHN3QGdtYWlsLmNvbT4KICAqLwogCi0jaWZuZGVmIE5ETl9HRVBfUFJPRFVDRVJfREJfSFBQCi0jZGVmaW5lIE5ETl9HRVBfUFJPRFVDRVJfREJfSFBQCisjaWZuZGVmIE5ETl9OQUNfUFJPRFVDRVJfREJfSFBQCisjZGVmaW5lIE5ETl9OQUNfUFJPRFVDRVJfREJfSFBQCiAKICNpbmNsdWRlICJjb21tb24uaHBwIgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIC8qKgogICogQGJyaWVmIFByb2R1Y2VyREIgaXMgYSBjbGFzcyB0byBtYW5hZ2UgdGhlIGRhdGFiYXNlIG9mIGRhdGEgcHJvZHVjZXIuCkBAIC0zOCwxNCArMzgsMTIgQEAKICAgY2xhc3MgRXJyb3IgOiBwdWJsaWMgc3RkOjpydW50aW1lX2Vycm9yCiAgIHsKICAgcHVibGljOgotICAgIGV4cGxpY2l0IEVycm9yKGNvbnN0IHN0ZDo6c3RyaW5nJiB3aGF0KQotICAgICAgOiBzdGQ6OnJ1bnRpbWVfZXJyb3Iod2hhdCkKLSAgICB7Ci0gICAgfQorICAgIHVzaW5nIHN0ZDo6cnVudGltZV9lcnJvcjo6cnVudGltZV9lcnJvcjsKICAgfTsKIAogcHVibGljOgotICBleHBsaWNpdCBQcm9kdWNlckRCKGNvbnN0IHN0ZDo6c3RyaW5nJiBkYlBhdGgpOworICBleHBsaWNpdAorICBQcm9kdWNlckRCKGNvbnN0IHN0ZDo6c3RyaW5nJiBkYlBhdGgpOwogCiAgIH5Qcm9kdWNlckRCKCk7CiAKQEAgLTgxLDcgKzc5LDcgQEAKICAgdW5pcXVlX3B0cjxJbXBsPiBtX2ltcGw7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKLSNlbmRpZiAvLyBORE5fR0VQX1BST0RVQ0VSX0RCX0hQUAorI2VuZGlmIC8vIE5ETl9OQUNfUFJPRFVDRVJfREJfSFBQCmRpZmYgLS1naXQgYS9zcmMvcHJvZHVjZXIuY3BwIGIvc3JjL3Byb2R1Y2VyLmNwcAppbmRleCBhYzlhY2EwLi5iYzdjMGQ1IDEwMDY0NAotLS0gYS9zcmMvcHJvZHVjZXIuY3BwCisrKyBiL3NyYy9wcm9kdWNlci5jcHAKQEAgLTIsMTkgKzIsMTkgQEAKIC8qKgogICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKgogICogQGF1dGhvciBQcmFzaGFudGggU3dhbWluYXRoYW4gPHByYXNoYW50aHN3QGdtYWlsLmNvbT4KICAqIEBhdXRob3IgWWluZ2RpIFl1IDx5dXlpbmdkaUBnbWFpbC5jb20+CkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSA8aW9zdHJlYW0+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIAogdXNpbmcgdGltZTo6c3lzdGVtX2Nsb2NrOwogCkBAIC0zMTQsNSArMzE0LDUgQEAKICAgcmV0dXJuIHRydWU7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3NyYy9wcm9kdWNlci5ocHAgYi9zcmMvcHJvZHVjZXIuaHBwCmluZGV4IDg3MjRkMWIuLjIwODFkNWQgMTAwNjQ0Ci0tLSBhL3NyYy9wcm9kdWNlci5ocHAKKysrIGIvc3JjL3Byb2R1Y2VyLmhwcApAQCAtMiwyNiArMiwyNiBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFByYXNoYW50aCBTd2FtaW5hdGhhbiA8cHJhc2hhbnRoc3dAZ21haWwuY29tPgogICogQGF1dGhvciBZaW5nZGkgWXUgPHl1eWluZ2RpQGdtYWlsLmNvbT4KICAqLwogCi0jaWZuZGVmIE5ETl9HRVBfUFJPRFVDRVJfSFBQCi0jZGVmaW5lIE5ETl9HRVBfUFJPRFVDRVJfSFBQCisjaWZuZGVmIE5ETl9OQUNfUFJPRFVDRVJfSFBQCisjZGVmaW5lIE5ETl9OQUNfUFJPRFVDRVJfSFBQCiAKICNpbmNsdWRlICJlcnJvci1jb2RlLmhwcCIKICNpbmNsdWRlICJwcm9kdWNlci1kYi5ocHAiCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSA8bmRuLWN4eC9zZWN1cml0eS9rZXktY2hhaW4uaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIC8vIEBicmllZiBDYWxsYmFjayByZXR1cm5zIHZlY3RvciBvZiBEYXRhIGNvbnRhaW5zIGNvbnRlbnQga2V5cyBlbmNyeXB0ZWQgYnkgRS1LRVlTCiB0eXBlZGVmIGZ1bmN0aW9uPHZvaWQoY29uc3Qgc3RkOjp2ZWN0b3I8RGF0YT4mKT4gUHJvZHVjZXJFS2V5Q2FsbGJhY2s7CkBAIC0yMTYsNyArMjE2LDcgQEAKICAgTGluayBtX2tleVJldHJpZXZhbExpbms7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKLSNlbmRpZiAvLyBORE5fR0VQX1BST0RVQ0VSX0hQUAorI2VuZGlmIC8vIE5ETl9OQUNfUFJPRFVDRVJfSFBQCmRpZmYgLS1naXQgYS9zcmMvcmVwZXRpdGl2ZS1pbnRlcnZhbC5jcHAgYi9zcmMvcmVwZXRpdGl2ZS1pbnRlcnZhbC5jcHAKaW5kZXggZmJiZTBhOS4uOTgxNWFhNSAxMDA2NDQKLS0tIGEvc3JjL3JlcGV0aXRpdmUtaW50ZXJ2YWwuY3BwCisrKyBiL3NyYy9yZXBldGl0aXZlLWludGVydmFsLmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgPGJvb3N0L2RhdGVfdGltZS9wb3NpeF90aW1lL3Bvc2l4X3RpbWUuaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIHN0YXRpYyBjb25zdCBUaW1lU3RhbXAgREVGQVVMVF9USU1FID0gYm9vc3Q6OnBvc2l4X3RpbWU6OmZyb21faXNvX3N0cmluZygiMTQwMDAxMDFUMDAwMDAwIik7CiAKQEAgLTI4Miw1ICsyODIsNSBAQAogICByZXR1cm4gKHN0YXRpY19jYXN0PHNpemVfdD4obV91bml0KSA8IHN0YXRpY19jYXN0PHNpemVfdD4oaW50ZXJ2YWwuZ2V0UmVwZWF0VW5pdCgpKSk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3NyYy9yZXBldGl0aXZlLWludGVydmFsLmhwcCBiL3NyYy9yZXBldGl0aXZlLWludGVydmFsLmhwcAppbmRleCBkZTliNjNjLi40NDAwZjA1IDEwMDY0NAotLS0gYS9zcmMvcmVwZXRpdGl2ZS1pbnRlcnZhbC5ocHAKKysrIGIvc3JjL3JlcGV0aXRpdmUtaW50ZXJ2YWwuaHBwCkBAIC0yLDMxICsyLDMxIEBACiAvKioKICAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICoKICAqIEBhdXRob3IgWmhpeWkgWmhhbmcgPHpoaXlpQGNzLnVjbGEuZWR1PgogICovCiAKLSNpZm5kZWYgTkROX0dFUF9SRVBFVElUSVZFX0lOVEVSVkFMX0hQUAotI2RlZmluZSBORE5fR0VQX1JFUEVUSVRJVkVfSU5URVJWQUxfSFBQCisjaWZuZGVmIE5ETl9OQUNfUkVQRVRJVElWRV9JTlRFUlZBTF9IUFAKKyNkZWZpbmUgTkROX05BQ19SRVBFVElUSVZFX0lOVEVSVkFMX0hQUAogCiAjaW5jbHVkZSAiY29tbW9uLmhwcCIKICNpbmNsdWRlICJpbnRlcnZhbC5ocHAiCiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIAogLy8vQGJyaWVmIEFuIGFkdmFuY2VkIGludGVydmFsIHdoaWNoIGNhbiBoYXZlIGEgcmVwZWF0IHBhdHRlcm4gYW5kIHJlcGVhdCB1bml0CiBjbGFzcyBSZXBldGl0aXZlSW50ZXJ2YWwKQEAgLTE0MCw3ICsxNDAsNyBAQAogICBtdXRhYmxlIEJsb2NrIG1fd2lyZTsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KIAotI2VuZGlmIC8vIE5ETl9HRVBfUkVQRVRJVElWRV9JTlRFUlZBTF9IUFAKKyNlbmRpZiAvLyBORE5fTkFDX1JFUEVUSVRJVkVfSU5URVJWQUxfSFBQCmRpZmYgLS1naXQgYS9zcmMvc2NoZWR1bGUuY3BwIGIvc3JjL3NjaGVkdWxlLmNwcAppbmRleCA3OTc0NjdhLi4wZmQ3OGY2IDEwMDY0NAotLS0gYS9zcmMvc2NoZWR1bGUuY3BwCisrKyBiL3NyYy9zY2hlZHVsZS5jcHAKQEAgLTIsMTkgKzIsMTkgQEAKIC8qKgogICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKgogICogQGF1dGhvciBaaGl5aSBaaGFuZyA8emhpeWlAY3MudWNsYS5lZHU+CiAgKi8KQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlIDxuZG4tY3h4L3V0aWwvY29uY2VwdHMuaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIC8qKgogICogQGJyaWVmIEhlbHBlciBmdW5jdG9uIHRvIGNhbGN1bGF0ZSBibGFjayBpbnRlcnZhbCByZXN1bHRzIG9yIHdoaXRlIGludGVydmFsIHJlc3VsdHMKQEAgLTIxMCw1ICsyMTAsNSBAQAogICB9CiB9CiAKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3NyYy9zY2hlZHVsZS5ocHAgYi9zcmMvc2NoZWR1bGUuaHBwCmluZGV4IGE5MTk3NjcuLmQxM2M5M2EgMTAwNjQ0Ci0tLSBhL3NyYy9zY2hlZHVsZS5ocHAKKysrIGIvc3JjL3NjaGVkdWxlLmhwcApAQCAtMiwzMSArMiwzMSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwogCi0jaWZuZGVmIE5ETl9HRVBfU0NIRURVTEVfSFBQCi0jZGVmaW5lIE5ETl9HRVBfU0NIRURVTEVfSFBQCisjaWZuZGVmIE5ETl9OQUNfU0NIRURVTEVfSFBQCisjZGVmaW5lIE5ETl9OQUNfU0NIRURVTEVfSFBQCiAKICNpbmNsdWRlICJjb21tb24uaHBwIgogI2luY2x1ZGUgInJlcGV0aXRpdmUtaW50ZXJ2YWwuaHBwIgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiAKIC8qKgogICogQGJyaWVmIFNjaGVkdWxlIGlzIHVzZWQgdG8gbWFuYWdlIHRoZSB0aW1lLCB3aGljaCBjb250YWlucyB0d28gc2V0cyBvZiBSZXBldGl0aXZlSW50ZXJ2YWxzCkBAIC0zOSw3ICszOSw4IEBACiBwdWJsaWM6CiAgIFNjaGVkdWxlKCk7CiAKLSAgZXhwbGljaXQgU2NoZWR1bGUoY29uc3QgQmxvY2smIGJsb2NrKTsKKyAgZXhwbGljaXQKKyAgU2NoZWR1bGUoY29uc3QgQmxvY2smIGJsb2NrKTsKIAogcHVibGljOgogICB0ZW1wbGF0ZTxlbmNvZGluZzo6VGFnIFRBRz4KQEAgLTc4LDcgKzc5LDcgQEAKICAgbXV0YWJsZSBCbG9jayBtX3dpcmU7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKLSNlbmRpZiAvLyBORE5fR0VQX1NDSEVEVUxFX0hQUAorI2VuZGlmIC8vIE5ETl9OQUNfU0NIRURVTEVfSFBQCmRpZmYgLS1naXQgYS9zcmMvdGx2LmhwcCBiL3NyYy90bHYuaHBwCmluZGV4IDI2NDQ0YWMuLjZhYWU5YTEgMTAwNjQ0Ci0tLSBhL3NyYy90bHYuaHBwCisrKyBiL3NyYy90bHYuaHBwCkBAIC0xLDI5ICsxLDI3IEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0qIENvcHlyaWdodCAoYykgMjAxMy0yMDE0IFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KLSoKLSogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWN4eCBsaWJyYXJ5IChORE4gQysrIGxpYnJhcnkgd2l0aCBlWHBlcmltZW50YWwgZVh0ZW5zaW9ucykuCi0qCi0qIG5kbi1jeHggbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQotKiB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQotKiBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKgotKiBuZG4tY3h4IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCi0qIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEKLSogUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSoKLSogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGNvcGllcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYW5kIEdOVSBMZXNzZXIKLSogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIG5kbi1jeHgsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlCi0qIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSoKLSogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWN4eCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCi0qLworICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKgorICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLwogCi0jaWZuZGVmIE5ETl9HRVBfVExWX0hQUAotI2RlZmluZSBORE5fR0VQX1RMVl9IUFAKKyNpZm5kZWYgTkROX05BQ19UTFZfSFBQCisjZGVmaW5lIE5ETl9OQUNfVExWX0hQUAogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgdGx2IHsKIAogZW51bSB7CkBAIC01NSw3ICs1Myw3IEBACiB9OwogCiB9IC8vIG5hbWVzcGFjZSB0bHYKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KIAotI2VuZGlmIC8vIE5ETl9HRVBfVExWX0hQUAorI2VuZGlmIC8vIE5ETl9OQUNfVExWX0hQUApkaWZmIC0tZ2l0IGEvdGVzdHMvYm9vc3QtdGVzdC5ocHAgYi90ZXN0cy9ib29zdC10ZXN0LmhwcAppbmRleCBkZTFjZmEyLi4yN2JkODM2IDEwMDY0NAotLS0gYS90ZXN0cy9ib29zdC10ZXN0LmhwcAorKysgYi90ZXN0cy9ib29zdC10ZXN0LmhwcApAQCAtMiwyMyArMiwyMyBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCi0jaWZuZGVmIE5ETl9HRVBfVEVTVFNfQk9PU1RfVEVTVF9IUFAKLSNkZWZpbmUgTkROX0dFUF9URVNUU19CT09TVF9URVNUX0hQUAorI2lmbmRlZiBORE5fTkFDX1RFU1RTX0JPT1NUX1RFU1RfSFBQCisjZGVmaW5lIE5ETl9OQUNfVEVTVFNfQk9PU1RfVEVTVF9IUFAKIAogLy8gc3VwcHJlc3Mgd2FybmluZ3MgZnJvbSBCb29zdC5UZXN0CiAjcHJhZ21hIEdDQyBzeXN0ZW1faGVhZGVyCkBAIC0yOCw0ICsyOCw0IEBACiAjaW5jbHVkZSA8Ym9vc3QvdGVzdC9vdXRwdXRfdGVzdF9zdHJlYW0uaHBwPgogI2luY2x1ZGUgPGJvb3N0L3Rlc3QvdW5pdF90ZXN0LmhwcD4KIAotI2VuZGlmIC8vIE5ETl9HRVBfVEVTVFNfQk9PU1RfVEVTVF9IUFAKKyNlbmRpZiAvLyBORE5fTkFDX1RFU1RTX0JPT1NUX1RFU1RfSFBQCmRpZmYgLS1naXQgYS90ZXN0cy9tYWluLmNwcCBiL3Rlc3RzL21haW4uY3BwCmluZGV4IDMwMGFlZTEuLjMzOTAzNmYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21haW4uY3BwCisrKyBiL3Rlc3RzL21haW4uY3BwCkBAIC0xLDIwICsxLDIwIEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNSwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKi8KIAogI2RlZmluZSBCT09TVF9URVNUX01BSU4gMQpkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC10ZXN0cy9hbGdvL2Flcy50LmNwcCBiL3Rlc3RzL3VuaXQtdGVzdHMvYWxnby9hZXMudC5jcHAKaW5kZXggYTJiZjE1MS4uNTNkZjc5NiAxMDA2NDQKLS0tIGEvdGVzdHMvdW5pdC10ZXN0cy9hbGdvL2Flcy50LmNwcAorKysgYi90ZXN0cy91bml0LXRlc3RzL2FsZ28vYWVzLnQuY3BwCkBAIC0yLDE5ICsyLDE5IEBACiAvKioKICAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICovCiAKICNpbmNsdWRlICJhbGdvL2Flcy5ocHAiCkBAIC0yMyw3ICsyMyw3IEBACiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgYWxnbyB7CiBuYW1lc3BhY2UgdGVzdHMgewogCkBAIC0xMDQsNSArMTA0LDUgQEAKIAogfSAvLyBuYW1lc3BhY2UgdGVzdHMKIH0gLy8gbmFtZXNwYWNlIGFsZ28KLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQtdGVzdHMvYWxnby9lbmNyeXB0b3IudC5jcHAgYi90ZXN0cy91bml0LXRlc3RzL2FsZ28vZW5jcnlwdG9yLnQuY3BwCmluZGV4IDU5YTNkNWIuLmU3MzM5MDMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQtdGVzdHMvYWxnby9lbmNyeXB0b3IudC5jcHAKKysrIGIvdGVzdHMvdW5pdC10ZXN0cy9hbGdvL2VuY3J5cHRvci50LmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCiAjaW5jbHVkZSAiYWxnby9lbmNyeXB0b3IuaHBwIgpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIGFsZ28gewogbmFtZXNwYWNlIHRlc3RzIHsKIApAQCAtMjgyLDUgKzI4Miw1IEBACiAKIH0gLy8gbmFtZXNwYWNlIHRlc3RzCiB9IC8vIG5hbWVzcGFjZSBhbGdvCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCmRpZmYgLS1naXQgYS90ZXN0cy91bml0LXRlc3RzL2FsZ28vcnNhLnQuY3BwIGIvdGVzdHMvdW5pdC10ZXN0cy9hbGdvL3JzYS50LmNwcAppbmRleCA2YjdiYmNiLi5hYzI1OTY1IDEwMDY0NAotLS0gYS90ZXN0cy91bml0LXRlc3RzL2FsZ28vcnNhLnQuY3BwCisrKyBiL3Rlc3RzL3VuaXQtdGVzdHMvYWxnby9yc2EudC5jcHAKQEAgLTIsMTkgKzIsMTkgQEAKIC8qKgogICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKi8KIAogI2luY2x1ZGUgImFsZ28vcnNhLmhwcCIKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlIDxzdHJpbmc+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIG5hbWVzcGFjZSBhbGdvIHsKIG5hbWVzcGFjZSB0ZXN0cyB7CiAKQEAgLTcwLDUgKzcwLDUgQEAKIAogfSAvLyBuYW1lc3BhY2UgdGVzdHMKIH0gLy8gbmFtZXNwYWNlIGFsZ28KLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQtdGVzdHMvY29uc3VtZXItZGIudC5jcHAgYi90ZXN0cy91bml0LXRlc3RzL2NvbnN1bWVyLWRiLnQuY3BwCmluZGV4IDY3YzMzY2UuLmFkOTkwMzEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQtdGVzdHMvY29uc3VtZXItZGIudC5jcHAKKysrIGIvdGVzdHMvdW5pdC10ZXN0cy9jb25zdW1lci1kYi50LmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgPGJvb3N0L2ZpbGVzeXN0ZW0uaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgdGVzdHMgewogCiBjbGFzcyBDb25zdW1lckRCRml4dHVyZQpAQCAtMTIzLDUgKzEyMyw1IEBACiBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKIAogfSAvLyBuYW1lc3BhY2UgdGVzdHMKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQtdGVzdHMvY29uc3VtZXIudC5jcHAgYi90ZXN0cy91bml0LXRlc3RzL2NvbnN1bWVyLnQuY3BwCmluZGV4IDE3NGUyNDcuLjIzM2QyODUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQtdGVzdHMvY29uc3VtZXIudC5jcHAKKysrIGIvdGVzdHMvdW5pdC10ZXN0cy9jb25zdW1lci50LmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqIEBhdXRob3IgWWluZ2RpIFl1IDx5aW5nZGlAY3MudWNsYS5lZHU+CkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8Ym9vc3QvZmlsZXN5c3RlbS5ocHA+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIG5hbWVzcGFjZSB0ZXN0cyB7CiAKIHN0YXRpYyBjb25zdCB1aW50OF90IERBVEFfQ09OVEVOW10gPSB7MHhjYiwgMHhlNSwgMHg2YSwgMHg4MCwgMHg0MSwgMHgyNCwgMHg1OCwgMHgyMywKQEAgLTM3MCw1ICszNzAsNSBAQAogQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCiAKIH0gLy8gbmFtZXNwYWNlIHRlc3RzCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCmRpZmYgLS1naXQgYS90ZXN0cy91bml0LXRlc3RzL2VtcHR5LXRlc3QuY3BwIGIvdGVzdHMvdW5pdC10ZXN0cy9lbXB0eS10ZXN0LmNwcAppbmRleCA2M2Y0MzEzLi44YjNiZDM0IDEwMDY0NAotLS0gYS90ZXN0cy91bml0LXRlc3RzL2VtcHR5LXRlc3QuY3BwCisrKyBiL3Rlc3RzL3VuaXQtdGVzdHMvZW1wdHktdGVzdC5jcHAKQEAgLTEsMjAgKzEsMjAgQEAKIC8qIC0qLSBNb2RlOkMrKzsgYy1maWxlLXN0eWxlOiJnbnUiOyBpbmRlbnQtdGFicy1tb2RlOm5pbDsgLSotICovCiAvKioKLSAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE1LCAgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCiAjaW5jbHVkZSAiY29tbW9uLmhwcCIKQEAgLTIyLDcgKzIyLDcgQEAKICNpbmNsdWRlICJib29zdC10ZXN0LmhwcCIKIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIHRlc3RzIHsKIAogQk9PU1RfQVVUT19URVNUX1NVSVRFKEVtcHR5U3VpdGUpCkBAIC0zNSw1ICszNSw1IEBACiBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKIAogfSAvLyBuYW1lc3BhY2UgdGVzdHMKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQtdGVzdHMvZW5jcnlwdGVkLWNvbnRlbnQudC5jcHAgYi90ZXN0cy91bml0LXRlc3RzL2VuY3J5cHRlZC1jb250ZW50LnQuY3BwCmluZGV4IDQxM2ZhZDkuLmEyZmNlMDMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQtdGVzdHMvZW5jcnlwdGVkLWNvbnRlbnQudC5jcHAKKysrIGIvdGVzdHMvdW5pdC10ZXN0cy9lbmNyeXB0ZWQtY29udGVudC50LmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCiAjaW5jbHVkZSAiZW5jcnlwdGVkLWNvbnRlbnQuaHBwIgpAQCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIHRlc3RzIHsKIAogQk9PU1RfQVVUT19URVNUX1NVSVRFKFRlc3RFbmNyeXB0ZWRDb250ZW50KQpAQCAtMzE0LDUgKzMxNCw1IEBACiBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKIAogfSAvLyBuYW1lc3BhY2UgdGVzdHMKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQtdGVzdHMvZ3JvdXAtbWFuYWdlci1kYi50LmNwcCBiL3Rlc3RzL3VuaXQtdGVzdHMvZ3JvdXAtbWFuYWdlci1kYi50LmNwcAppbmRleCAwODAwYWYzLi5iYWQwMTBjIDEwMDY0NAotLS0gYS90ZXN0cy91bml0LXRlc3RzL2dyb3VwLW1hbmFnZXItZGIudC5jcHAKKysrIGIvdGVzdHMvdW5pdC10ZXN0cy9ncm91cC1tYW5hZ2VyLWRiLnQuY3BwCkBAIC0yLDE5ICsyLDE5IEBACiAvKioKICAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICoKICAqIEBhdXRob3IgWmhpeWkgWmhhbmcgPHpoaXlpQGNzLnVjbGEuZWR1PgogICovCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSA8Ym9vc3QvZmlsZXN5c3RlbS5ocHA+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIG5hbWVzcGFjZSB0ZXN0cyB7CiAKIGNvbnN0IHVpbnQ4X3QgU0NIRURVTEVbXSA9IHsKQEAgLTI1Nyw1ICsyNTcsNSBAQAogQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCiAKIH0gLy8gbmFtZXNwYWNlIHRlc3RzCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCmRpZmYgLS1naXQgYS90ZXN0cy91bml0LXRlc3RzL2dyb3VwLW1hbmFnZXIudC5jcHAgYi90ZXN0cy91bml0LXRlc3RzL2dyb3VwLW1hbmFnZXIudC5jcHAKaW5kZXggNTk5NGQ2Ni4uMjAwZmY3NCAxMDA2NDQKLS0tIGEvdGVzdHMvdW5pdC10ZXN0cy9ncm91cC1tYW5hZ2VyLnQuY3BwCisrKyBiL3Rlc3RzL3VuaXQtdGVzdHMvZ3JvdXAtbWFuYWdlci50LmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwpAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgPHN0cmluZz4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIHRlc3RzIHsKIAogdXNpbmcgbmFtZXNwYWNlIGJvb3N0Ojpwb3NpeF90aW1lOwpAQCAtNDMwLDUgKzQzMCw1IEBACiBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKIAogfSAvLyBuYW1lc3BhY2UgdGVzdHMKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQtdGVzdHMvaW50ZXJ2YWwudC5jcHAgYi90ZXN0cy91bml0LXRlc3RzL2ludGVydmFsLnQuY3BwCmluZGV4IGM1MDM4NGEuLjUxMTY4NTYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQtdGVzdHMvaW50ZXJ2YWwudC5jcHAKKysrIGIvdGVzdHMvdW5pdC10ZXN0cy9pbnRlcnZhbC50LmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwpAQCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgImJvb3N0LXRlc3QuaHBwIgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgdGVzdHMgewogCiB1c2luZyBuYW1lc3BhY2UgYm9vc3Q6OnBvc2l4X3RpbWU7CkBAIC0xNDMsNSArMTQzLDUgQEAKIEJPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQogCiB9IC8vIG5hbWVzcGFjZSB0ZXN0cwotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgpkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC10ZXN0cy9wcm9kdWNlci1kYi50LmNwcCBiL3Rlc3RzL3VuaXQtdGVzdHMvcHJvZHVjZXItZGIudC5jcHAKaW5kZXggODgxZjQwZS4uY2YxOWFiYiAxMDA2NDQKLS0tIGEvdGVzdHMvdW5pdC10ZXN0cy9wcm9kdWNlci1kYi50LmNwcAorKysgYi90ZXN0cy91bml0LXRlc3RzL3Byb2R1Y2VyLWRiLnQuY3BwCkBAIC0yLDE5ICsyLDE5IEBACiAvKioKICAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE4LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKICAqCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCAoR3JvdXAtYmFzZWQgRW5jcnlwdGlvbiBQcm90b2NvbCBmb3IgTkROKS4KLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1ncm91cC1lbmNyeXB0IGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5BQyAoTmFtZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCBmb3IgTkROKS4KKyAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIE5BQyBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKKyAqIE5BQyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwogICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogICogZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CisgKiBOQUMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwogICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aAotICogbmRuLWdyb3VwLWVuY3J5cHQsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqIE5BQywgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogICoKICAqIEBhdXRob3IgUHJhc2hhbnRoIFN3YW1pbmF0aGFuIDxwcmFzaGFudGhzd0BnbWFpbC5jb20+CiAgKi8KQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlIDxib29zdC9maWxlc3lzdGVtLmhwcD4KIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIHRlc3RzIHsKIAogdXNpbmcgdGltZTo6c3lzdGVtX2Nsb2NrOwpAQCAtMTA0LDUgKzEwNCw1IEBACiBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKIAogfSAvLyBuYW1lc3BhY2UgdGVzdHMKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQtdGVzdHMvcHJvZHVjZXIudC5jcHAgYi90ZXN0cy91bml0LXRlc3RzL3Byb2R1Y2VyLnQuY3BwCmluZGV4IDg3YmRkYWEuLmE2NmVmODIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQtdGVzdHMvcHJvZHVjZXIudC5jcHAKKysrIGIvdGVzdHMvdW5pdC10ZXN0cy9wcm9kdWNlci50LmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCiAjaW5jbHVkZSAicHJvZHVjZXIuaHBwIgpAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgPGJvb3N0L2ZpbGVzeXN0ZW0uaHBwPgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgdGVzdHMgewogCiBzdGF0aWMgY29uc3QgdWludDhfdCBEQVRBX0NPTlRFTltdID0gezB4Y2IsIDB4ZTUsIDB4NmEsIDB4ODAsIDB4NDEsIDB4MjQsIDB4NTgsIDB4MjMsCkBAIC00MjMsNSArNDIzLDUgQEAKIEJPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQogCiB9IC8vIG5hbWVzcGFjZSB0ZXN0cwotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgpkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC10ZXN0cy9yZXBldGl0aXZlLWludGVydmFsLnQuY3BwIGIvdGVzdHMvdW5pdC10ZXN0cy9yZXBldGl0aXZlLWludGVydmFsLnQuY3BwCmluZGV4IGQ1YmFhMjEuLjIwYTc5NDggMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQtdGVzdHMvcmVwZXRpdGl2ZS1pbnRlcnZhbC50LmNwcAorKysgYi90ZXN0cy91bml0LXRlc3RzL3JlcGV0aXRpdmUtaW50ZXJ2YWwudC5jcHAKQEAgLTIsMTkgKzIsMTkgQEAKIC8qKgogICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKgogICogQGF1dGhvciBaaGl5aSBaaGFuZyA8emhpeWlAY3MudWNsYS5lZHU+CiAgKi8KQEAgLTIzLDcgKzIzLDcgQEAKICNpbmNsdWRlICJib29zdC10ZXN0LmhwcCIKIAogbmFtZXNwYWNlIG5kbiB7Ci1uYW1lc3BhY2UgZ2VwIHsKK25hbWVzcGFjZSBuYWMgewogbmFtZXNwYWNlIHRlc3RzIHsKIAogdXNpbmcgbmFtZXNwYWNlIGJvb3N0Ojpwb3NpeF90aW1lOwpAQCAtMjkwLDUgKzI5MCw1IEBACiBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKIAogfSAvLyBuYW1lc3BhY2UgdGVzdHMKLX0gLy8gbmFtZXNwYWNlIGdlcAorfSAvLyBuYW1lc3BhY2UgbmFjCiB9IC8vIG5hbWVzcGFjZSBuZG4KZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQtdGVzdHMvc2NoZWR1bGUudC5jcHAgYi90ZXN0cy91bml0LXRlc3RzL3NjaGVkdWxlLnQuY3BwCmluZGV4IDY0YzAwMjQuLjExMmQ2MjMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQtdGVzdHMvc2NoZWR1bGUudC5jcHAKKysrIGIvdGVzdHMvdW5pdC10ZXN0cy9zY2hlZHVsZS50LmNwcApAQCAtMiwxOSArMiwxOSBAQAogLyoqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCiAgKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmRuLWdyb3VwLWVuY3J5cHQgKEdyb3VwLWJhc2VkIEVuY3J5cHRpb24gUHJvdG9jb2wgZm9yIE5ETikuCi0gKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBuZG4tZ3JvdXAtZW5jcnlwdCBhdXRob3JzIGFuZCBjb250cmlidXRvcnMuCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOQUMgKE5hbWUtQmFzZWQgQWNjZXNzIENvbnRyb2wgZm9yIE5ETikuCisgKiBTZWUgQVVUSE9SUy5tZCBmb3IgY29tcGxldGUgbGlzdCBvZiBOQUMgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCisgKiBOQUMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKICAqIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOworICogTkFDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKICAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgKiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLSAqIG5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKiBOQUMsIGUuZy4sIGluIENPUFlJTkcubWQgZmlsZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqCiAgKiBAYXV0aG9yIFpoaXlpIFpoYW5nIDx6aGl5aUBjcy51Y2xhLmVkdT4KICAqLwpAQCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgImJvb3N0LXRlc3QuaHBwIgogCiBuYW1lc3BhY2UgbmRuIHsKLW5hbWVzcGFjZSBnZXAgeworbmFtZXNwYWNlIG5hYyB7CiBuYW1lc3BhY2UgdGVzdHMgewogCiB1c2luZyBuYW1lc3BhY2UgYm9vc3Q6OnBvc2l4X3RpbWU7CkBAIC0zMzAsNSArMzMwLDUgQEAKIEJPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQogCiB9IC8vIG5hbWVzcGFjZSB0ZXN0cwotfSAvLyBuYW1lc3BhY2UgZ2VwCit9IC8vIG5hbWVzcGFjZSBuYWMKIH0gLy8gbmFtZXNwYWNlIG5kbgpkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC10ZXN0cy91bml0LXRlc3QtdGltZS1maXh0dXJlLmhwcCBiL3Rlc3RzL3VuaXQtdGVzdHMvdW5pdC10ZXN0LXRpbWUtZml4dHVyZS5ocHAKaW5kZXggNjJkYjJkNy4uZGNmYzU0MiAxMDA2NDQKLS0tIGEvdGVzdHMvdW5pdC10ZXN0cy91bml0LXRlc3QtdGltZS1maXh0dXJlLmhwcAorKysgYi90ZXN0cy91bml0LXRlc3RzL3VuaXQtdGVzdC10aW1lLWZpeHR1cmUuaHBwCkBAIC0xLDMyICsxLDMwIEBACiAvKiAtKi0gTW9kZTpDKys7IGMtZmlsZS1zdHlsZToiZ251IjsgaW5kZW50LXRhYnMtbW9kZTpuaWw7IC0qLSAqLwogLyoqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNSwgIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICogQ29weXJpZ2h0IChjKSAyMDE0LTIwMTgsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQogICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgTkFDIChOYW1lLUJhc2VkIEFjY2VzcyBDb250cm9sIGZvciBORE4pLgorICogU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgTkFDIGF1dGhvcnMgYW5kIGNvbnRyaWJ1dG9ycy4KICAqCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcworICogTkFDIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zCiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAgKiBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIG5kbi1ncm91cC1lbmNyeXB0IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsKKyAqIE5BQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7CiAgKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAqCiAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi0gKiBuZG4tZ3JvdXAtZW5jcnlwdCwgZS5nLiwgaW4gQ09QWUlORy5tZCBmaWxlLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICoKLSAqIFNlZSBBVVRIT1JTLm1kIGZvciBjb21wbGV0ZSBsaXN0IG9mIG5kbi1jeHggYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgorICogTkFDLCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKi8KIAotI2lmbmRlZiBORE5fR0VQX1RFU1RTX1VOSVRfVEVTVFNfVU5JVF9URVNUX1RJTUVfRklYVFVSRV9IUFAKLSNkZWZpbmUgTkROX0dFUF9URVNUU19VTklUX1RFU1RTX1VOSVRfVEVTVF9USU1FX0ZJWFRVUkVfSFBQCisjaWZuZGVmIE5ETl9OQUNfVEVTVFNfVU5JVF9URVNUU19VTklUX1RFU1RfVElNRV9GSVhUVVJFX0hQUAorI2RlZmluZSBORE5fTkFDX1RFU1RTX1VOSVRfVEVTVFNfVU5JVF9URVNUX1RJTUVfRklYVFVSRV9IUFAKIAogI2luY2x1ZGUgPG5kbi1jeHgvdXRpbC90aW1lLXVuaXQtdGVzdC1jbG9jay5ocHA+CiAjaW5jbHVkZSA8Ym9vc3QvYXNpby5ocHA+CiAKIG5hbWVzcGFjZSBuZG4gewotbmFtZXNwYWNlIGdlcCB7CituYW1lc3BhY2UgbmFjIHsKIG5hbWVzcGFjZSB0ZXN0cyB7CiAKIGNsYXNzIFVuaXRUZXN0VGltZUZpeHR1cmUKQEAgLTY0LDcgKzYyLDcgQEAKIH07CiAKIH0gLy8gbmFtZXNwYWNlIHRlc3RzCi19IC8vIG5hbWVzcGFjZSBnZXAKK30gLy8gbmFtZXNwYWNlIG5hYwogfSAvLyBuYW1lc3BhY2UgbmRuCiAKLSNlbmRpZiAvLyBORE5fR0VQX1RFU1RTX1VOSVRfVEVTVFNfVU5JVF9URVNUX1RJTUVfRklYVFVSRV9IUFAKKyNlbmRpZiAvLyBORE5fTkFDX1RFU1RTX1VOSVRfVEVTVFNfVU5JVF9URVNUX1RJTUVfRklYVFVSRV9IUFAKZGlmZiAtLWdpdCBhL3Rlc3RzL3dzY3JpcHQgYi90ZXN0cy93c2NyaXB0CmluZGV4IDYwMThiZGIuLmM1OTMzMTggMTAwNjQ0Ci0tLSBhL3Rlc3RzL3dzY3JpcHQKKysrIGIvdGVzdHMvd3NjcmlwdApAQCAtNCwyMCArNCwxOCBAQAogdG9wID0gJy4uJwogCiBkZWYgYnVpbGQoYmxkKToKLSAgICB0ZXN0X21haW4gPSBibGQoCisgICAgYmxkLm9iamVjdHMoCiAgICAgICAgIHRhcmdldD0ndGVzdHMtbWFpbicsCi0gICAgICAgIG5hbWU9J3Rlc3RzLW1haW4nLAotICAgICAgICBmZWF0dXJlcz0nY3h4JywKLSAgICAgICAgc291cmNlPWJsZC5wYXRoLmFudF9nbG9iKFsnbWFpbi5jcHAnXSksCi0gICAgICAgIHVzZT0nbmRuLWdyb3VwLWVuY3J5cHQnLAotICAgICAgICApCisgICAgICAgIHNvdXJjZT0nbWFpbi5jcHAnLAorICAgICAgICB1c2U9J2xpYm5kbi1uYWMnKQogCi0gICAgdW5pdF90ZXN0ID0gYmxkLnByb2dyYW0oCi0gICAgICAgIHRhcmdldD0iLi4vdW5pdC10ZXN0cyIsCisgICAgY29uZmlnX3BhdGggPSAnVE1QX1RFU1RTX1BBVEg9IiVzIicgJSBibGQuYmxkbm9kZS5tYWtlX25vZGUoJ3RtcC1maWxlcycpCisKKyAgICBibGQucHJvZ3JhbSgKKyAgICAgICAgdGFyZ2V0PScuLi91bml0LXRlc3RzJywKKyAgICAgICAgbmFtZT0ndW5pdC10ZXN0cycsCiAgICAgICAgIHNvdXJjZT1ibGQucGF0aC5hbnRfZ2xvYihbJ3VuaXQtdGVzdHMvKiovKi5jcHAnXSksCi0gICAgICAgIGZlYXR1cmVzPVsnY3h4JywgJ2N4eHByb2dyYW0nXSwKLSAgICAgICAgdXNlPSduZG4tZ3JvdXAtZW5jcnlwdCB0ZXN0cy1tYWluJywKKyAgICAgICAgdXNlPSd0ZXN0cy1tYWluJywKICAgICAgICAgaW5jbHVkZXM9WycuJ10sCiAgICAgICAgIGluc3RhbGxfcGF0aD1Ob25lLAotCWRlZmluZXM9J1RNUF9URVNUU19QQVRIPVwiJXMvdG1wLXRlc3RzXCInICUgYmxkLmJsZG5vZGUsCi0gICAgICAgICkKKyAgICAgICAgZGVmaW5lcz1bY29uZmlnX3BhdGhdKQpkaWZmIC0tZ2l0IGEvd2FmIGIvd2FmCmluZGV4IDZlYWJmMzIuLmRmMGQyNGUgMTAwNzU1Ci0tLSBhL3dhZgorKysgYi93YWYKQEAgLTEsNyArMSw3IEBACiAjIS91c3IvYmluL2VudiBweXRob24KLSMgZW5jb2Rpbmc6IElTTzg4NTktMQotIyBUaG9tYXMgTmFneSwgMjAwNS0yMDE1Ci0KKyMgZW5jb2Rpbmc6IGxhdGluLTEKKyMgVGhvbWFzIE5hZ3ksIDIwMDUtMjAxOAorIwogIiIiCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsMTMgKzMyLDEzIEBACiAKIGltcG9ydCBvcywgc3lzLCBpbnNwZWN0CiAKLVZFUlNJT049IjEuOC45IgotUkVWSVNJT049IjhhOWNjYmMxYzVkMzkzNmIwYjA4ZTk3MmU0ODgzYTlhIgotR0lUPSIyYTA5OGIxZTliYzYyNmMxOWNiZDQ3YzFmNjcwNzU4YzE3ZWRmNTRjIgorVkVSU0lPTj0iMi4wLjYiCitSRVZJU0lPTj0iNTkzMTkxZjQ5NmZlOGM2NjIzMWRmZDVkZjI2MTY3YWUiCitHSVQ9IjQ1OWRkZjUwYjYyMjU3M2VjZmUzNmMxMmMwNzZlMGZjYzYxMGIwMWUiCiBJTlNUQUxMPScnCi1DMT0nIy0nCi1DMj0nIysnCi1DMz0nIyknCitDMT0nIzInCitDMj0nIyYnCitDMz0nIyUnCiBjd2QgPSBvcy5nZXRjd2QoKQogam9pbiA9IG9zLnBhdGguam9pbgogCkBAIC0xNjUsNSArMTY1LDYgQEAKIAlTY3JpcHRpbmcud2FmX2VudHJ5X3BvaW50KGN3ZCwgVkVSU0lPTiwgd2FmZGlyKQogCiAjPT0+Ci0jQlpoOTFBWSZTWfzGDDYDKlp///+0kEF///////////////9EIAIjKYaOIqJEmBoJQAmoOGHwnPe9F3CAIykjKSMpIykjKSMpIykjKSMpIykjKSMpIykjKSMpIykjKSMpIyn559sTtYetPt5K7X1p22VI20NXbWtefOO9ZB5tfZqqpevXVa1q7zz3eF2TqbaTK2rdcOKPb309184Wdrru7bBXliSBoq9nuz0PZnY6ej3rOnXrXbt2XT09KBvfdkPbGt3dm73p99576Svu+5qrx0Hr0993fffffZ7w+gHqdvhfbdutl9t9g+B3Y3upxT3l7iMpIykjKSMpARaAHgaWyAJvtSn0dDx0Bzt9sJcwAdO6WCzfQPeZnp3G0BQad2dGhjO+r29Hoe81oAPcwlShQKKGvQdBoYpQiRIUBEF7t0h6NBQlBppKVBXrIymuywxeundA6dPe+u1673cfbuHtWsDuve3nlTLUD3d2lBHs3M1dmnFr7vdtlZFY+ldzfHD1t77z69jX1b3WBvN3dz7mm3u7t9szPN93ud9u9lWnduHt9d9I9Z8liz0+vEru5p72Aa13Nr7vcMgqAVQBOyimjIZe6zuZ27Ged6Z2HSMpdD1d7jOsaKW0SCt7vee24XbQIymihPQz00D0PXs00DevcVoejbzdJ5zXbu7dQe2o3osdM+75vZ2A0C7NIy36eEo2Yc6sA7x7gDu5549Tvt1B1s94872UU27vQDmb7s+t3m9QvBr3eNd2Par5e7BzbTo0JLp6+7754+wsOPdeV1SetcqeG5277OXbGrZjaPrW+97PG9e+97e8que7O317yz2zX3fcGHtMfPN3rufOsDzXuGk94M9Xj3bkDJ5Hp005D3saa0V4Rdmu+oUQrNt4txnxHb7vid2dtZvO7rddz7cd93L199kPWyz3aEM3fby28vavdj73oO9N8nWAC+8s+8++89e+98gvuH3RzyQCgBAqFBAjLTothIWYjWtqTmq60C+yreO9K63sG5jk6rtbe7F2lijlcGHrhKiO7W9g01j7t9fd32+++vo98CMpFvbl2oACj7dfYZfe3rvfH29s9720OXfdnbm69enLfYfd66fNCz7Z49Xdw426xXQjK+19by++92djPQ7dbq2G67ET17e8F3treh5z77eKbb72+A9tIylon1995x6ra2tQL6OPVarR4FdvXO3Wjt7eJ9333nU2TW77btSS4nXaGfbh8PGzHfI+9nrbfRX25fbcWtTQ1sGtVQL33dOhfbp4p113jvg5ddBX3YTpeF9a27yeuuwZR8++Xvd3c+9AMGtErMDaz7y2Ht9b7Ho3O0ca7b729s+N1h220uuz7cvQ99wMz733vmb7tzrL57sX3t931XefVNvc5dGgV6BittCXq29wO7q3ne6KCB5zg1QIdw5u2HTLeGQHdZ9AOigbNXMTQ9e3Iyn0HkezyNm8fF97ve6CQJD0K1VBT29Pb7777vV3QGN9fXeXDktbHy7X3nh72+3ntvn23bN3Vz05dCqKSN7tcbs7W+uUJ2L1Vl93ue5bR9lb0y99Z230NLucfd6vuvV8Q58r7t1hdvk+em6wp7CjT77OPZtroutZW6+i93fb1be9MFeL73uTfZlg6dkrza8e6vLwNvuhXj7uEppBIykIIymZIykEIykmICMpJpkGgTJk0RqT9JGj9KABpp6gNHo8lP1QSmgQRAgITIAIJqemiPUxMmkeqDxTMiG1IysjKyMpIynQIykjKSMpIykSCREEJiJggCNMTUm0VPaeqZTzVPE9Keptqmho2p+pNMnkgGjQIykjKyMpIykjKUnqlJE0gmhqp+GinlG1T09Kep6eqNGjCHqGgaNANMgjKTQjKSMrIykjKyMpIykjKUSQhNAIIylGgTTIIymZEwJhATAjLXkE0yamjSMpIykDICMpIykSaiIICAI0amEZCZAETU9qamj1T9JmqZP1T9U9qgaH6UeofqgDEMgGgCMpA//vov9S22ruBN/sm1JtbLon6ttq7lIzR8bbU5CyTJKQhEZAGKsMhAFPfFFS0UAfQrEjKY/dx+X5fn+WtWSz883m9juF31vHDzNZdYyZi3HisVcvVvdpzCjD0Kbe4fMz/UQ3zP9DC+AxKexIQGwS8GIFBALqvDDOplabylvaFGySOmWqskrctihklblx0yuY6xnfLfC043m9bpNXeTV44Na2SuvCZuS3cPi5wrMW6tNUO8Qrm0nqcQwDGv5+jt+3oPfebVmrNrGSubpVaVqksqhICISCgEIgMiiN1UKpBRkEYoA8goMyIy0jKV4ghIYgqNgQgI2IopCAe6CFEULKgpBBINUSIEiMiqICnSgDVUkEgFBgzEpDM0xIhMiGjGbRszRElNSKWMiZKUUxTbSVIytMkligWE0bUqKyUGERKBJmibKFsmMlZlBFmaJY0JphSgsaSKTYi0YoiklKlM1RIMEstJBUkgmDKSJFtpNULBmWbGliakYoKSUU0iRhZmxaNRWm1aa1UpJtRMmSZI1FsRS1K1jNMM2ZTLUlkym2xKm2JjZqkk1MLIokmotmRqRmtG0hGyaZoKZJRoKS0kFopSqSGbGJghYjLTM0piabEMEqU2CYQAUxDGYRASMtmSZEoiShZKpIEiliAhFZNDJESkISKSUlLFJkg2imMlKTahLUFmNQ2RUMWJhRRSkDAiwGSiTSKUTGLExUGyZTaKSZaQykiaDFkaSMkqUUUzDWkKhkUSwxJiQkgU2I1JYGy0SQbIKRJRUVEQbGkpCmbGCSTUmIpIyISJmRGaQJMxmEZKzLMDQlRiJCJISpNhCQJJNNLQYkyaLKUwbNojTSKNCKIUpIGUZoNIkzVLLAiylFBiUhk0sk2aZRoDUsUlmRsaMrJMxJIotAM2MskKiSyBsqIy1ZmjG0WaRslGZTZokprabBoYhMpjGmCNSZKTMjKzSUs1GksqVGxRMIKKTURMSZEElKIy1o0AwkjJDTIoSDQQlgzWkRtDNZCGUsiyZhSkKbSbJRbJFo0kySShKLJSMrI1gjKxsDAyZREUNkk2azGTUYxGCUqGUzSmISGyMtmTRFSxizU2KTKLIyYkoU2SSFlFTIsRM0wUDGiNoMUmTSkmYbJsmjJkKhkAhGsJMrKTDaCybJSBIRJLJlGQimmgyRlMpGWIwWkpVNmio2jUQmUEyJSRFaMbY0kzWRQ0mNGEkMIyo0hiAliWjaNSkzFFYmWkyJmikwksiJQhilkAWjSZDGUZpDZtVNrbQUVRRk1NA1koNlJG0UyUyTGNZLRZo0jTGUzTTZKUotTIxs2xKNIy2bKMpGaBChS1+trdGkLK0hkJZRkprG1orFoqNCZlRE0xRsloNUxUktUxFDYNLEUNKUhNJGsxsZCCoZahLUWRTWTIbGUWlRpFoWJkzGpaWYySKiwzMpqs0aZDVkbIqm2FYpsoksqMpVYpq0m0hWbK1mpSlNMNtMUKZEWNaNNSoktMo0RljaKxtmaNsJVZmqNVhI1JRtsbRsFko1RmiIVRSFQaLWNUbDNSG1iE1khRG2miGUokopBNFGGalEptSqNRskm0Y1IWK0yZq2s2rTQRYsNTajZZEyprIkzM1NKRSTLapailpKZqabM1pVKyVUoQmNtKmUpNqaVpsxaTQ1s1mZkkrLFDNg1JbS2lkLFqaUaIgMDNRpKNIhFGwEhGQRDEIWgpkmBTajakiUmxTKbY2lJpoqMmTQaSmFIy0pFKVEbFILSzGkQiMrNFMlMmNZTZoYsSEoVGxZkhjFKzUlgMbZlk0sxlMFSEVEwpSiTFgwmzE2IijUbElJRkaDSLMotTMbMSMtSsaYTNg0ZNixMMbMtQKaKEsUQFIhqU2jIWZtFRY2NijQjRGktNCRSYKwpZaDCSJMVkJpKRlNgyWxIy1NSiJJNmpRCVUaVTMxsNipTSbI2kyizSWsQSGQokokTJspJoSpLSZkbM0xCypbLNjaIy3KbNFEbGJsUmmpJlMmipltSMmUtGyUlGbAiSYJYiY0Y0yjRRA1lk2SlDExE1JCRaKxG2E2LRUaKNsRWmkwyTNElBSaRaKYBNikiBLFgtlpSSakMBUayZhpKWZDTCtGjYQ2jUVsmjQmWFaCIJItJbFQYxhhQNFJqlKJqxrGUzNCGo2SSsyKkoktGyGiLLLWpizJqLRjEysloaUoVGlJTQUSVLJKkplKUatiIytSRRZKNJVGGUbJY1k0lRY1VMxTKKlLZC1ioaSZskUmxYaQQiLFi0zJQzRg2kwaiTNEiqlEaYTKWzEUotFaLYqkhCoZJRoCMGMpUajaNpklFSAaDFFJhEmrSiMtLSmqU2k1FbGsVskYrJazSCMt0WyakosUxSgZIygxs0IkhMbJTBowZqiCjbGxbRsaU22koZaIKxgMmoqJIy3RM2yzajaKxUWsSSbalGbNkNLKxKoxaKZYqpqTTaUZRopRLJiypUWgkqKKyVktko2yasUm0pmUWTaNIy1GopKNFotttmtaaM1CyWIkqZRtFRrCgWg0mpbNWTGRixa0URbRWjWxaLbaNqhlk2tiLVNSs2omykDYkbSTGDZWFlKLJGzSoigmY2JIkkykmRELUm2LMtUx8v6L/Vf0W+5bz5dfzmC5ehh/fipkaSmbFP/TuFs1QtP8H+XVpFwyIy1KZF3qoiRMTFmU/7CLMOH/V/qo1ipqEi3ByJ/786DKNn+99REV7Z7KRD57OcZDcDxYqwaa5ZDcliMtWRiNM6MRWMdd2ZCpf/FU/FqhBZB+h3Qf9eo/j+ayy7/GlJMmhGxoO5VMFLO2u1liIjyOwlhBIiGids3cI66/ZezR+/U524mEZ6WLGfxIV3TjrB2K0cFGkePg7WmPcjeoo5DbrexrGWSYUlTG265XG12ngxVtDsUeETHMlCq7IaWlZKoymGBxaSOSpI15NgyqJKVUYlplC2atKgaoZcL/bRgV6W9mC5uajZLWYJbfTdeDHYxDGgm7VYRN2SMpbH/XA3Yk072bmkosEUbvOvFPZ2759vKf+Gj+ywMIFphDjcqQNar0SbMsYiKnuoyljIsir9n+FlydnbWjMCMtnRKl73aGKo82UIWhQwFPDOhX9+ckBcaVqqSWiWVIYj8M4zgP8Bl9lE4MtgsgjsMRy8DLuzMPAyrSOIe2USMrHYNE48rGn+mvizJCPAa4tAsjKzhdqCJEYMRjeblqKTXdzou40VzcyaQpNaSKoCkUgvgJzEhlgGEgp0rxueSQsiZaYEUFPdQUEsSlBjrwsgffBEuc8wWCHTthK+KklDowikhDotgElIeKv5rW956Xu1XUtvZumht2KNGRQfD53t6WRkQXUKNHw6RVo5YIjcUjKzSpWE3IDkBuDCMjHN3XYd100VBvkq3nnf7l9F3kS0Rr8i726dbpNR8Z3wXfOVeLGm3+EjH8YTj+ebz3x/2PxwWmh/6JGcsknfUx0kK6u28V567VyrqbXOW7+TPrGdz78wNLqIimpnEsDCq0ko++q17bl+I1z+kXP2+PTM3EVqs4O0K/TVzEmeShjrI1HG1cv8KnamqcBCuNQ7uNC7J4cdb96TtRIyvodCXW/V1PrSzjsYyfK12t8HGgUO2KgIAghT8GTmAMZ3uEM6tCikzT2XQMbaDp7JUsGFhaMh3pa9FjYf7rxi7sMYm2k7ywpYLBL063j7344ow9UConXWizZqDY0oKIteKXmsW6ul39uc4kUM1dnPPJ38/ut+DuvYYyb7HabJKMhe2ER7CQbSaexrtSC0+LPB6GXIjvSNRf+80veVSPNrejXC1WKSi6tWMfx3ouS3rt2fV3HuXdTaKMaK8czLJvFc1ysar9t5TUaffcGlkwyu6g9zajGf9up1/xVDiZKgsWklMjK3dXbEY0WDGIwmpPSkpD3Y65xISWNCRS2hkVZ151hMJF5IUJ5CFCS0lJCKYSx9mKIgmzlQVfgezyYwXi4yjfrmuQ+HGktkwvbrdfHfLzvOOxY1iyVfVP9heL3VyNr8bqEa87rfKHpeBh89Q0D/0jisCMAjjS498jKfHnVH+mic8lQwiILpW1mzPJCYGCiKkjK3v2nkbm3U3xLqRornEsVfX1CybDIUm1UF1lC4LB0oD2pLFHKVGI0kKEE7ahNXWqU2YaDNBA76otpVE07buA38vPlgzA1eDC07etWRBSTJVIwF4V1uGqF5KpFI8apLdonNxDJaj6MQbZWG2lpxlkmQhqKPiRs7GjRm+cFsQVOFed0Kzx7ah5syMpo8kDpfLtDEme2R31ivukPNkTPts79t+XzzXu6CnaBszj2oirE9VGMXTKjRAgqPlc2xugOcqpRUqJHKksOVFG/n63h3xUsPBJSETklEikJmgg2MGejyqH5k9m1MQwhIxtNh2hFTSHZiurj/uu9+V5YfDhvfaydUNhxxrqzCH9/pVqacgQnQJMak4JF6HO6r0m8unvg9aazZh0asmsGSFIIy0VqUuUEVvvouVi6ZaLdiNXKoPGiZLZBjevdENlZkPhUG9a73TFRiUMi40z/DJnGlCm/lWzfLjRc1e9UJHRen/XTtIUmPvIcWU5L9M4+y8I+XjPfgN5jMVDvvkkxxu288ZWMV43NSZ9VTRFOflp9pgCVYj81HNbSEKgNXqvCAdsE1g/dEJ85S90TQnYpR21INoEYkdsXSDiBcPd10hXx4Ur+BIMdi9B0L+RukeBhK+HnHru42/rcdjg5O3NT+dp6Pvx1kvKHnlhcJIzhlsjK0eeRmNbc+xRL7/39KakfPOH2mtAwrbaZu7GW0xO6pSC/D1q37Ghy14q2lCSCSEle56e+H+OiUFMYQXPqRHdg822ZqaIrkTtBTOt33PyS8VK4b0bHs0rQV9BwXKVkRnp9eXA0aTYHPulT+qQOGvZvjz2g14Q/xNFrhpitINNN7/ZlMeoQb12qx4Db2TbjD3Z5tXglR9dq68TMOFVg8KybFGAR1qlWI8fdZN3Lz5VNWIyKCHvOVcV1rKI7beOJ2zJRlNqtEL+79OJ/DJlYjN8cMYgrdNVzxdqd9XZwZb5tJFMJyGzKapOeKfz0s+Ljfezs78nBx4V664bpOqN1C6Shj2UYbXrRY5xUiBKoqUh5y8w3dYv+8JoBI7Y4ab939oxatUjLV19o4Qvp36Q0rz3AR44it0jK493Y7osQkwYe2qvT1OmYbiN0PC9RqtQf5PbIyvpHtZHWxQ0qbtxTdu6gx1W9L+b8W+91ujQqmYnvunIuvzz7chsigiA3OXW/ZCdZruzFWlN3XTWSjRe7xeb06IxjMiu7KxVSKPfUoiSCMemlliDlK9iBT3FHiMt3FESZYB2JXz5f7N6eP+p1tP5fGrI/3cUdj8mlB2QbiaPjaWNtz1qKysVulnvZ6Db+h/SXT2Vu2KjwpH2ppWLn682dP2Ha+faeP0ezt+/SgeE46YFH9kFPWeLdm4uGrJGa0dsRqjKs4CTm6GflUvso0+lFYCnauLsg2sWMj059O6il+7KZocX73wP1PyhopI0ICKOhUPtTm4hhri0cHBZ8cYlxny48LnGgmyB/RQgWctBf5CEe4kQI4wbHM5xg+6qUz5acsBlA4MCmJEX8298Wn1qb3UYuxdWAggsFAYZThgwWUMPbdPhqaMD92el0PRHAbcc8fO9cgR2xNeEQ6E02fmooi3dObNC/keJuNU5vJ4CECQ6vRvoDrVpjpuqJni/SxaaIySDYNjjnucjLZd7nIpodl/B41XFsUypDP2iC0wT1Q6Or7q3SN8SezylbDp0tSMrgMQz0eNclpiwRRRFlNAvROVVSHYmNRhKR0qumlX3MO7vj5SndxjFzLf4dcCudvbmJmTi8ju3IyuLKYimjmylE3o4XlC1IjjXYx0zCMQxnRxbg/57eF7Zv6Ys7m72Yd2qhiMr1MeSwiJDuQ/7V55xFEZLgU2Spjr98a4l35JN+EU8HlJ5/dRYYe+8z561qMOjJSJtHtE/FwtQRWIcWZELjuaaeeOhXhrsjpd6FYsupvDG/1zj066UZQZvXYrIsoH5I/2VxxgjLXGG1Am/rn/mDCzlzOV8H+oIHSKdIf71HjJ7SW/jJkU9H7Rcv3Wv3zKePEmUVbTGG9Q7dN3aNdR2PUT/9py9P78PGuiXM3IVIytw4WOk6RxonfsnYKbvROKfDn3TqzUM0EJt5SOkhFTjkWQPo7W6lsynePn16hBaryavTU8Lp3b4a5q9K9RpIy0xs7jus3uSoBkZCU5SIxGdrLDegr30Uo5YUJpVT3vAbzS35Yk0yh0szelgoo7xmyZWvgzrfZScSnZx8w/yZbnw5v0M5YLcgJOrkUzpgzrR1d8ZyCWIOVbHgpIcURWe12yt8FyEIyMteruJonl4/FRtnD4/suGn1e4dUcbmUC+L5h2tQuFz8XI9d9JOfDm34HjKCEdMvSbCRbiw5jo9qhfJ34+bsfhXqRfI7Ohzw7+86rsVVnp+2qt6hzMOyeSJ7KuhXrBceT2Onnx5yfT6cWG53aS673ICzolC3XHQvLi5gtdFkMtb0K3dZCIs9Dn2e5NuzUEzTRijZueNTZt+agxREb9epVN/X/POabFg66dZ9ZYSYML2Q4sISYru8Q4ZTYnzeCsQlB6j3b+D+N+unFjjyk9AnqiyTjznbAfEdiIwZhNQVlUU3Q8und3dmnayePLBYBSHFkPt91hZhpIb/bUk9r0eta1qOGmORKYHplauQgK6hnfVYjxYHiMr6zjBMopUqJSh0d7qPBp4aemc5TFNSs+G2QUzQo4yNruZ2zBrhM9O5Odcqz4SNBxNVG8tziIrTEdWepSPiOG3TRERttJu2wR33DESCQ/6hzpDyaciOI8er/SzcD4fPV5WmcPn1uGyoaIdS9b0unt0szU42LPi2mg96v4tfQ9Y+XvCP75LI2PczWlQmoLq1fDDRrGTHZm9Hq50oqKOKKth16ViLIqjomt0FMoQaqkprr/iqz6PfpKDmhmCowReuEyd2Np3b2PYwmEberexJi7sgPP11smGi5AIODXDKmdGH8HtmzTJG/KhJ6U64Xa3CPuiKQ7JMIX3/XawVSLpyPNzfWiGKXP+Idilv+yfyujhb05vlyodh/DjoiXKt5lC/vhD2qRseLgiGUr+xmtcdcCjKyNfNNmcrn44hNYvzT2SQ20Sj8ad0hNwlPWpD43Vx5IZWZraysUMSt6oUT60sp+e1edcLofvnPVzWo1k+HGFZjjrUkJfX2VFZgMYxRFm4mgPPF3Pi1xxfzxUvheuDGjIWiMrmc69WR402lsh+lbPy+ESz3QPMZTs5+EIRCTM7s6O911b6aduQ7fpsenY9ejTB0NwZml2hBy6p8keCbemyTBRC2Ea5RhbKTvC1ziorM7kxTi4w0H0eECEmlDouHOud+Fi7Y0kJmhFuyWwZgTCFAixGIiRgt2Xmm5hMYLuKKHahlHQo9zzdWYqg4Ow2MPo0YfsQ13zNRnt154wqzohR2VKGb1VTajdJj/WytgqyF7PZZTEw0Um7TjEs9/DSxjB9u0jLfZwey42lj1ayjPZlVPpiWtYrXI/GzOdUGwb4emv5yY1z6aN45GHOxz9miN5FoL6NKM3Ppod75/hhLPWJfLnA6yemyg0hh5WShJ6NXrZ3CtqUFYBZCKrY3S0gofTz1rWKJoG3GaKIhWStKpqgWqUTTTBdIQHRqMicyQaaLFBHtyaYGMTGtRKIyuSIy0jK42Mdzh66pesF1SlZUq8ePFydikWK0tANNFQTbAS1pjVWWX9fXs9IzU2ZxS49Xs2txCnqTmet0QIc8EkvEnSSWu6KnePq3k0f4bNmdwUPCMrIyv/w57WQo237dv8P3KoaqsFeadp0kS6zsNx68XnJlFxxM0Xerp/z9tP7rsoucXWtzQunQ54UJ+/DCCp91aWdsEbzOx4il+pUScahMzH0tFaR5Nfg0cvh8NXc3DjWF9dzetFPWcbyo3ZToXuy0N63bBRzdFLZSJQzRNULYyNOTUS7ZFkcZG8dTaNfpDze3n7644y4BksSqJXSsEIQbF8betPpXWoMoFtPjh22m35L9/eWjD5Oz11clFdHpTbjpueri/vvwv6YW+u0fyzgYOj7FRHJZLyCyzVSOypoeGgaF9KkVZSJRcFLzXR00P45kOFMJygpmG+2iZLNRC85/NTnVQq/dyG2XJx9umuXonAgKEXIMYG3X9GXDTqNipqjojyclkPLe5jXftdmKNlF3TKqe+2BF0/RXTF1wxnNPql/W6NcWgp1a4jKwTcJop+yddKb4KDayfBwTm3ctcRcNVke34zNDA1I2Fd5tSbXbS9Kj7vjDe51KTid6F8Xu3jt456SntxdeZerUTUjIo9xCL7Ya9JgvJKZFkmGaMLhXOULEXegrVDjxzkC5do4E7NlMkrdf410CWeXNuofKzh+3Gec85x22al+ryLIBz6VOWakylMJu9X2pqw30r4Na1JMQQCb2uw40U7ofFxxVY3WPK5Iys0iul7dlZ+SaM7FrsuGeHyvhjLYCMtLByzWzDTeP9ic/DSrWnx7Y2GBZF0n4OsG9yerbvOHbk0rUt56hQhD8fP0/kjK2JLHaH+fnmT432S9iHn+uNRhWp92ymMU22DsksSMIXo7GeBiiOkkc9WmE0TZ1mTNWNvIPUjpO/OvQbLYVh1OHxLcGZpcXtEFrGHL09x0jlaFFIeMOFJn4WCN5Z2KhBUmmgoMqcjCWwuVtead2FWCIrQjWZD5OwzUiYjLdMxTY4UK9kkmtPPRJ/E7OY6oXY3vDnvyjjxveSrk/MpQz1wuiVw5pULRKZn4PCl9CYgmofi5A7Y4xz0dXJlrna78Eqco7+TPpJaEuG+p7zElovMXui9dhwHc2yopmtM3otfZmezVZfOM46XSYF84yMpx+ZmAbQzMwIGbZef6PbwN7Wk7OmcdYVlvBK728SLCNr86wzwqb3W9GmJA/mmsvhjVbKgjj0wSozOeL5lD/K+mdJuqo8qrTG423t9/dfBQgUkUgRGB76ULf7KOry99hXNIifwgpt6KHhIQk0nUSweZToaZyc39fDhsr5uRKMjKyMrnnCyg3QpjsbMRRrsZwgrJqEDvjxJFX8cKBzEqLHk8+Kzx8njIy3xlfoT7cY+zGEVxv7qrDPqC+ZelJleUGpjyovlCdzPCIEPmdN+iVEXIO3l3HXXSYpF4eyHXd/n5vHbOM1007cjLZoywUxViurCQhnucz23Qqg5m1YaSh7jjiMrSb5D4YwpLtKvzJNRcfW9Oco/qoF1t+Y0PIxSVqzwbIXu3pjYpXVQoWZePxd09HloojzT67jB+yXwVrhnbOsWRJCpsf1YnJ6Y6nUf8DT7NEHzvN7PHn6bkuDRS5FWdBppNRvrzKrBW5tClax1csixjBNRQ7RqqIxhi78m60jlQ41aGE1/zzeuuF127XrjJhaG874qhUwo0kY43u1lhzonTthAiin4qYNficlJFP1a6MpTSvVMGl0PVXbKnD3VhTpOXxs1EfpmavgvzfLtzd6OKsZuIyth/OMdGbxn/lCjbF9P9/+6HfVyYqMRMJkISxbQRC+S5HkQ/NB4MqOdsNFsWKEMm5HYfidvzlarftEXrk433Mu/f03cGVDb+CqG32pYPmpHh8P5MBIhIkhlhOr/htzc7MSgtw6z2RU34eFeuqtp9FqgTaUuOwuOZEU0d5A6g1T8XKadFdJRIyv5Q6PRn83n+as5ujWagZhv2pyexLr80T1purQ/ApRIsjWIQVpnQ5cMhypoFMXOkmXqoWMs0NZISSMRWCAa/zYV2dE25H926FvSs2audPfnjiMrFiMrCGDJVxbkIy3iIynf5ZqfvjbCwh+e9t24wNulIy2IMKOuH6ttzH/NvsafVNBDkRM7X3qjVCaCLFigPc+/8qCQz9u9XSaVuSUUzOKmGVcaV4vEUHdzUWsM0a/bzXJW3olQJCo9lnDhy+6dEUer7i3imabySgIRqj8dOvHJKnTupzxp6hy2mG2IqSLCKtwIEXh0bj8TAXb36/DkNMtA5wVy1wWYVxLQvRS3hFbNJc4+7liJQMo1szMD+OyuE2BuvphJphOzxEe++vV55+edU6LKpY+4D/ObB3iGYCpCZCarArBzBtLvbxLRhqoMK7a9XUtdvhD1BTs39/7I+z5FMDH9y1gfTdWmHdcjK84mawldQ1BG+MVU3P+nugRvrhVCHwR0/Z2yKddd97C+7vuR9rqkudT01tZhHFT7ZQn+LkUp/o/kH5QqLXz3aOU4fBsz16LKyP/kt0ozUd++NjdH6fDniTZINELJIytdWVuJTlsHnIt6eTopv1qDQHHGYcOk1QJmxp7o2iMtcSMtWZm/4fb02zqqMUFFYxU1/I8L3x/U3rxZ4deKpm/4QfXf6urOp2Zc0y1ZgcVv5n6S6hYjLcSf77/V3YdU5yhfH85553/Zlu3fDECKE4mEgvcE9aihRIjQQ4laozJvt8tPylWc2qdtXyHktKa4WpEC+UGrSSQF9CHdwmVR8kyNUiaabe1Ds0MID7fn0my5gghnOrd2YcHDUtp0dK1VnKtb3V5xqAPKu3stfvPHw9sBmVzGmIbQtOOnPSP5nqAQyEjV8YpR0eDuy7zmlP7PrjPw6xFh2TQkjXVeMHg+yDQItkZl8Yl2P8f7rloUQ5tREvfbaMdfhz+SmZhAePnZbs0wMFAlIMJzv+Wgtk1p6uF/hg8xAzCj1ozsOHK3qCzQUxgz6RVMZg++6ahmfPT28XaR74/rz/JHIyuL6tBlYZncVdMT9CT1zaOk69ZHOWjQ0S8E8H2u0BsTW23YfN2okdNz6Xk9tOYsjE9/9P2YOLcWFlDxkICVJx7uEBdqyGH/HoQU1PYjyK9w9MNWk4uXqNU6Wncs8Y5oYe38c4rUaaAmep9cbPjufhjov9nOMrSahU5ap17G1zVViy01Iytao0dL/Hj/wgVad73WS80TNhnzrhOc7tmmXUdF7HbvND0ze57HFO4wi22e2VFUIlXYWSOSoeodviZmYNjtahWOSmWRiCknRVd2qZasNgUyJnMQzkJx3vP1fpNaE2F+Szvmpb2TY/epNSAO7Lvcg0k66kwzdfymz3/s6pak5bQ/UilLQqjZ1iMpYkUjCMx1Tyh+Gvv4Mbl5g6IgOm9wmdo39bUhCXzwY6Hz1DMjLXjDjczOHR1Pm5pfv33UErjob53gIOCUKK883h7u4j5zLDjRKJSmkFKES72nPla18z79uuRWErpG9WWcDn196KY1kSyjxTkC2O/dhCk2OzBku2QjLRPSzt+oHhub6vs/x3QzY4leYJ2MIbDI7C03XyZfCWO6SEQel8u7+97UXG/nIU2/lXMdYpCCbOzoPf2t8vqmm2Ycbzqyjd9NFmZ8nJE0oCTA9Ww5hfDE+956ySMrGvPbtzcMtO7N7O1Q7PfnG9FE0vYdcouBM6yDaW8gJ7L/N6zGOtKXBDKAlc2nRloG2IWs1GCZugsS2cWt8WKQVZiihSFYrMZhRuwGNSOIWY7ZotZocbWmkTp3v8pBT0npmfhdRod+C/5JYJEECA8sd81QhCWRFIMYgIsFh9prjOG+w3xqnUcaG/6/X+mSQN8hJuO24osElvn24uBpBnMVP8/lk7RtdnM/SQissc89asPkNQhjTzCyzv8nIyl7cVybBCAOEQiFLAgOMB6D686y+S2M2Odx7Y37+5Ss9Ez39686741zPli9GO8nWyOXclFps667klff/XyZ42z0y9f88WX8dcemtS6U8kGRNrhzARRw7ZWBIKbBzluIbs7YGJoRjoULFGyGKeaai3EL4ew3bFz53ED6g+Jc58ukBNu2MGOZ6CMt2Ri3anxXl4uZvCMtdC9V47GDM9U2ENH7nPyXCNKq+aoMZ6jeXTR6ez0JfE3F5NKdPJzth52ezIl6TaeOlc16c2xyjaY5b4JwTHU9Q2zrihMvLkcgPSH4mFAuUdfI15+VNGogbSZObMvO0S3ozbDZgdZDgpFOEsqjY05MfHlLCSTJhMOYXJtyMEXOXqFMR6o4EJGxWlD1WXYgal5dn0uVT+nV8/GrGIfttvZ7pKu0710Y2PNyEjiMcuDo/FvcM+3grYb9COszniMrdx+ciW+x6SHyXovYwx3353Npkj36Doh8enVSUVNPm3vq70+6Mr6692aGXRxMIy0qPOgxIylj8P3fAzlJFsDmTaWq+e3Csf4SHySz5FBGZnPs8HQ/jvsa3vW1tAQd88iUOfmsNUW74TVkSCYf90ChQjvTE7apYmHsF70gKaSs2TCW4YrFRRqhh3VedyNMSRod27DluVEyQEIzC9YsRVp8fXiK+7hfOpXlf2ccILJTDHNJSEUWNWFIrLKwDiFmBELRIw9meuAxnSFZS21RRcSAoSB7alblKKIcTSj26c1isN3zstiSXaEwkEu6QcRxDGAp9KjI9SMtKTkk/1flRWzA7HgxxNwUflhwOS6I4WHCG+aIjHrJAWLrYZrgw7W2EXKHGKvij1juxxjg4ba9ZqGP2Q+XdjomB2w6bSTaI0QkW6tYN9EtBLIEfRhwkxcRMRAoiiB3mZhvPTjvNGS245iIYMO6QsKRPkeUdfXtRjDFxDpkzrpok38Yv8O2QPno2i+fOTnCRR34/vCnn29TRRksQlp2Z211T/xsfHf11oauL68323gMyRmvXxf4YOXe/qmkjXgG7EoTsdPjc0RHFLWn/jyVMY0YODBrnDUmJlM/xjUpNIiHOFmg62ZrQmL5pqgjLUDPQ0mc0JSrGJCooVmuNk3Iw1h1N1MrrvFeLfSrm0r1d01f2bIgdZ8kkgYisVRW3BVCWihOcq9odQUiEPDhQhmI9+lXddPzdq/DEXwLOxh19jVdLEvLt01ekVr7Ft4BKi0UzY1mpVeibXNsa+bNo4aE3jCylQY0iyCCNBtxNVgZR0oJYJCKoSLCa8axjlWvlPL11OW2OMiQ7M+awlfv1QgEak46sy6lK1yiFOK1roup03FFu8kZvrGPwW9c2Il+iMJa/sr6Bnrnvtvggl+70AcjKe5eZmNu/YWOzeBh1af1UU7L+jW2zZYGqJOh4GghsIRj3bMMw/5OxIKKw7KimVdjdEHRb66Mfk8vlzYYotzGUGPUdi/yYtdqPuyo0/HiB0RQMbn1yWq2wCFXL3O4lvTa6XLkSxNeddXgnXmByzKs+eQ87/DPVk3WYrRqolLulVuXaMLKhhAnqzFM4c8dNTJa7VS/LeVJ9c2Y45wThQajjLlsV+bnEkhn+9/ghs1j5bjPPl0Sx9j6rnPK4kLezPzJjND/Hm9Jq+rrIyuY0LzHBqjpONkc8bmGYwjXkziTMGy0HSNPiD+imYfnQ5f8nZ46reGxx7GR3PQ0fzX8mZmDV+x1NZJ8pJGynfua34RvsU4jLRIhYbGMwZu6Iy1Fs1FXBLn8ek2acGQ2BxwSqJDb8pJKBDDoEtnkTkljH8agu3Yx65gUh/eIOP7NMPAvN8eGCI+r8Z1m7VGMPdUgVVIh+TKNCEDQTeQ5D85dLKx6B0Oabjwn7CFyFB6Ki4iuTBCdryVIHKk/sTXBTNVN/bVhlOMTStM3cTaeutctKznVgmK93YZGquIYgEjGFgiqdrLZArS6DLXmoYlprphiqxGwotyVq2A9taTMYYmxWQcBoZEQcTY5KgaYYkBQoAXAzAKhQPSqgMaRjAkYQUDIBStNpWmqiJNtmlFRZFDFUKAiTImE0bBMyLE0NoonIylmiII0Nq5YVFZTCQaSyQYJI40jK3Br7tMnZmtcIykWq+Ztjsfz0q7xPMDpBB2e16o3/nc7rH8/pxvfY8Zjoxr8SyBqbojSPOcwNEu09HA8kE+SbFoxTibxJEIxuGcROqvs316vAjnDkOtC6r2xHLThTMAT3PE6wyMtz/N50YwMTkW1gMhzkKxVrVRi+NG2EZZnoaLHipeqmzxN/Th2IysGG89kCbzOtQLv05UeP6DgwblyEOQdQwSTvPa6YWHUsW8jKaOxUoqtMNp6p8L/bcvBfT46a0yKiqiopmS1gfsV0w5dO2MYfKURGEqLbjxIoMFG11M+1kpYeTLc6K3j9SMF+2nfVH1XkMYd0oIr+LSliGWRdhdOTJp9dcCqMoG942SjTOZis7nN8FXHKxJkNcCYNvMkgZTBPD4pzhlnGIEhGDAPB/txgZme0P0Xv7XF8Dk4Edkl+pBmutEmyOGRUSMtFlpdNY7Z6YqUUSIsgkSCkY8R9avJ7bfZ/pBb3wnaMYpdDrjSxxrKlJEjKbQ7tc4l/lrfq9vD2vKSQPr2bC8EOab1bgQ/qqjNty5MjlkxG9krPO7qRiPj1vN7ftVvZjBh9OoWGEVCqDriU8sEez476cGnwx/YeFHFn09F8pSuleHIn6sfEwwqbD/0ZINwRy0LuWZe810tjsy/x6b/tN2Z6xEdzAWRQIERPY7E3awr075b5uNkU54D6pC1VW55zSV8ML2thK9mudpbAx7zlUxnVDQnMMVSwFkUWSMpwW5ra5tJFrm3NaNty0ojKyBpokB4lDMCDGNmEkfWWibGKgULjuwYFgaJhIuvz45wcTmHz2xo73GFCAjxKTmuxjMMbV2uv5nYzdA1ZSc/WFPsPYeoJn4qofWAJSqHR0nH2fo4GTfnl9GgPlbgeT1keTeS+3gMiRe7cz0yfZ7Ixt9s6e7mKmOeWku2OoZGDmUjSdFFTVjVGsvrUfb+fW340HJnP8j05ui46yMtVn2u2VDsfjsduZHDlbzVFfa6rwXJwslJinx0bvFw0/FqMNU6Yy6cY6RH61R59YwZg/m3wGUBPBPB0z1f8ITCCxgJ2RMPv44nE0h0v9qoSlD+6rUuYzh1/afUX6fIdoJO9Id4onR6ZXFZPDG5uDywKSwnIIiNVA4hJ3lANeH15QkX228Yxwi4rURljgXJpBPlo5ei+fkteE+fW/ziu190KEU9/I030d+bdDhj5DQY2ckm6N3ychEymf00RDW7hiMrRB1GidXuN9fH8cbKqO+/4bGkxMok8wv5sejp1ZW3r5Ffy7zrvDruLuNX10ytl47eUsEIu1H0Xhy+qVAUbNu37n/dlE+88Z6fUfD0b+df07fw29vu+r7ItmyM3Vkvg8sdRsomdS9JzQY9Z52d3IVV0Eg1RiJRCZQuyDUhJB7KDxnZcdWzvPg11yLStLA+GrDNgU/D6c0yoaxWpItTV6X1XOOk9xGDjCMFHHporbUlhUXHOnT3L/g31msnY/Mvm+nuz2cllf9vmK7ykdpaMkQQ7LM5AUHGTOnEq1Curzz1VeSwiIMY00oabgTv1lFjehlpGQLJSRg4oSslgOMn838jK39gqhupo/8iqF7Xf2WrEKkmz838n7OrT0qoZ11jCQOwldHvLC2XA6n4i+c+t6vc3bp28g5xKDFH8Zvzetet/P32+3mxFhUjLTWIz2na0EUy1JZPwK5kxIZsqWJUn3OMxNJaVG1/Y+3O262KKyuXd126a3NvBX4P4d9RoVv0Htsh29JcWS1/xwPzKoKbptS0VBUwTjQHSd1FLRaaQsE/ahYhhn331uaKy2KKLETuq7uqupXst41v0167Fj8qKCCYQmxQE8O5+275ZnmXWzxcgFcGilBi1RR+qFMVhAhH28PjP6uJh53vCYkou7QiOktNLfxG5Xq/va62v3PXURtojLFJFh4PeFlH6EyyX/XVjbIIiMihtrm+tWvzr03pt0tepq6m3pJGlzYh4QRLkFcBikoJCCPiXH+j6L/NDDwOZVqoJbTJabxFLDDKIaMhTBS2VUonc+BpdwyJj/QaSH6s+IPDUz/fgs6YK8SFEvysf52eGUksZP9pe1YfVGWX+0/pp+5qxEyfkf6mdmyNnVNtBgEILZpgIy2bH45dj/fGt4YZT5Ufiyks+aev+3eK1yfqfVOqQ/aZqF0UCQgdPnWwjjXd0XdPsrf50FS7A0hCUHMJWYUJId2uiwg38Q+5hUeA4yRTwfbfp9+LN37Ee8koH/ZlBQiCMMD++ydThWHUQpFQiUNk7CjGF3hcRMdZV4o7el4/tCs9cFp83uTOYl/LDCzpIo89kRVKUn4MKfn+qi1YfuaF41wE2orDAon+igNVSYigwTzaiJ/KlMgsDCHz5dv+jg5aKD0wHSh62Pe0PfP1/XTz+TbT6Q+LA+KP5eOH90+FW0XFqocY8Y90LN8SpHk7s3unX9p+FP7fmu5jsJHIvIudfa+jLPGUaPloqX2KfD4j2ECzAwgW6HzfQ58WP4cayOVvX1MY1UQ5bDq/bOAcqCIjK7aWSzHGWEfM8NN9/thZbdbTGkmoLmFGIy2uF3hozc+VU/1UOHMjLZNum+28LxKDm21fAVaLPqmfhDpW9aoPTd/OXh3Ub6PZIyt3FEMx1H6JZ0Krkga8tMI8j9mV1m+WksSvSdghx0qmu0z4exmRIfpoIy2LiNMGO6h6qq0PFixT9alGlT2qNMPluANhw0G4ECMrQlseMSA9ga7zBFTE01O2TkP011UZ4Qhwzx9nLdWyosh19D6MdHjiKLmvkqg2ObQ13GXYrFiDKbjrueRWaC/OgojM2w648k5jXIPj8zt+9Wo0pvrOw8h8iIHpJS5JSQ+beVRV7H625ZLhRTd8Ie7T/Lq+2fA2HVo5mPTChBExwJv3dqdvDuKQtCSeXT/148qAsEhvJroMRWRjkRuwbzCA207CAnP83Ys2ZpsXJH+Lyj4U5Tjr9L8tS1W8HBMEkv4lj7IdpfqSeEPt4xupn8sIxvTUnQI5bZImPXuJcCONSaPoPTTyehPcz/L+7RUzmdHezFQ64VCnGvORHoSBxCTIRaIcIysIYP44eSBV7V9RZGpNgm0daGSKIQE+E9wicpCPZFylOL3IoNFH0/u+OdIjylrjQWVLPAS2C5WbaR5O6cyc+pMOmeRpr0cGC+IoEGfhCU198xGmaYQGiDuCB3abI10v1KXK9cKcKAwBMhYOcqxWavXU8QvXI/y5oBEtuTtxHcUOlzQRJJiRU+q4eWp2/WfxDsPH7+5XnXRApWLCnyAS4waplUMVoCQRhCEJJJ6vLqS48+Rz9cyvzOfTtT+tWH7a/PLKbIlHGf0jKdfycuteuJIOddUsFoym22SxJYgFwYS/g+Ug4BGTCQQEzOhswlUkh65mhEyzZSMrlosQH+n7zRf509K+LP/Hu3bO7s/s7KOGqj0ePBvq9B8iD6gOnhZz6F1t7La/bi2P5W+zR8Jv+y6446A1X0nrzXVXmyJn8dE4lGrK/CT+QUzSjz9Z+nTrzZy7t1X023Z+f7J40rhq+t7FOtP714rtezChym02y/b/KXITy4uP2LX1cJ/3Xdc8+eqSS0X7NDkJfJGN68fSpvyzNl8ZfEbT37LPo1+EPMvjz6/uIm3Xw28u7V8k+jy7iW/fiPuuIysxfj66aPLs0dvj5DUYZdufz+bQePNn1HwY9n4Mamfog3p/j8Hl0Ww+BpMgVeoMJ7l9GfxbXzY18+m3kqlQV39MWzX9HbI5nFbmne3ndvKUy1FRwHP5dGs7dPJvu15Sy/RLIysU5Rbq7ZeiNUNOyFNV+aOjXxrgdP3238nRcdu7M2P8qMdEa6iHhVLpIlPjs5tWvRwsulgaqNskSrbBWLc0CPDnPOWSPi7qrPBTn1cjK1vp2dgqtMdFY5ZHWuf9NGMFh9VhXmptt85fQ7cnhn7oWZqd2Zs/jqo8kHKPtx4c5y67c9Vp8TlhjI16+JbOiBRB4cg+chOSKoxj1PKH3eyDa/cc1q1bHqXi57ubbZ5aI2mzZ6dGhK3SPyKXh6tdvfbq9HL4WFcOSGOvM8vI5DhxdtESn03cNvDmoqOTjXdr9NtMdb1JlQRXm5wym3jphClVL8eDsoZ/+MbVRt4e3jGZxROuU4Rbp+LsayN08n9P4SNfzjZzy+c9PHr/BVe/1bj3RM0M6Mnupoln2p6NBhAuNMqvcSj3P+NV/jysKodGPyHkIWZb2sKvFqlKExxaquarIymWe3+/2Kks9pB4UhhIMKOv5tN2Vh9mOFHRsjr9fjj6TmLjZptXz9/i30UYO3L+5zJNZUcuA/2vq92z9GbBrZGv4f4+u8p8WFeWdTK6KIr+Q8+amq/w+SGr0l+rlpx969FO2RWaNDx/j6rXNpvo9sMlqbyS7fowsK83TQ/4xgL4NEPgqf0csuXhxojswhy/vs810YYjK8gntSXoqhqc/z9NBXmZNuc7IlmRm0aSOE/TkHVZlrv11xu83k/jXZ8eYy28p7TZ/x/ht9/X9Hw1BtP07eOu6XDn00Vw0+Xz08/YcdkfH+sn7uiBJsCzMQbvfR6vm3c32U/sx/YyTHoTjQF1qBFOISZJk7mlEGKzwyiv0c7tQ3HVBnFDrEiuEU5EmEnE8/GPv9PrhJUH1Smg+FkWAyMrYmByygJkai/LYRj9Hw5/aGfczflRw6zl5tHyebfbvP7/V9fj+TX0eQs6jzd+wgfnibeo7KZ66Y61edJHf9TIpq5315atOvRq+X6fItCH2cf8+0btTHR1V/vzc539vqp6v083A6Pb+ft/AsIHIdJ5Dl8XKfqOZvrbaSa/RcwO36/02NCo7T4Pi7d7fT9v56N9ePx07Ytk2rRy2+2lvY1LaPBv5Xc92u3LlVp6Z9fxfAvDXmD2fgZ6jx9gqEpr0izxHZH0mhde82h9/yrxNU3R17YjKT7h5CPcn6IwbmEfpo1Qm09UKT+QyHZDHxfLMq7pPPoZh3ZqRos28h/NuB33fwkZrbOrm6jYXJafh3nf+VK5NlP2qCf7Ib46ReW7q63z8Y/hVvsqSpf4V2VXV0svhR2/t/ThZU1KO7olV7Hwz3+TiYX/HrFPk6OLafPXdv0nigzVMfDVZrL/TopFoV6gwJocjuxzQZqYbJ1waj1wIFt2vor0ZzJlUWKsdGNkUrswUg5nFZwFZLItoINSL0NVStaeip4XSe3SufHk0zqroxuS9mqjj8HFUUS0aNN3Rlbwxo4jKeUbW6k4m1Rs3Y4pTlCDnVw+mEqG5IWZNxhBTr/s5I8k8UXmeuSSTkLCQ3HoJaQzEvkbZ+bfp8lZVm2egZY3R9Gn7r/Xv7Pvxj9H2HxrHsmlOsYPxE/7M5I+GbbR43808Y/j8Ij+MxHY+ff8fs+XWO16J8g6LrSp35w0MvgqzvOVwaMdzNbrVwjfZ6kzGU876CgUfqchcPMW7IicxP+vesameMohqok8MISvve4I2TDO3mPOOzSYzSpZJ01awjMiIl0UnIbzirCZio+nTzOXdy9wv9X79+I7s+9rbsxgW4leGfTwtqmYasccZzcx8/bA3+2v+HYT01lu/9pFsTgTQq6HYJaOOyYR51oGyzEJFj1qyL6ZFUNO+ZAky10VQrbayfce79W2wQnnj8d0PpNuGk6OqqwqflK29cjo7dVNOejVd1yqsqsbiJvzwlCUKuIiBwkXkIzT+KjfH5ND3oKDDFnM+cLdGRR+zqrvKsqv743dF8F8z/moqx6UqdOvZw9/vnUpHBc2hKqEJdl7xF21ckCHw9/plRr8n2HN7svDZ6Di3cWmQjxGpfj6NkNcDzLbHs/ZrH3RVck/6ePql8mPRbwu7fRdvi2h5e61l44d0G5poR3XHZyX23UmF42/j+MfTjb2+b0zMPSaTGPcGJsUueRpOPjSSlwxP5eqkrE1BPjiXo7fNfyXkf1k5EGpqx8VPyU+hFLLp9FT6VzkOOPyVX/7/kCKbSI8sG+Nv2RK44v+SWhmZcyN1tyERT5YqOxEhBuNPD79YjGjUGGaWCNpYRwRBzQorRUqSY4mgK0Q2OGRYSCqo0oONwKIoiqmpE2kYMNs5emttba1uJ0gliMrKODMhMWLWCDitJsjKzJNGIsqaTSboSMtQtYlpqSJGNuxjHAtdPLSzXWSlQUm8QwLCflj/HjE4pqZA1E1CRt9kRD+dC1OLJtOsX19Z3N6zIbkZyMpEQQf+TjlndYfmpjJJn7Ioaay6T7/860M5pMXQPE4nGk3Lo5qIojEzUwikRAcdAORHJCO7KnjbCMr8nOK8dpUCLWHC0fh4EDRpEg0ykRI6OlA1lPboWhmmxkGmNmKorVkQ00jK0UmnanB5FEiDwHgzkBEYED+qHGSCRQ8KL9fzmLe3db8d9fZRdo2e4o+yXtnyrvPjIND+PRfXdlQ1DxLjPVoWfPEsnRm9tNfya69Bx/ZXRjp0pfl5/DE8R5Vu/D6/JlE/K+rfu0c/1HTQxE04N0foz4jKzLsqN1VfxWrNOMT19j2Wnbc+NlWHqnMn+2F49R8tJEqTQLeZvM0WmkhV8I+ZR8he1h9p4uj0fj+D0efPo8vOma1kIXBP7zo3xBs6sd7fs3Qa65afj4leX2Tt37uXn5sKN61W0LlS2flG2X8ZNKTylKEYvGuMLiBeQPDtwl++7un30fb5P16KVyd00Tj1/wfI8Xvr3I55L8vH8H5qK4/Iytc/p6P4Xc/ZzU/mZum6v9dH59HozEwpPKQlU585aRw2s3A8XvcgZ3aIy0Uv9J2BFjNOc4ycKz/LZ4w2MP6nMY10iGFYeORlhkjLU0rcYJY2laOG8FcBddSjSMpSNkGmAxkMOEsYUzFrSMpxTEFqBjFOKLplTLberteLcpm1Nk2TaYwinaoxsMWVgwFtiWmVPNKWrt5Usqdxzc1uat0rdebxrvIKFgyKVNpsSIwqViaaaMuLBseFZa0p188RoQ8nUle1JvcKb5pswUZ6h5bxseOqmvOnmWXbpw08qjjTo4ow6SbzvTjVGUbMJwUUchAonBo0QUBUBiIVgQTYi5IMa3uNDALMGMhILIrICMr6sa3bTPERzslNEGQcBSRSlQjK5jQZkGso+JjpFzUoaRJxUjTwpkSwmCyltxSxNhwSBC0OG+dC4ykCXSIDCiVEJciAhRG61tQu6y6roYkiZQUoFEQWNLqYCbQiFTxEj3YGPtUVuzSZEj/IxVGJmoqq1NOV2ESahRQ64LDHWGATLRQJZWSg/EjLRGcmdwocU47TiMt9bDiYM01qSomqoq9Wt28Y0SLk7hjC6HwcOPuhmKKPbqdfYylUG3jAstPlg9VMEeo6XsbSfBjVh092b+dHydVHvbuXcaduHayW7qzeE/qu7tx643Nty+I+eJp3WXU1VXS0DU3f1hotXQqpOSxnhpaG7CfzaMLPlt832mkPZ5dvu/dc7+vkvtxdt35ux+o7nzMje5V8LPXPCNSoZ2fmh6qY9cx5znOMiUJGq/q5DvVvNWuk1vHmyc5hFBcV7J0KbTK7vku7PNUQjVt6quXJvXpvOeyj6BCoeB2LNt8plHTbpjFJ9NP6rKKBVFlXbJyyZ3W8knDth0R6dY46ljQ0KAuYQGGhR4y5pvCiRE7MPYRNhIFxmQLEQEdqke2y+9yqmFYcBv37mMIe3QowfMndDpJJQg7u8L+5z0TbCw3lztBg0BJoXQPRwjX5lwWDL6f40eK18xo+KHGZcG7co5PCcFo18koxzcH3eK2ktxx88KlOYrXhDpJTkWOOyMrt83C4+nXXWcgP2qklDzLgbhlygwkKZRGBasjKURg9Ywox4yTrO9elUvqnC0STwOMWH9mIy0I6dNcLufprGxljW+5eWyr8Ud8eG0rpsTkos0PS4IRMMjAxZjNJmaBb0UBcAWKD438FRk93ezlh/82f2W3XgMseg8Ficdj8SEBMMssJIeHU7Nb5/s96R7fafL3WN/TKOe/B6vbSU7i+WzbC23VZoC7PyhpeozCOFP0SI4PVoovgZar2Xk1G3XNmqoncxNuG2Srd/FGSSW00XXMqyMrOwOTWzw0cdKhLU9C1NYMmqvWpj5Zys0bMPFNTvipXzjvHhSm4kJaI93dVf8vyuObUzoggPcJlQzuyS+Z4OsabaqUGEhHEakRYDUS/wsVsSn/LzWPZoWxhWZxCWRDGVhXGil8P8vH8n/E+fT5s9nxdh9nkeh3unf29Hyy+SZNs7iZhCASEhkhDIniaYqw8ckoVvyTQTB7EzqCV2mgl6phjEGSZGhpWGpnTGMGbG2FmfbknIzS3uCGcU0xGtGrGBBiiSeacrNMcji9aBWFNkKwgyMVx5hkSOSV3LQaRUYjKwyitRYBV73oeiRTdO2bQVoa5doPd6OC40Gq8jirZbqAo7d6wWdt4fExE0kYFKR1lYNFocF/eRkM0RrXLRlRK0iPTDF1MgmPaI2lnFueBsgVYMgzq+AZmSxgvAOWnrQzjVFUPb07TtCLWVjHAYwbBxDLTU6aieiDBsUS0Vo5KLLENBTbKBrU7UptGjuVdWI4ZqLaY2xVErrhWNMTZDtTVMSOAydMFwGcNKGjFXX/Of1f7MklhzpxcaKm4Znu4gSSEkhJBSehEbahI22/JzIpjSgUE+GQeFq25hp99koGzBl2HjvgwiMrkyp04qKzpgWDCdO0WFART0U6t3llRGerrDv7Id0/h3WQ/PTpcucSR38IexYJaUsBh77szXXudA/bdfZTgu0yhBHoKRyDg7IRFEv7ebjUxmEeB6j0ee7nX26MID69Fljea3a05Z4dsEqz1+pL1I3cdt3nuO1uwS6xdwg7oled3nEFtCZYFx/KjMEUbSHC84MOW2Z8A019kAxcSPSi+ZcYXo4aCSlsTAsTo7XUiODTkCRkSJGyjUNZg78rHW9IJ0ioNnXApX+/tFwaShD7N3mdrGttM2mUIHfrhTvNgxuhA5qVKMY1hwXFiQeCFqo0tGihRY4BiGG5EXLdhgbnOruuIytYsrlv3+zHXXWxb13zMKSRYwVNamhC2TTREFGT/R8+bx7v7T9lC/Hlxpp9sfk7umig5vmxrjz9tGrH6W7u81ZHd5f4eFfDqtgIgxxYgm5nboIDHNA/Fht4svHEmgkXLSgUjc2OjY67T7z19rxej2t5l8KOaMVFL06nNRjQ+SRjq6UwkCGya0MjG3BkGM5kGyjJ0IERpblGNaTccRCMhhXFV+JIWLAdUTK5UWscjTgqXgYq3XsqWWBpJxrXbeZ1a2ZhxgbNELxq7ekS5mIzJmBZKZUlsGC1phx2pW+ANDOvTStmlrVDRY9aVWD5b0Y/2NIyrmVLEsQmWXwozZDiHENypltlj74zeByggY1SUWUjK05O7CS4Jkm8OTYYRDjRwYb4odakKlcL4smTObFplsYvA44mXI2OQ0Nl7zqWBynEDGNPSyCihFHYpN2SMaI6McE9Sv65vWf5ry7+1f6nHZee9/dx3z5B71RH8sN/o8vViO313sO5zFKNk/0iJTG6vGrizVbGxm5uVmXOhNqp0xURwJgyyak0TljYRgiSUHIknY1yBxdXb5DXuodxqRBUYv6Yuxwvj6T8aZzDjs+R2k7B17yPbYQseyBMK4PJeacWYTkXqQl+mAlJL+dGzZn7G0Yb1fkgwmzIWc7MBOuAxwMnIykpDgxVkWLTTEYHhLTUeQgoyjhqFxxt5ysfWRjbGGw1N42rG3I2YqVbzDMrBpkbZGiQqpVYEIOMkBtjpG3Tg4ODyStli0xmnhfFZqtfB38jK3cZKw9duMYsEw4gu71mMgzEORNoE3ZKzDasIy0C00gpFJDugRSxhmuaxa/c8IadY/4IiTA9BpSPJwUlaYDYcYD5SRp9muI3lwJEwUIG0G04cCMLfOmN8Md4oTSnMUyxmEJxMSIHMuGgorN838CIlYftYby3w5dmTIjWESqjN0d8uGcwwj0YXkmJpOV1cCyXYEmdRBuZ+jFAmTO9lwzmzg6m9nJsMoSZpTCQkwd7O12UL58bKwba+XznfF4C7aB0JNa9OO+Zehui6cDhyrZLKdpCuNqq6gbIOwUmahqLfgPLlXYIna7YbhhcHEHBZb8owxeDBDvuCORuIK3CUPMZuhN2bWetdFEQNnY1cEQoRJyIjHao7a1MHRu18b5wdXWE8AkVo4mJZLGIuznRg6VpurGd8OCzSucBNFNmsHTkMNwxIeWc6aocf7sZms2zhNwdc1S4KyMrSiTBa8BbGIOCkFrI410uc8clNmcCw2mRqWyrMTbndNOcdXJMOLi5Mk9KqmVq1AZbnJQcnZnJmkxGAT4FESPWH079O0ReOJpd+pATEqRW317fLWWJA3lHTzTTEYnncYjBxoo/v8u38q6xh4smK8b33w4suzxbS+6rcxxd932OuO2295kZbc+p+4sRguo4cvA/IyuFWi4vnSxSpsX8ct31iy/7nH0PogmM7JHIvE5X+oiuxqrnfeCMnQlsYWaM6rjZcNTyvGZXNRxTqP2Om8x5JV3EdwVqr726m3mJtyqfD4FmWeCpjAZUYxHbVVnId8k1OdtiyUhQnSMVCZSYaMQPH668PMaWvKTMjqjMiJTdMNVl9ZiHMu/nrCkpFUBRP3dMZMzQ59dDw609lUrry3KN4wTIEgaeI5IclMu/+6u2X8oeL7zNP46d6vem4fJCfsejsPCRb4eHlX1OnhZwZfMu8QXD0vJaumWp5yEPmRHWHMUm/p0OLE95SlpxXBnk7arBollErWP9ETR0w334a9Jz2fCM46N9dCxazyw6XPFRx4QPTddFy+Xtk4l1MkLZHU0e98vGnmnmbGsckNcjLVK9wq9r28OvNW9ce3HnFQYzxw+duiEzRjDwn0XeAxfjtYFR0SYva7MwqOKlIUz3NunZ7dCYzUlJwP+pz4b7ox0GmTrm7F3cJtnNqLrQFCxRYdvlXc4LWtKopHOzRMvHTtqlMUXhbHxyyaGdhIHGWUX5hOEbRMjdnrm3wu0iZwLO37RhRzK3dI7Zg5XDKHDeo0LTPKBQ1eDuya2OSrU4PHhnpt5DyLX/DyQR5/7NNF6+mqI1EkGfOTKJ1WlSBG7x5VdNtSmEon9xnSMtqMDhj1IeA6Y3GCf6v1jn8fLzK/L9ktJpxf6kRhTpbzeoj9RGr9Ks94TqBC7irFuZtDODmov9SJQMD5/M3iQ1YweqX6sO32fNC6b59nQxU9LmmNBxBQb1fbzUTmeL2RsGYi7hW0bFCXzevrUjLS7r8CC0eKdd0CQeb1PGOaFUdsPGvDyylohfOhYeWRKMoVVmqXlWTW3WlUIcJu9VA+DcpGMG0ee4BIO/woaiM3RcCPGpvJZyDCaxkLrlgCyKUyjLPn8f9b8rN9EDUHjMF4inDr8O8ssrEkhGI7odh8+TpQaIziYo8KP233Wln88+osztdAcccNJAbxbYkptsHJuaQaZ39gaSmkWqdNk4dUio8GlScHTOk4XKxNYQjbw5YTwxanLA6nA60dV9R7rdF1KLcQz8qq6iL9Uy2sTPbQaX5/SXdz3sejHWXz3yeHNPYbMY7edXLVVXXvdz++IaSiMr/q7DnO8GCcLzxJDp04OS5ZJUUPLECFSUVvHzwOH/G/bDVnek8xMevHufJZgMWcq1mmfG33teoiQlmtJBLC4dmCMSmEpPSgsXIyOW/kxyNhsvSS22EcM5CBzUhIggvEErBlD7isO0ddmjSaNXI1MigwRub0yoKS4TurPY9/9w6H0weD1fen4f1d8gTBTwRKJl35E2rJL6PQ8CHfCf0NWqnHlJNdc2hCpShLSIUZJ9icwnqmNi++vHa48jtyHQoB1wEOXB/UT0Kl38HTAfiy80BGG8k3bb6UUX854VCTx3otMrdbjygWm9v7KKj4lktZnzfCMrIZ/JWT2b10naD1PaJJHtx0mexal/Apk+/UL4fTOkaL113SsQ1pEROovCdvGZTJabIyvrpmwtuy6eiKJOgvUIxHy6vjmt+4PQlJPfgr3QWcD0eTQsLjtDsJDoHSTMEQ414MmPPrxsx3Mms7aQOaP5iXs4vqTy12of9guI8o5aXsy8W/SHekDKXKZrPOYxy2ZXotNZJ/xJ6ZKQiMRxJyNt9GBeyydg5jO6Iyvu7PpZPwiup6/mS9+tQ6un/Uzn7G914YsbJKodUK5zAUpMSBDKFo8aMSF0yN498aYMk04FZ7aQv2B/KVHPIe1kmV5YQYcdnRbrH6Kb0TwoBP9y4DHyd7Y+PGjXq3Rk0Rgx3B2IFGvTL02KzDJDOSYe8xTdRlrUufXZA1NotMOh04fduuFxzv5bb4fLXSMr88Y2KiAlqrtfLZti/+OjK8iq02T7Gi2+pVlZyPLSu6PMWWqKeUOQbNh7LiUxeTxQgbESYWdWF+6UZCv+nyYQ3FdlHWrG2l5eRJQG3D07+ThopLyDbLI06BEIOSMrsHFenEh3TuIjLVC7X3skIPkeznlT6ebckE7GOUXOCTe2gvZo4400EXaUle0HosrTuRewv3xI8U06dxVcRyMpxYP0R0gM7SEmKN98oPFK22pd540sEwOOSgivxqmZ4FX9cj6cfVuLsnJy/U/X29pYzIyqwpeLI5K3iZ6ywTU6JSWxmmdZP/gW15CaOQxwbiwldHdXMTUV7PKJ/Z9+NiLahrE37ZH8xNpUiLrZHEN+fl5Z0i0Ft/czjy/2er7r1pRfc8zsNwaGGsy96Z18UWuwmh3PCCeEjweB2xFQZiC9mmJOIMXxP0HsXpsx9O2jCN3ayu3QMW780qabZDltalrtcpXILhfUruzb46I2mR12w5rHypVMZnYhx4h3h3/Kor5OXHsppxftcyhXiIz8tnv8Mew92RrGqyMrJh34uIZ5eM98pYxt9RhstCix5YShcQ9u13cFv3fDdpnvObMPmScRLyUkc8vzZTNh2wQ/2WOa0P8VlN2dwrk3kTE9jgh90Scqih+cTCjHOJ1wObXZcSMruY/KAunDL7PhJKEuu9R44mP5f5bnr7Xk+vfE+uu+n6cPnBAmkTa7+sFwPlRSIU3uULET1Zr5kSeOu7ATDNYIGGCkQe7NoXkm9kEeUHE8tV+RJjjO1S78z5rm7o1yjo3HlES3GmMpI1NWdUvOJaIXuqlb32pt6Q7+TtjOVbXXU+vRnBhYjCNrorkjLXdobjv2EGqbCHpNia+JQZ51tFFo5WOQ/sjksiiWdoO2UezKienXnNe16F1E/lrzU0hwPMe/RPJu42/a/Oy9u4iy5IbiXTVjP7F6xPEaTxTmMz3xxpez3b5r+6JatY9iuyLbb4D4JtpqUIhxI16N+SLMYdPBxdY9mdyDIysl2yUbbCLSyqZsYdn27YKuDAQI9W0iBmZoyPowpEke19Hpm4tQiH9tD6Uf8opiIys51czB7esnrePx6diRG6MjKet6mEmm6caWU9Ky1Nimke5M60Gn3O/u9aapqmvCbfy7a66NoXs5zZ1jAhwSHtKANSjjUySOB+DYEfyw+T+ED3j04r05l+euc4S8FfKJUsdjg88+cjrGkuiJZaOGuyNFkbx6VbvQHnUY9nOiks8jLUc0RTifzh5+Izv0saDabWM2xgtHyM438G3zMU3qtlm4HOZcdMuJRcKyqMhbih8PUPhEVEjaOzs2SaOZtG4iRJ1kPdymOVGEBLAhhdXEgXxJ27dEtd3FWYZ3oIjTtJU+hqRsi+wOJz5p0euNdZqROkn7S5KffnbSHVrZPwF+LuZpvgUVD+Rz3znCRvBGVEEeQrrCMYdUzLKW8HvDreTDZf4Sz/q/tSvgWg+OupExz5HJEnLNaiDS8Pjyealsd/SxLyMr9sZIhdhvQDmNdDAcxf7Hciman9Odw5oeKLM488FJMZjVJlphfY0Y61KZSJeIz8DHVfJPnjk3rKN2mZ5gH6yxMscEREtyhhwF6u5QjEWezjKPiW/KowjmKCOumdrBN0vCKt8MNFoRlzqTSp0hzxW6am1+TMezfPZcHzlzq46qnRVUv8uID+iXMJkGB3p3x1/q+SNml2Kc68WJZdGzl8PyKpFKG2wqtVlc7KvLLNekRe2h0djyhPdRmnbQG2nONAQyG6h89jZVLJXVNXWJUCiXYQnHm4WYKROe+2NyfQULyGcqaESu2LqnD9BCETZhz4fPPmuM2jVdnboUVt5d1D76fr7lUK6wvlVfXLGi2EzB3vVJ9eojTGjbrI5CkFXe44SewgPL+/+6IyuqvPrI1XVPdwLeTuIklRbhZWZs04NSIou5AW/J1J+FHGiW1fCj5Lgbz7118t7XIY+P5/PHJvXd81+l7xbxwCuoK7Jks2XEqjOmUVOV0nklbOOPXYXk9PLTmuf3QuWi8W4d3wsnzT1SI35nzXRvLqGJ2ZTIxScUrH6JukTup6as7Sv224VizbYYJltcqqyhfqoHrL4XzHydPZ0RhbxhxDUUtThSURe7HGw1rBJXVJaqoZKhYZ08bNRcSzz6tvoR2iNu6FD4ikR+6IPbo/+P9tHb236hzmTmOsmfUmCIhI6diPEuWJucwe9n+x6a/CysP03786mm6ZP6JdavOO3N+OanmBEmKJET78dL1vWDRjzKN8Ye5WbfhKCttHjuwqaKfCpU575wUSEJ5ckzmFKwc4Q7KNAunRRv7KctSJmU9NMtbm1aEUboZrTG6gsyqoEFD55wL6vFfTvE/dWPf0vVViRbHfyXLeZJS+c494MG+o+FHDeHJhXOY84jC9V37UQYSL6RGxSJv2OftifwX51LLpt48l9fCT+nTxrPxVq7xzKivxp6SdysvmjCWqiUB+Wu+vuRRZGmmFiLJhQlg7b6iyvCrXusqYSjugyX8X3QbKBfdTDB0aefPaSrRRQc6JKUs1T3RNedrqdQy3FSWhjn6e16vrcrHr2LKKCusbXS81cOvJ55VeJw2/p6+eOel9lC43qJF11/LPpBkrOOiT8pcGfE7zmHjCgg5Xcn3g730NOz+HakZMtcb6ag0dJJujldd9Vvg5ss5ufC3IYGXmHME/l1MZqOL1ohYUux3FnTIy0pjCMrfTLC2jEfiYVfpWxaVyyHVT0ZaoXQ9/X14nHYc3uNcSyrg7C875m7hGHd8fBVhDE8dMcfNZ5bjV48/n7TrmNj4/GyFru52cn3/ppji3+nnGJO/s5AcHi5nXbMPax8Kp4I7s/hOtYzz89/msLywPx094rm4SZ08/t6Q0v4UZ3Ruijl/l4fPN6IFrUx5Vm/frjftxMsbSV38Ny3GHXm+ePljiX29o4nr534dO9mCOy8+fLExfnBxud8TUKiHTQ7KsHmoc8fdxPc/kQ+tKNxPq56dekY8tR6Lvucd98bu+r1rPvuDqRqPgPyFka2SEmmzyMtlXCFW3HLTXPTa5YyU0OdVeHkuNGNNOUh15LpHLOyyNBDvhpMn861JkyOTHBti1WF5RPU+HKOcvLXhU78uc+q/LBotOnekQtpckkJs1blM9eeN1hVFnu59xfHb0+ysm4zncCdBxcr1twty8/HB9V+9/6stysGw7+MBPxsePP2ET4nyaMq0bXX0JQR5y6ffp9X2dMdRGfGVMjzxHMdojb+8jz4X7c6LRxXJP6hcbznBmX9kfPZOuqfPTYV0q0uOc/AkrnIpq7K9ceHiDtt9rH4h7dPoHTxnj/Ft6ei5NyqInnJ3zNNS1lEA23qnWsMdea8WjthmuXHEzQlQyxzinLSkdVNMp1nWdjxKOrhnYyhOHRYbi91NKwcPvjzpsFxZAwxqt0CpBJBYMTghWDg3WPHPJHQprNTyI1WTyojLSCijsfPvyMtqKdtl8S+1nsJqDQlYfSNePaO/SMrb7/bFHtuM14rRSVdMvPMV/Oh6Kp591jzeJfC6GjjCCz3j2woqI506oeeXAzXSz11QLoV5lYpY32R56K5RxssqjUspUzMywuzY7bKaMHm+g7dbBCfJZ4XY6HmIy2T8+RJ6RuvepJ8skGq7XxriDysdf7mO25wDs6GzGPf2Y6SHpeY7i6zvr7aC6fyUa7Qz/OfLC38PqUZ5odBtHxYriZK15r5bjmRfQjy50wVx94PGuHKF+COqtT7v54qlkUHWWTuuhJjhvR8d7xOfZ2df2fTO+TvFXJbYdVD4S+Gr+rzY54xd6352Db+viEiVu3tJCWx0L8o37eODGfn+Gb38sb8SXLmv0kmS13Pxc+Bf1XPO/Nne5SlDis27bvrA8g7puzms4hnC9dshi5ffjk6ayd+OYnjFT8Y4xPp0PXOoGG7Hhf6/3dFd16NF2WMpEbX4vO1EXFg49fbCDNmzKRifbh4q8SnIy0cKmDBzMkvIneuzuC1d4kx1w9sfrKcwz+/xlp963GY1Z0eoQya6jiWiXZGS4XPhrIkNo1x4e/hD8CmuNen1HeLM5O3Wu7l/ddduz1PstwdfAfR85bSFl5ePrzSyh/d6AhK3ZiI+bm+SihWvXWCqRH1vMdYrEu7U6YSFEvDurJMYk8lCV1EYWY4muJDju334Txsvigj3u1t2YhST2z9nS59PyiOQWcdIqNCiN4f5v8FGLyj7CSTf1nwwUezfColhYXVNEcEB8333+Vco91fbSR5aP2XTKU1w7MjK8oG/ZLgeMvzY7Y9n6fDu0GPXWols67CquGrkP21nLKUW0o44naWNxnt6fCUqwKazwW+sc2BQQnw5eW/bLwouUKqo1xa9XXPoo1woqqNtdH7pWFJT6HIIxW6zYqEwRn6U8ohstnRhmoeq6iEg5rB1O3VjKqtP8Xxz36u/tQ9Y+S+9Ni8mPPNn7b7+9uMM+XLzZPTXTWqXdxa6Y2sVVio/gIzC5vS5qrfRg7PC22LtIcLE3ctyMlwWNVfMRYgJgLJwiMrB8/a+qmbbk3uodu6rkV0crHCtUzhIyvE6OyPRDXIzyMtrlxvuhDerB9UePbKcctd9+/6IKen2d569GlAUvO8Osvn3WGFbuxtfyEHO1WWBGnv5pcjKy8/r5Fq0H26bk1uiGjDP51aWlqoBxI8dULUXHtH45BQ0njv2wPJ2SGRU1m+J92c9z5e307aPfm/R9HmSuljjZP3Vzwtq0f1WcaWqFnRdEih+Z4GFJ17NNjMYS3vyYkQgStypjYrEURXe9MYCNtsbK6Zo6ugnVyklfA8EYNPP0y66Yip+7+vcn39oyfcY7n4eDHHV5Na4DFZoDlLOUEjK/e0eo0IlJNWpT0wqrMxDp20X0WzfFs1csWHVOu9tGZ3s5YSsjgspZhQaSdGOM3aw20niqvhk3vly4HiiSfJF+3jJJbu6Pl5YiMt4cb9EfVXNdKT471zTXlPOT9HzRQj3+b14t568r19e2NHnjzi+zqzOoFcW88Ggttrqv4YQpsq4QllxHx8lOefq67JebnrICW1e8zAc7dnF8NeIae+F/VLSS29yQgy9R638a0dHF8113uo6ccS57u/xw5fNc0SZzG83fHRMfzb9EdF1ree57r75EU1/bjfWzFFGDvS/StMbbJvI6q/UoSUiiZ6R4nUtvJrQ35WEr9J+77N/Wkt7zAT67k+lD4dukf0vBvKKSupoxjEQkiEHaEe3WR5W3EP2FFuvGDUras9N8o615o/tWuJWmoEyBEXVGRlFcnhgHQF9SNVkIO/vdmqTd8h7eI7NDTdAxRtx+WS7XCDHUmZq+azMyzZp3NYU3EUNzrVAuWKiHTqr8I6l2UnZVG7iKBBpO6WI75oaI7IYwlLuMadxTRC6ztWuVe+juwJQv67Ybb8s4u6rv3OGiMrAh04JWmW8yTfX4a+7s9+azw+PTJ05PIOdq7e7hZaiN4yHMUGG+T80Z5zMVSoGo5ad2m2hU7dB+Br+nnytud0DhZ1g7Ze4H5e+Njow68jLW5rrkpyEHNR05K89Nb1NYrIFnPueFbu9L8jLYSCmFs64c06lx9OItxzLw+U/+F3YrSb59dxrT7TZ42e58rqVXrgie6oPLcFZX3rt35556rnh8nWYlExA7svj51BPh4hB+4ae+ynvjG1sMvfm4dYHziEnNLd1uXRrLymecPCPHIfXoxVrT7fghffiv5sX59R/Ly7RwjHTv4kkQIYSlwn0kLJ0UeGrFd1u+1/eY3N468Zg996gyU/z8/c9bo4H4yTrxJHXGDDPzRlfBZlmvywZjZ8HwsGTuoh88eCVXtFkfRyzB2uW6p15Jvph5t7t+L6PHAnDu+jL+Js90fnh57ebHXVdH/esrrYBfHKsKpCljGu/VhmpcfjAxUUJaFbbWOF9EuGRnF8ynzEt1ZPIXy5VAkITOLKY9VxAf8X8sS4GZeyM5NJ9nE2/O0Lx3j8c53NfMs+rAJ0SgQkQvNMo4UPcnWiqbNkm36MGahLIynGEi63gi8v01sOs4i6GfRbEis2SzPDBXLfRTCyhTalWQkaVPQ5jo5Me7b0GaZjPF7ZvP79IPya8yj4sL7NPsbXePXo2WrH9UTa70/akUvaG4lOa9ZyvrrsiPXeSZZ3pOuFvi2wr9vX8zpq2W0fKG5+Kc0mOEXhz5OO3KYSn7OO3G6PU5dGRO6bTfZMzJnpPxVNSO/PnRQJjQ+cSIzDxLnRb9Ae7dODodFZtOOqXAnbTvk4jCgeE3LVC9xolqeKQ9zwWuZuRO6bGtA+ZyyYnjSUkI7c5XEsKUzOyR73t8ImFZmdmQk92+jbbTSi501kk10VWGehpSzukEwYwmZqBmPOXCouTxy0eonSW3fQWoun0ZyHvbJsNCQe3nwDqOQnibrSlo4qs87pNC9r3BznhNkqjOl7Rrtv6pDM7v1xGvRP5P6bG8JWHpazvPshDsdydTbZHqUPPZpBnRREWlGMejFXaTtTtd0U/YiouB1buyMtZEuuZAk9Fx3f00mXrLdJVd9YaDlKKgOy9WTF3fWdM3dMM+F/LbWzEhM46HZMYK6E9Vt0nDBp1ZIy1Pqso5Pm7EVIgoAZ7bOerOsu3hj9/QLry36lFi6ZjjIodJoMdP9u2zTs6MQcPZ/fOZYxrLKrK+dM003jwyMpsHRgpQHeGWzVfnpEBq9nfCxdJx39fMcwhKyhnlbdWRtvaqWbQwdVLrmqu8zuk3ITJuZ98t3kwmaG+U3bZ9/oXtNJxMhLKDwLcCHJEclOxdfD4o3sedcjvWpH98Lxzmp+VE7Oymncc2vMSoTizUc8Y6NEvZqacJ0V1eJ3o6j95XIraaVTgsHcuE7uShdtthtL6Dy9krTgScveX1nR5iNMbpkh2eFPSFyk+Lzgknt35uXPTQVeSU+6xs9DTGadFg/L3kzrlO0XekoJQzEGmOOmok6TEIvB+4z+aBaiioZ3ROVr6NXCGhrM8M+pqo3xz1JzPyMrUcS7IXy7ueFLO46Db+ax51QXibaSYgnKvR5ocz8ZR0Wv5+DyXQmkCDkT4fN5LbO3vaV/4y1SkuFevUmYIiZN8aG8yP1n34fMLs5GhKcjK4rSW5by3Xmfz666a2tvhb1xNtqw5fb7+nbMsyDiPelsIytGH3dP675H5Avsb1wthdDJf3HWBxk+7/rFQ4IwTuWxJaRV+za/gNRMwVk2IsIRQgUUGx8tg9Yh2mjC0IFCG6lwnSMpr/v5HMUCa0abDl8oUZSM9BWzeZX0nUV/gvlV9jKW02jaIZY0lXy1gY6RFNKcv1jxxph1UYlhVD1sJx8u0bt3cTMVz1Uu2Nd7arVo/oV2aH+UjNnAPo2kkQ7oF+QilQPM1x9cRqDfa0l5wn5Gl5QvEVXjN9Xw45cxdRQ5g98Hbn+B66G19LRSqGqD8T+cFnnSRRZwVKZIFmtz/c+Ghr2pPGEJ88r9alD5W2buP46Oz41/gDy10+p3XW41NaK0YKPUQFrgfUPr3N2bukvbyPRlW9IpkkztMelQ5Iboadxx1ho3vr8OSq494rseIyscz/ab7yBh910G+r6QNm0jO11lvLDQ21PToyMpWxreznajY+fbScvTRFJrkBdPyFESfwzeBcmlT6A+KIhT5TPwDFwcQm0QTZCRVPpAsJT7DlfswPYzGdjmUiftfvfxVXSIYpvuImEk1PuZ0mO6b5Z01CSQAeZkUfgQDwjpAm5oqfbp57zyMnQtr1vJwQO7whiVhq4G8oy3/I/07PZ9qTxhIUUnhOcOq5rmRsjTZFtz9TM+bPLz7qIrRQOKGp4ctZUGmU4D4WwVHIQqJla0b8xPT/jTQd6keeN+AZkFSAeGEonN16DXGiYYQBCqX1bG62ChjOgaBNDiE2KYPaw2Qn0Z7xNWT9ifRCbJwTLSQ9L+twN4G/5/+S22NRBOwiMtJx1pUPHqpczc0OUjLdZwL2YFRnwSKplkXvIObKgtPYyslDqHEMWVyIN8UUEyIyuBQHWpFPkOoBwCdtZAB63NohwjLVhzoQHFWuOMN9KYMoJb2cPTqYbauW/GFYRDcTz/kvY04jszAxgjnNz4vfZVuftozfVNDyMtmVd6FpdPPSWGAiHGve2+fddg9vn4bdN9ZtrtcFhDQZKKiM0q+BXq0lrFgVPSjfAV1764qM3ZfLe5Iyt/bp24PNHPQQ67TMC0iiFVgb1zRgxJK4yinklA/idnhZiEF1K4caxHEa+FZuSg9VWzhbxz+/yu5ned3C8MN2oCA8+dnUcfhpQtnxrHwmj+87o5H3bhJoQZaGbyj8UxGndAULdW7oIhrCRA2mzjyc0LqqC8qeUnjKSTYtCBwkz+TuC8vxjr5UHKkZJyIbynYnOf9eCsIXl2zKxZ4u4EB/ORo+RFGxEG4YHBPfrlNUxjhKaPIh2y2dN9zazmcqesivql7iNEDLiG3JJ1NHx6ajy59+OaM03N9hOmendQzjuIPotulTK61KzwuMyFGqGRiMEjK4pY1KCKnYTe5hu6eNEplpB0qTQycskJqmqCQxIM4Ny4DsNyJhmyppzRu4n2l1MclLLZbGJp1DVkQ1ojLcZ1vorLDj1Uy10w6qJabt5Tu1uDwyaEkx7WBp7JoM+ml8466hom6uwhSLhv3+3XlvBjzgezqgS5a2uve9XpmeKHvT8Ol/vLSmiNIytMd/J13wUz6bznms57NvW23lUO5/FDdDp+9WjZnoJSEOCCkhYwWEC2QKErbXQWBbvS6HO7yw/xY5Izgxr7Y7HsaUMQgtRCS3xoh8JrvZX6mxAmEhXbJCRSZOzWs2EafH49I7/C9u/JA5Z+Jod9nloaIasjKRRYaDGJFZrURTkHMVZTaRCchnZi5/jIRUPhDzYX392HPpbOcvD41X6LOj8yj6TSid6SoeIm4ijHl8M8uSqYMOxwnJlcLbz0cMSg9OnXWYMtTHwojc1Oh8KQTR0Dw0CYzuPIsOee3RVREMzjP5WdUptcXlmjZDrpHwuG7tdFmZSodUlzytgx0mfGg4csIysREFz5sNEbED5p85xfN0z256wDPY61CVsEmrilFubfoype/ZUXparNlLn9OzxGrIks0IEHQ9NlsmiXDzNcdIKFBpw00GUjmWjy4b+YxJZsC9rPvxli8VcsMaq43Q6ii5F0WCKYPaMDNRLTLkFD4M5eyv7yT7NLlccjCMaZmMpCdNJ1OfdjYY6VHGKy3eX3W26AY009/u14c+GzOSl0S6N7szVre4pevxcbI8qvofmJqZEUhdELKcmbQgPwYxvlktubNzbY0WlUMSLQoerEQhzy9eucdO2C8ZK7Z8JMq7c7XZVHkjoHOI9G8BhDXheMk0Qu5bmgZFwOz0dWucwS6kNRBzrgPnvkQMyJdV8H1T47U86aQcVbEXol0Ea3YxYhTtdnKeD3MV9gjZfZ2+MzYn3d6NnTB2R8C/mQOyQwWJnBEUDtvGoGQPhMqxzOYKdIaK33O+FGBGWerNSDtjTo37r4j9ixuNEyxNJp3z57qCMrEciEY57o4WMjKzPATMSRpTNqkztlsnk940JxV0r/i0W4bZnRXaaQV0GdqBlYLoxB2JY7U7xpppJEDJ2pMt8b5FmTwI3PsKwrbfeMukH33nDv7XCjU+cxLkr3fOR1OwutmPtOuZDH25MjKbzVKnjfxpsnAmw0fDJRQmniRRD/AjHdy014p4NQ/wUiVghsd+Dpx9hg7aOkuNH0caxMVTloD1d6X538pZjrVsdobdG8GAF4BIoUTl3VYG5Hqj0c7iawgooksmojURy8ZFGwWaydOrnzRz3OnedbtSiVhC2+m/eBMjBowKKStBZGU4wWs0DhtzxvNrZ27S4jKeOdsR1ft2lRsiTB2VMk6UnmOdZY/wY6wJ587mTdLdoIb/Uo6Id5sfhe9mU+ZPTzCWczfY/fj19yaemCRSjQoSjDIfgjK/f8bJpvPnuXDsWHTbcnvrNA1u3SeEOWi3CZI2mh5zu62QXXzRehLe8DYaKnTEBU76sJPnvNKaha3nfQzUobKt2ckFm98e+w6Ie8J9OvJ6h/o8B6JKViXZnjygc57x+amHAmDlEWvulqndhEaGI/VB9E8YFkmTu5gvR0wb3uvMwP6owmgivnyStOOuU/Xv5md/UuEd2pjRw5mMM3zb6dMHcZ5rstxmnguTiBl0RjpCr7+V+HbRMrmF8x+mY2iDtSptoogb9MY1zpL1Tdo0YeKH86yOfRXFo5J2GudwW+U4W17KcbzScrAlrutLNrQocadjUCRhTpIy0tefbAYD0Esp278OlXX+uCA4D4AkNDOUS6RJVtAZ7rcadNV9GU3uOrFiyLlZXueGZ8/K1bNz38hRXnKl1U5EL4NoyIDEa2aOcjK5mvoC1icrLsxPaefdczuB2WUnTf8NyR+mh6mrt3bXU3hUPbwv05baUvdRW8vD6Goob3k9ojGKmrSigjLVsjLW059+vx8B05ykNWdeW/M4m5STOoIpTOCUGL6TZawSvim19F+Ma9iyuVdjUJoLWIqkPa/BQ8SSi8HiMtPP4tjmxn3xDQiUvylb23orcjLdPpQk3n/vTOk2jLnEaLaJgmRQgIr9iCC+tc2p1u4RDIrNNu3dfcztwFl2FxijSAUqpD+7+n+v7U7g7appPBPzomn8u5z7vA+Q7pRNgf7BhI/08SSMSERK49G94ySlvcEiMr1bMzB/UQcoHWLVxxOE1hmO/p5PUMof3oe5ny9OWvu0EUVVVUIaJP91DsgWiJGH8RAXD+ykFyQ/2n8/8zl6OQcdH7vq+y5wG+ObtUHNTTyUkgKG2Z3BiyU0wQLR2oboCzy9WsOKr9nqtiST81jXwYSa4z1J2oRFjyJh2Di2aB2QW5XOiwk1qoETonSS29Ny2Wx8ePsc2NjSMrMa7pqgLwfnEzMQ7uogQ5HcMyHGOGaGsUcXK5npwrEQmDcYqkJcGdxRrmplh17O1UUs2Y6DpgVEVKhMRCzU8CYMbzl1upeNvA++mwwtobQJiKkCMJECFmoOOmLUjbqBiKubhlBsmpCHMQbciJJq06IcebEiSEklXe41DcQ/GAEzFgc/DhUVHP4+MIKXZXSUGMovvTR+A8n410tOq2+6pU4IKHtYn1+9sOqTTz0G7TCSdNoUMliHMQZ/zHhgT4ehJNm8ztD7tMPKrWpYQuUcQ5be4jK3J/LP7cy6Wimm/n+ETxa6OFoa4W9q/p/xDake3u98OSfIJDnA7z5iMtHPJ9QhWTRdAkUboGgGAQnqRCw5oGeSFmHtYiGX0bDOy1Eb4jLSBu+oDFOtSJpYJZ0SMVYAEDVLCWf44GnnKW4ZpSUZMRIMCBLA6XpHREuUFlisfdEDQshYoBpBYB2F0oQSoVi5K+wl3EuDRxrbmIsgsFbJhI0il0MMG5RTdAn7kCGx8+aIKghbX7EKFtn2HjH7Vf4dzuv6cuvyYYMvU7GPF2bSg+NxyZkk+QoweARYgjRyaHi7LzWypoZeQCEKqzg1XzJL5XtXKmFdIgK0illjq2C5toR+U+v+EmDBH8jAIeHtsc9Yb55erjJCU+nWAk87qWpNjlPFp4V4iZnNVMPq6hlUeUxtUnRlQJvvRhAlH+P2zxWdQR8lkV1qf41EdamCMro6K874eSMDif+/lnKoZ0NoDPa4elHLltZex2YrLX0Mm8OqYl7AwoWCxZSBRKqxBYt0SdyW8XCRTeaetyasBZBZonYbOydKnc9ndk18B/Dv4Vco6VRaFz/MVSnTwjK9hjnmCwoe88KtgbIV1Es4KPBFXDiY+inYpBtNJnQguisFxsnVmYGVMjKyLly96F1UN2TuGaOqlVlhSf0rUesM6b0Tphl5/HUh4EdDiIwJHdre5HV9oiFnkjK25uxmziwL6iAWfcw9Wj6D8zt2P9t9ADY5RdIy1gNSetwlNnGbXoIyu1s+jckJHx4EuunBvos16ur8X5NXNXydS6cGipYsqAoRGSRgkZIwYMO1vUOp5ZydaIgLTTVFSmMUFKKqFnZt56zIHGYOx3845zZvN1mj2uqO7WsjeUl4SAbNHFld0jmc2RQFJgSTGA1SBSSICsDizoyRRQIpUTxGyjL7YBriJabvL49mHmZ+VgNQPA67WNSUbyLDxpAoghaB07jhUbXE06txZDXAcDqjXLJV3WoQtCagbi4hdxpHK26eW5vnRFdp1BSF0hviC2hOzb7m5E5VKD4lBbaaoHNikXBvQQwHdhLRORW1gO2jOzsNaOWhRqCWgvq5nd123aYv8XhJC9CQbTMxzvsHRCUtq36CZ99jqgzMETIylixxSJ6hPSpxsdbMz2QDOKbmd9+eZ2InP8+hnBVXDR6U+PeZECEeQq78AI3AJXnvPBoewSox76A+IzU5MDuQUBKrfh1Nvjt1vBW18LlrJVYgSQVCERvASiKl0I2or3y1Ve6dbV2mpLba+n6+mjGNUpWZWJBUURFEdtQ5iYk0eEHT2JCd7CmFWC6jdUEhe/S8kENaObyYcfIy3nr25Doyi5UbcrVCNLXJCpmbvI08pIZOjBY1D2d6ZM97PlsTmrLqp91yoh4UetylyjPhKvx8qhzMd0+fjZHrITgJFUigKACxECKB57BsS/IYAjDj4F53yUxSxE49m8Mk23MnZgIYJF7Dw2KFntCN6aqQWLqG8WjExseQOVYM0wII0hJNR+GSMUZW/WJQa0GHhrXJJhz4nEPZyQ54ROgHL1LMaUQ0YjLVcqOAnGBEA0GPS6ty23C2o2Ssbc218W2/wJM4iZEAkUa77eo1Cr67J7rL160cHlvCMrnSMpw9etK8akJ7Oveb0IwXWL3DY0g8WBRh4Mw3yZVwRimZU5hyvfB118L+UxRfXixBDspVlCibITIFgk5MgpNEnDs8bri9FlOe59abp0saoMM+FTDGF5bglDShozZ3WDHYQpIy0IBoSJFCjy9HRfnu5aCdp0cx3qobqDYcIxg+sg1BOYxOZz2gl4b6okR666raYeBxKgUoDAUBYQ+QkiEpiwwbO2nU6uODj5GmzelGKBLClorw6ejS6qHbMjlU46+PDG2sjcXMohyQNEPC/TUaiBcDVIGDNQVcJXvsVStLN451QHaSEJIrQnrzJw9fGCiNMjLQa8zGMIlCMphSSonCeu8m50m2JRLW8XEvJukiMrqJGgCZ8XQ7AQ6+vFRem+/IzQ0yPC62sSxcSxKEU79TEazt7UrSJ1s4XqAnTct1MjKedpQkjHownsVMNfSiMpoST40UGkFh354zHCwIMg8iNCdevnHYhmuXUcaEqnGdOL61x6423Tob+zLNJrkIAJvJfUW9tj5TAJgc4qsFaQ0Dc9vpaiKLEOms0ntD/a+OMcjTnz/pbBh38zer6PPoeiO/KmpWklg0D5YvYGoFH293XfB10bFbnosN4CzWqJImIROrS2Icd3S6Qn8CpvTAfl3NfON706PpZBGE8Ic32h0SKPy71ekuROYYUqOir1wiMtGbf5RfM3Y3ILE0tCiepuFB493ftc+TkOw1jysD4YCSgSQO3PUv6Zu65Vxl+otU53bEaaWqpXg+/bxors2jZQyNpFum/B50SKvOriiIsjvqvOeUpN9AmaLcXJ7H37OL4Jw3mjOnZzm2jEqASXwogpH8eNgaY2ao4fD48XYyHiVSdUReL0UmxVHRFk4Ivb28c47mAjLbDVKIEQJbaKEiEqkt3wUSMtipMgiVDX0A7dtgcyoijq+ReFpmPigPcbCCQs/XQB+l2yIy28/qwvdzb3yx3KdO4elVLHx9H2K6gjLeWY+3bvmEEmLG2whDhHquQvuIQUZRgtMZ0gQsWruBNtfTwmuzF6+u6OEa5RhVKtUwjB+bjRrVVjJ9XzgzW/06eOua3jjPfnnKLnxEaH9H6u9Sn7+X4P5ev0zs1vSW1mZp2ncXvtuQMx7O24rdIToriyBpOBxyMpPU+CFiMrVQlGwS2zuV7FX19ksDKfu5tmrWgdNY7g2RZ+6LPod+TpVcJrXNvzJCVidl+ROfWox8xOl9056+XLV+zP1qFLa+5sonHkiGZPAQ9AzOVmgZ8IFGrIpEQXQJbjq9u4aRbGUZj0hORBv6xykyQyRjCRFihQakQTGyyJKHs4BnocqNB8UhsnDLhXv+X+ezrmVy2O0DwiruLRO3nzWEC8SAz1S/tmCHD47+ReKr1Z1cYg1GBuhofH9BUD2JyF9GlU0hNUirE7Iy2fB7v83RfHrruWvM466JkHlInqqLlNSDp106GI8aSChZTnCByuzUh2duuhYR6PvbbHhrLcMsmJCxAu869OC152M3Bin2MRaWlnI0bKOHb+C3jQIyvevBaVOOEeEDhxqHQ4La1Kxixx177Ylevr0DXsN/WGwCMtTOt8VnE9fAveIk3mbuiGx+WZ2CMrIFEeWfWmvZQ2htIGnTbt7j4WQ5RzrRNQTtIj0Pzny8rnM76TgFzpjsqlOqI9pBhDKK5Z4dBeiFQxjEO330ZxOp0mXrUjsNByo8YJwZxzNS5wEiTQqiuKS0IigyWLR6a6qSzEmlM0eutaisgdWJh4NipRVLpkvUbE0PCpuCMDa0jCBOUoagmxyAO0dr2a3tc+W1m48XFpeLVhecSTi11s6HfXni0UTJM+5m1YmhE6qRDhmVuOrmWHvhRnJPMluZFzWJ1XBTYWoiawNfCX9Vu0tfrcgLIh4dGwsoOvMgtg+hikk0SE0ORc1vIEKdhQgzkWPAMTz8JaB0Taj8H5SAbdNEm75NMWcTaUNrQCTBQr04ZdVVma2yyVIzWV9CMpQGB2+ptyIylief5eOnL7amK/gnvp/zMPQekfuc2RGFiUGj7LEUYRjnIx6SLD6n/ZAzjMzbweJj8vuqCsm4q/XlI8XnyuU/XxVQzzVQ4ndZfRA0ilx6qKt6Oz0qoccsdi06HRWwg40Pws3JuhwyvXzKoWuG3VPK3Tg6fPU/rmUpZp4mbssYfyz7+89CW2H2h0civQdJR2hCxmkoiISpmm7/seDk5pi5NPzB99v4/EAYyOIR9kSEDG7ymvfNQBJjKBRsVQ/V+6eyvvLEn399/CXKt2AiMt/s/gOsNIVBSRJJEjKyqXaUVbn93w5cjWch4b0TeOV/Z+EicgUN1RAe4zJrfqYdDVYO0Umi47p1b4QiOjkgYTjDRpdoJvTomHJGmLk2X9ymyKrXyQzRt8R+IvwT7M9+khXEGBmbXLSoAwMzek/sX4/x/Z+X6PySf+Mh5uOf4JSjKc9YIULUDp6nOnuNecyf5Y/z8Z42+8in+udwPxfMz93l7z3B/cKwiKP/dVQiAp19g5U5ZYagKFs/Jz+Yu0sqAd1aRShiMtbM7XvsCGJbWloKBxm8+7T+XTG8Jrivx+vzUn5NC0tI10hXyA/v/H6dm2cdFRzgiD7foq1v+Xab94zCl5eA4s/T2dfZ1WtyMtsqRucb2Ou0xMtp++JuiVBH+1cuV0smjs2K5825v5ntc8LpKgV+icywfl/Va9/x+s0tdPrIj+RjpP5aSz+m/4WYz8b1EiYuOwsVG2qQREIZHxO3NCt3gt+iiG8Rq6Es8pYV2FNmGF7VkrrOhqpj1g1WbmJt+C6W2D6XcIPS1jGAnOXoyvy0W0Q/y/yPzPTDl7usCG5mJ9zkuvTVfUptNhm/FDu/w9WuzAdcUOMVT5Tg69+fLOQ2ctPgG6GTEE4/uvu7NMhynS7CMtUygnIy23sfVgvLlYM9KgZimB/1tGAXgTxUIdQbcG3uOJIM5wd7874MMZgrCUlHulX9NHVfIPEDOKyG2ikVRS+2WfX48PpVT2yiPzKpusY+XH8wyHXmxm/W6U31dyxoaSZVdjXW+Wt/b2hl/brduR0gzOuEEyMOMyMS/6/w550rbmTjCSQx4jK4ONrTG1MNHaWHPsp8tAl2fzfsTcU1qozOx9iaqNLGKJFigYnTmdflpXR/N8Wjlvzs4Sa8GxKpUwz6vTApC/7ymiJV5+zqLj6DXd5OHf+0wpXFs+doEBm2ZHKGlmAmJikfPBHBbZSOXn6enjyEvHpB+6fXHyTJC0/7pf9WHhV5OdHoZitDBnVYKvWIcIEqy3yZVFz1xpdYWyzxbOIylPD2Y0UuKYoU1A8bzrs7P4FI050iMrWBRTczPZEHuGlEYH8vO9SudyC0qH6ESlFxCTHmZjtO0Jx29XMB0Dd/NMvdul+YgigeUceonC6t6/D5vrIsZu1Lu7xoCEQK4GIo+TwCk/TycukNLNR1shtLBCPZ09NXXCce6D9juJx3SEkOiKnJt2nm6c3PvfC2PGKXhzoN9soaNZ5Lvsrt7a6a0+4LJFmrXVo8Y2sUNYQonGIGxmNrd3pppJ2dY3Yfi437Ifq1xj+3WT9UYUPzbd1fjsn4kv3ULofCUw7/rxg30PWpxCSGYgzAeDF/q36tfCHAb3VjN4s7mry0MXLiuNnrIwIF126DMLHYn7e/1XxRNz/G9o3kONfviOUaz+Jwcovhsv9mQd3p2mzza4HX5zy+eXkzqtDg56KPo0b+Tfs2Psk6GUJjwvbKrZ9XRlpbl2R2HnTQn54Pb20Xah/hPLdhZ+yPIRu/d73Cn12/H6+ThupOBa55s/Rr5UoZ0mNxzZcvVy4ddV8p2KKoqiKnZwzPk238taIyswfyaagFo122pwMqTTakGGPx/wu1FJrUMHTGJChQg0m5xLBGchcDPhXJRTIBGFxL/0/q+7jt6L7Y077uWXN2acwbQ99VBrEyZEmLGGZHsbPbsjfhpFNPfsu2exREYLBMXd410z7y3jb2qzw/C5c8k3bChkmd4UZcb8MejfTfPmuSylcmJZo2JZosAQZ0Fa/pjiLrUnhPbxj8+OBIf20y4BxaXt8MD7qS4h8zH3bu24fljEsPwPpOpVauHrnC5+U+YzHZz9nlsvfQiyAspaIy0gxCKENmhHdu3WeESAhIRGN0KpzS43DNQ3hsKIVbPHZYNO1moz6AcjPXjQWYg1LEKVGCcIsEYEE93Hc3qEvW3oPL6uM5nriVUtposBtPwMP8wzMH4jKWYBIy0fmDC/HFsvHbt06duWuN88JpdUZzinm6IPHtsjLZumhw5gLa667knTvxT0plq6O5E/FGf5Goz/L9+dpdHXS/unq3VkrmcXdfpeAwgOAbrAEZcfOYlmFjQ0Uv1fPPzC7hVQGhURi71/DqoBvDHTq81mvLuZmYOyjCA3TivFIp2m6TnFYUfouvvs9SOnj5p6uXJhi5mDcm0v8vvYOLAmk0pbv5bTsyv1mjXXw38nJSwxOmOY+fHem5601teJz/gmbbqBxmjn245br80hAXQ/XJMvV8fGOj9+iTeVNKYJn6/s/NGlAoS++hvZD3QoZKvol8v1vjfThVXveMr6aM0vZ7HLFRYZj6VaFLwjmxP/gF1J7U2C9jwYw0O6dKXfuq9ndJYqU7fli0eZUzeKuSHYSQtEa4fvnOA+bYfdlKS25m4jtXygc3xFyeETiY/t4yQdmc1HBeL16RhHnqDRyR/XPSMb/xJ0qz7IMsC+cTCL8RKaWSTa+GnFDpj34nVW8Wf8DPxVdrsnflDQq3EFy/MjK4TFTmHt4D1TMEkjLT1ezdaXtmvgSRg0qP7Y3/RLev1YaEtGNIfvVKlQIrzf3t0hTIipZ7fvb/2x0nxGLWEv8ktisLTy+CDzKZzJ083i/lDoQ+mPvK3nXOfFRxfN+2dQI7iII69Fk/CdEvV4xqeZpEZOytQ9HS5Nbcf5Lj1tsn4FMQhofjUH0Wd3EL0XpElB564jK5VRhOas7PEuFHZ+q8qPdv8t11d96SWbXMioTrLPCIh+atgiWtwmXmIg9HLI73Pf98N8vZLn65PopHLXlzJ7gxnf8Mu7paEPBMaEFTNS2dQaDxIVr6YjnA6HLjg9cME9Rdr2ln9cMPQ46+K8TIl64H3biIc+T+0gT2Tr8kQtExvcdJvgep71lMeXRzxxxHD5Or68+IOmDJDRowxumKVZcenXvnvHXjjZf1Oa9uIhNZzxwVX4u++ybrEIkWXdBo31zUV5+vS6Iy23Q4l+qHhn8eB3xXvyY8EnZ0pzc+eAur5lZ87mDzT11M53ermMNKLIJ87pKd+UWdeus9s67VqdRi6DDyMtnx+hcyOp4g/Ca7RmhhHwRwRUenJUXd/5Kayw6pr68xKa2hhLq7sWe0+mPPBhLKfPeYEjLRx0IVw7fDvAeVV7o83maoyCHrK9EWyzyq5ayY/LrwupT53hePTneBsTPKTZQvletunKenv5cI0luqJEZ/E53YvQ1A6JkI0ReMeMpQIts1ZmRPztKoydOmQjToQsxca0x72S+i+w/r1evJ35cJSQo1+MFMSUf9P5QVzVwOpH8atdbplPg7hrVJ3Pr8srzNXPDGPrTwz7Zy5d2FMroTthnFv3zOctliMrSdfSH3bD9Jc8Fxvz7my9b4zHd0O9v4fP1ImO/kz6yS0HsOwHFcF/WpxLLr0oqjxFiZo6OHr9OxGej3go6yTzge9th3+T4h3LEo/HF3iz2Ixl3UwekuKJz5NPsb3nFoB8Mj0P1nH9M2c/dCUemLs0kSuJNhXLFc9h1ejomVUlFp/h2f4b/dmIeTBkcj1y1FdKgUfFzp857Tf9sP6EhGOfSc07viMt7zHkzytL7DHuYJ0k5b1Qnxzk6UtT0rSr7GfTbKBTenvVx4sINSc9D3FUoFC+Jp+lblyZTOsuP4edXFYTsmgpcy6lDo+XR9raZyk/ZH+mal/pw9vhzaBI6XFS4/2Lr9D0M+/GlwZ2FieX+iIUFoEvsofwi6CY57ZuSLcOmdT04Nbk8y3fT8LLMJHJG45tXc6LS1rGjGZg8N0rfWemiG7u1Hqanz/Pk+vWn8OaF9+Z34OuJ3kgjs7slf2Zupbb7icSXDxLm58+7TqjP1PpfXbnnzXG6po0Yf+aX75fTZz3ltHTVTMFZCJwjoTfystWh2Tei1MrHmdvPEtaD/deBH4oZwy1MJ+pLxpvOGj28+8jLX8D070kb+6ntgkx08oX1SMrLdtehUJ0IyupHXRGD1venTXU1Qiiaqkb+uqbacxyuiraglfIm1dmeEHeULYiNEyITSt6LEvl7/yL6Vc9kCYeE7fiKNPKY9Ux+/D/NNaGtH2rwaqvhm4X3ZLtMQKGUeyHdW7vm/z0OoZ0sYL53uv1ddXtxUDrh2kPg8rh2evFdqXtSg+J979n2owcMHN37SphkPuZIck6pnurfXuuEttA6j7+HJFv73JTSmlh385I8tavhULJ+eekjfQQ0cY+f5lHBy+nHfwRJPPVzgXd6jjlb8360G+UIyml51uDwHJfLqupLiTY97hFCzuWWUd2Upah2nBd+gnrojf4QgwbO7Qd9zBqyIKzu+Ns91wOLxMPnqGNxzGfzfDSq00jyFGDcXjeph8u5fu730frGoMhuIwSesFohnxlyY41AkzLKdCauo6L/CGH71ldbsMYxDYTGc5eIym0YSMrIy2Sk+jA0TxTuZDTVrsb91G/wrdMpO09+PPGuYEbFEQWePDh5J6OxDZYN/mc5rIjK/uZqFG9vLBqoCivCzu3eLeUUF9dyWEXabvDJzSszuwxYoG1GPoG2mgbMPsrWw/B35/ZZ8WE6smGc3d3ZxR31sKeUdGnW6AtLHgwnVLEkph5Noapm6DMaiuGUhTDgmwy/ZevwzzvFcTw5fXi0et7KTXWTgNSjJfBv6nLq3WQiS46QK0CzHEkkm0p/GAgKcBJAgNg0XKEAqCtWtJCyhzgLIq2jcg/dAGoIuhWC0ghi8pRDLds19clno+2+mUncRLj5JXVzoFZ3d9cY2HS8I0e+x2gITxFZCkc8aqJT8/l85nhGsz5eNn7XXVYRcoo8uwRKhnb9q2d3aFwZWHPGRmrYotLZO9S3EyNdxAxZmYPioy0fmPR4tVWl4/0UdmxPMsF0cB0wCwlASyq54whOh7Idlz1AnEgIHd/afxlzX7fh/ITIysp56w6VUN/TIm80IPzGkIyHdH8lw/uLOf+ninDxpVza6CWT+BAGYijBBh5e6H4MPYd/o/Olf6BP2VayZYVA3zfW7cUH85FBCj6PnkRBItY8WHEPEHZGL6OPgRoiJMwY6fTA7xaUUBRNUbI4njeglXQXqklhHQQDldynOl3lwayeUbVIy1YICwFHu/6vgvCIY/1NlegbJLNa1MUT+R/fzaJ13Z74U5++ZGAbJu0Mv8YIy0YhqCmFnOzM7sgjtpm/arJHYNv1lxRIECyH5jnCLyI5Y0/XcGZBZVTSHt5ujzn6Krgz5/gIN1iNXozRk4ZKcUJOgij+gbHkhC6nLTsZtLEPxWVulg9PpP8LG1eUz0YHufY/RA5fF1ya6QUI/XE7ynI6W7/CMi75vs5+uvMdSakx5hQOVxTz5zxTaH3LCWhFkq50dGal1+s2UUudAihBYJmx8jHV8LCPw6CEwTGThITFUBzNGqpiMUYa3zPi3p5Pm0FKSTJ1KDDQQGz9t33jU/ey9vT8HylnLt7rosUOEIGw+9Mn7Wn9yeW+n35mrJ1MYKco0UkCVOb/A9tqpKAz7frjctL9dMUoFSSPHA+zHKfw/DMhFdwbt/AmeBuNpUIPhQka99DP8LDg3InQmEBGA4dXtesNdzuo2zpup2EywXt6Yr+jqKMtN9G85vPAslRs549ELMRRWTvS6vhXGuSZmRoRFcx98Io9RHcvr+7VbmnPqj645sTdcLdBqDW7C3PwIuCjwchFxNRVRpOzl4jpjnQ2bN2RpynQkm50Uk3YrxMKMKiE2Pd4n/f8FnkulYqtljY85JCQER3BxMwndgEgixGIy0deyi1YAsDxruxlPtT268iayMtiyMr0txRjMoTNF3EkCSLmrluoLCdZTk/rIwTZ15e0wdMEOXEngIQMoHGFpGCDlCwfAcisSSGBDERZWExhYjFIytn67lYT9kxB/DJUBNIcGinsLxwYFqPShNd+pv7WdBi2aAvrqVWyyUGlS/ZQOu6PGEaXcT1AoQP0wla1lyPzi6sivUU2SMrffG2dHI1dWyVcLlJnc2EGcbC92LE9FdqU9OyhqRQERAqZwjTY7wtEWIiU8O/uupKA70fct6vbcc2HRWjpNeSksZmxHYcNazjusQl1jBpxsOX5s5I6J8tvCRvD7RGXpBQ7n6Q6bkeKFeoPZ7njMz28+ON+WL6SRCdh5b6pgXVpB3PsXJqTtxDlGa69jpQ9W2RdEwhZGVpt/D+Usw6pcb+jvtCQa8bW0SYLTCRErSfoavby1SqPX1Q427zYbDm2hAgSY15e3l18NesvqI4RnGeayemVVRopnUdthRY+ugJYUaacuqrPdaWaMRIS6F6XZwo4SYTofvvXL5P9rPNlM1qgE9tSHgy0PIe7auPPuuauqVxpyT81WqFPL6pzJSsIytR3VnWs3K9DMQQl5t7nMua62BQm29L8y+373uVB3lUL4mZEv6efx+09GzYm96EdK74PDngSf2/qi8JCE6EkgRLNjKU9cyEU1C1XvHxGpkwhCznwN5+brnX81010qZ31tiy+f49ViftERNraCmh0jwvIRtqGR7VDj2JpjUxHIOmLTIr75t5Y7ClHmpwo4jme6Je1eEsJKJk0ZWWZ6bPQjTQFeJRTajo6cKVM+PPOHLSsZVLlf28JunCb+jRyuzgrohRLpnCEEf46wVL7TBvkk+Xaqtmo7/y+e27548dEohoQb/R2npFfkaKtD5swUZ2kylCnGK8aYQj7Z2fb5Y7+1wc+ZTdH433RB4WMmB4K1QFY8VM/H7as17drUHdvHHK5Sq9qfOh8mToOJOJlE3OFbnu13GuVzLE7BTrtief6UM3W1x2zF/NLfVd7M/b+tzNdkT83PCEpl1DF+mWXRfVXN4FecM7mqqmGeVmejbRYJflGHCKobPGlWZ77M0bibPhiPuiYWbVvjZhTBSi71UHis+dvEY1eZt9HouoSPvEPDwOGdOiNVHc6s/j2YIEMo8s8Ru4cp3Xh7lnP52qpMRh8nSW+fojdq8643EvTubedqWmndkxVFHp/GEI8d/JQdKjHCT/Pp163qfRRvg0esdYi5Jrn28ojPM9NV0584bl/pw8o9Hxvqojt1EiOvbFqTr0DCOUbWB4CJRYW3tzKbGjCxsjLctyTGd+TEpZIy2kBg5BJuhq3NC/BWyXSseuDp2pGewhQ/Vq0HzMTu/VltaTnIx4X54jLd9rrwbvIy3q9qp0753Q5Bpmc2KWSFWQ+3M/fiMrSbu/uLFjdEziB/RFLQUpgGxMxC4qbxerqJRYkIa38j0kKiMp1NfTeSgjKZ5Q6Qch/HcRpYq479y/Wxr6x9GfRv8vjkX1yF3X4LaISWPw1Pz+x75Qcw6EgRpx7c+nDzScSA7bc5+uzUpN5pt7HDKBbdEjLSB9Pxo4I0iOvx4Y3FY7UbPPjm1igtNb1WiSiqrXjCQdtR8xi4KHO5uRQwZ0qMML5eRpC5OR8hh56z0JzdsV2poQ2iW1/Gn/fYaE38UpxFiHJCz32waTJneaa9oDxSZJmtT5E3A9fnsxq+35SjREsts2YsFEiLHUIPJeX5jPS9L91Nwp6yTYS10l9J8Hu8uV9KrZVllkMD0JnllIuYhRAWgzkYUOze3y+mgqYsSp5IUkzo12irO/z4VZqxrIOQEjsuJmgngy9HG4YffiyW1JwhS/m8rwU/t0wAsY8vCavXhv4LE7Q2sqH87fj5AQ+qXNXu7Nz1ujjcv6VSLO+qTqM1+TVAVHbbQHhoqrO+dVmdwbU7jINd0oQiFNRXPl9D0n4vHQOd2IELfXrf4WFx7pHKbUUU2W8EdS6tlnxRvaqsyFbcgQNu1UWYwPFxKGbq6LoCKdYU2kFBiVzzDqqbGdFF+3fy7XtqB8xTymyHTRObDlMGIYhofPOzarvbHKw+booCVsy22RU8dsYN37pNpTfNOzNRWgjUkjKzWrfdpw2W0S1yMrNhhWhyhosVKhnObpedTrINsOWUow57CByg6CTTnqlTJCvuowlKzhbVPjwshc1RgZs+/HLfkUqxjMKuNhqdjKh+m63Os5IHgHN0slwLEJngyJ03tAhgQTTCPPfmCjbjt1MG3Mws+am/AjLSqc5SKbVsumqdNE4LSGn54nwrGVl2Gp54XEIW6sw8KcniO77HTFdzPlLdOGa6wjLRRa6jCEaKiMMn8ULsMxs3Lbooa7h4tTvhGnNrgEYb9z1pLZIzofOmTGxyqaFRFNgthhPnFsLSARRXXm17g4l8sXkPd4XzrDuvq0I0l+ljO3NGbE4aoqZf044UtZIvJWpmiCpFDeO35a+PlNaZ89vhG+4dNR1OlhCDVt6zId3NKvsRn0KGkrMk7YDkRKzpGlz2E5pigXM+avxEhFLktScodLYVWZFwSiZN3nbHKmiiKpNsIdwlRCgSeY7UKNoXF4xGdpO6icqDnt669SDmbo6WNdT+uh1y9lj96/OM4cOfN2d+LIrkqz2p4+iiMrer/GOMZ4mSS3PSMlVAHHUIOE2JZCOfZbPYuqfIZdWeb258xmerMJ05j4qIb9MDfbXzRJU/BCHNOyHPppEddL0CWN2EI3jt2WQ2DxKY439EZPGFMcGZLG/iTgveXdVNRVt5zwtefMLPabhoJq02chSaMIzJPPSc+eRZmlZlTbZELrS1iss4y/Iys7bzz07ux9d+qGw8YxWG6ucjLaDB8qK4Bfqp8IfexMfYWjpJxyC/V5Z4vf0MNybbHQ8+0jKwbxSNcbLpUMzBZOrq6bnJFwQXfx03nDaluIAcMfjjHjmPLLn7LIddXZTxRab7Ex09MFk9lAZRiKIX07N6etEHvPf5dXOWYMhkPTQWcWut1pSqTGtT8pyilXt7mPKu8evd0eXAmMv9tZG6qEdzHFRKf9Azn9tnmdfXuGTQXs8OP5N4oJI83Kv7R6WlRCjPQRsJW45WzNizI8aCMrud2bimJkn3FoV07cDMuOjDCrEtvm5DF9CCxMmhmq1sEW1l0y3ssnXfTW5hc9bDe5DLPX6IU4NwPagZjbo9z1Pl4e3BqegRJgE2KqFkPZhGCKvCqVOOFJJ7G4V1Z2L8xbjd36b515sxlXmyUL4UbZLSatDOXMThZjEplQO3q2vumt2YRu/ZrPLPCXxzhvTVfNjiDHH1xpeMnDfpzQczw3scHKdmyceGE688AlkTcrIs+cyZ2L86YsaJVaraJ67opKDsYoZmpswpIhRhGAkFqxtca6Kxyrt57nFwce0BP9E7WIVhBA+OfRdvU/PlkXxYVTzM0O63lYvmKvZfqtLaqKmM+7bPbPw+KrPF3bWm1DKDKjRmnAiKVelX1PO5M9Dsz8EVVROKjQaBQBLf/H79Ov7/g+A9ncez6PA3o52OaHzRf5yNXxCYVbgyk/+DzzaL5j6yxHzED+nijyqn3fpk/D5b3OrR+VfddfcRKzVRVWJwY7J1cWtmRcU80xUSMtSPkgJy72dI0p9vj413OK6wujatRwBJfh7rLm8UYxFt1cnLACU5/FUdnFzcU5305rSjRj66iuWTz9P5P0eF3Z5OPD8Ptq/R5PKp8uz9zW7mqLqTvV8NNrxDRWN+kyGD9KvvvWfAkDAq6mssIjKxP5kOqGG35/kFez1i368f2m+I/P67/fdQZ40CKddUohORQJxlI8ZRRa36xLp9X82Dtlj/Zf6z7uz5laC/WwfoCA3vZiAlQYBhr5iQ6cMG5x/p2DBPTX+siEkn+D/Iy4lhRA79ivpm0gB/WwkdqHBI7VSxKLI3DYHEVIiyMpP8H+stBlx0Gm/Jk/4HJVU2zZgRPE5FomyogH9bnYqZkTP8IQHD3Bk5D3iYHNy7esGF93T3m8FNggmaG07G4EVPHidYzDv3QrxsaVO864EIXMtHmdkRte7FBvUk93tQszqSDIeLD80iLUOxOzBbMIWuqo8z/l5jZUTsHHi9KD2PcLtOwHg9HyB1h0ny/J5hk/OvsPrdAUdDZD2Cm2GkU/2xELAveHhAu4fEnapollpHRjcvc+N3/jDN1M1XPStQs/sfVsyUR9hBveg1hCHV0/l2uiYNiegH2r0DgF/bkiifYJ+pdh4f6e7vwpwTx6tGlxY8Wdc/1VaJVrfom7LuLBGEckMQVXUGd8mDROlPzLnRmhxINWybkFUaHlJ4RLqxX59/rZu0jb0AaNcKSkmdA6P2ph0YRg7d0dI0Cn6v5y93pmcPjUPtzGN5jSONs46OMB8/0xjqGDr0n0jJt/B6ntBEJooLBWixJU+oMPyYTYH0mjm4SCRMZlLUXzK2XP9XVqSHSeoKCq8jeZksY/1DcMgsNPII/BIyv1+Icuv9pcHf0cZulbWghiUBYi6RSl6MVvpNYjnyAGSH8gWSkjKyMrLDthU39yvFIJ4ahnmFKshJmCnnbAmP53rLLsdlKfRyko7iMn5YgkR0cXZ3eeLtFBykhLQdyOKBMg0gaAbAO4gEewOA7Th2tu4CMri0Bl9xJ1apr3CWqN+AG87nYH38zUS0SSBIE0TqpQNYyBLFBBIFQYXoCHFcvQPB7C4LtDiNKUGAbJA9Z6wtmJGAdIdN3JOheg1zJFzHOxi7DGU4e0w2ySdSB11irTHCtajwPogfckFagBCAfX1eF6uGyln0lrT+X2eH9fo8VkM4+ZUJYHf6SoYDxm1OGfEboFQF2GlIhle4QuaQgUV/YW11z/4Ifl6Qf5gIA/tLCBeVFIVIS+i+hBC/x/wush91UaoNmEkQetojzbHzN8PK5YdNjXgHnKWP+qheuWfzTryNy7Wd1jpLOzEUxRAh1JL3cG0ypnxlZ/6WvGN9FrXO2UbP8OzjJogvWi5deXy83BjhACSSMr6dr+PjtY0knYdmZGUyk7ebsjKetO/aQO4QREN2xX4v7pwIa9c95+g84B9GWseTDprK2RRXHKkc5OLtTBnaSPIh1TPiwYAhAiI4WITGaBo9+yUWvQTqa72TPOzfQbGRBuzMFEJpHLm81h9TuDsO5IyaAfdo4DsMoODL0VtRKi7WiR/IvkcObmbTmgUBn+NyqpIyvh+DwEoTL8w8KeRREEqkQoEgYhCzX5nGYnb4gnsgbojHcZ3lzM/6TgN5rU0Lk5HMYzp/ThVo65yjmnqImohJyBT4LmlPye7ekk6HUm3rLOkrMIrObt3SSSFh3zTvliV/J6/BmthunNVDdPH39A/jw4jPc8aD/J9ps4vTxGekNz1B2u92xkZGRlrtlvWw7WYR0HOSwwhujdKbBLaYhoprIaAmRIOCNLeLsnzw5m8DtIxUvMe89K/hNgSYSPhHhJ2cZpFUIfj/n1aA9LzOvuqSo+6Rg+2fqjZYJZRMKXRR8zdx/QfhIZQDR3mp6FGcZ9RTCMIe+64zfHOnV8OxbF42hE1d3dMQkTQ9qZ2XFoqqEzwAdogKBdSRYmRIBA8/93J4vp+o6QTl14nNA+ndqR6UdTYvQmqBaImzD77OZOrZXRDpdoOYkLAQMjKcYH8wUbz7FrLpWH9cRRBGRYrrQtlmW6zZsGnS/OWObgLotg3wVKQCAReAbX7CwH0cRHdvD94jxeDtK+Pk0mS5kQzEdC47GHzilGf2/b/v6ENv2B9nHwIhEqkhKZBOjrU3G9P1ZKneMDI5IdZ3G+GqASIyvXpkvQXPHIOwMjLRhRTY8uIysZIro0z8Es+JcjK8sh2h4+pSg/k41kHAci6Z9UeeaW9te1MXfQiiEJqZhSkiJEA0RZnYojLTeQwToElZuZsRaORge45vd3le8MnMmsQ+Uev3zKsBiCykUZtrc/s/LjVVQiJ6BtOBth2oPJscxIfo8HsdHAbHrA6zI0MqM9pZ7Atdacy6mGLDaLsIQLDmQ/I/cdhwOjtT+FzttcDgh/VcPxr8eekKSEs1+nIs7vxakGKjYzXhH+KiFGJLGhvkk3csksI/9n7+biMyMtGhcjKxfN1rEtE4doU3ZcMpBKqTtUusOozXFtW4jV3rCujK3Y+KVLYMemTTfEIcSa4qVb4mFUzejWbmxn9rRcmgbT282N5Y+DM2TMhytR4+GVmnGkb2ShtuFJ8SjdUXI92lWZUM41ExMkWDjw6FB/hCMtXMyqRolTPL2/BHoiMqLIgSKp+WC/XmBQO8yxYBOgx+1p/sZjs3OpP6vHiez6fOx63265jX5n9ftr18voVW+wx/EaGeSP2u0jK4nQS5iv1Mgqqqt0UqK+4PzMwMYWgqUeXs9yfWnu+xDjTx4hwOlAlofaQ8/AtCWyGLBwou0khIqW8NSjuys19dvyUV9nlkWxMUEhPo0Q/QIMNTNYggQrxlaKs1jExB2d6VfREF/zXGTjGcFOmmiX2uOOIu8kjg7uJ0kkk3yvKu8n0zzzpJ1dw7QpMrcqpQMQ3jGNoiMtOrxG8tZGnjyN+BrCyrBRMbGfEdtjbQyqOUTMITMfPGkjK5J6Dyy18WOMxibMcQ+cHGccuMzcgxMIMY3uETTYFrNQGymxIhv3L+FXOhuzTVFIkikSQYhVKn0X4c7HP4QD4ziZfM/I3fI8bJrC710kih1U+h2GN+nSOAMLtIIPAehyMRcobIBAaZ4MUUkVEcnAcu4V4j9bSbtjeBZZBT5kSvtDn8M+Zc+QxjJ7GUiiKdcmgnNDduR9E6HYVL2DXFwS+aAHCKDYdu1bAreCAYxKUD3hY1lKiZHy/CMr+fQlcw4lI7tB/mVAtv+fmPricQ/R5/QdB0sU8CAtQJJlS9SQU8lgfyxDEYR8QKHFDku2IyuRuEhwPL1BbNcjKR0ho5WE2bw8T5ro3yFp0Udh/PEMIyn9RAXHzbeNwHj5fTZVDMjAgjPiH29p9IQs+F5+4ufcUdMLHz8DhDgfuPpvwEgZCK/JPV8TtamY7k7IXledEBDdLWsex7AELPqpBWiCilzaIeZQ9J9fEsGT9yHnB8/1P0GPnk+VNvLC9D7hoeKQOfy6JboIiRSLFYP4dASB+l4avcbj7OKeDwP5aIxjTmHd1/qfp0+cmtU5kBdv91i38SHsNu3vT8DgIcR6A70Y9qJ2EQaTCO8Di+HgIJMTNaNo/kDxsQGKq+nj09dcvFOB5Byd7RgWzcDlKbMh6hgoTYAZty24jtBJ1+RgcRqchFcF/F9vt355q6vylFFrRFkEv135bOzMs9an9x1LdAh4Ige4yKETb6LHSh4J0Pl9+hvePMDMLUMfSPXOmMIrEgOzN5Q9/iMmYHMH8iMp6I6NR6Z7Iy0jKXanvBw9IRikITD9H0H02oY+qTPZ7rXVvE9gd4fjxu93X9MR+fxPR8t85XJTQzDDuOG0PqNilZi+tTcgF2ISGz0sIST2i3VE9IGh6lDl+62xAtcpyVNGyNAFkgJ5/zfoB/AIBJ9XginkQw+gtCNZXvbQdY8e3P5k+uxqBAxnJcKWrdM5Jycyb55NWvg+TBWY+kGxlmboenNDxBUDv+v2b0dho0kuJ/A+2NzQaPX9A4Ner+OzBgxrorT8ST9EZ4HRCM2QIQ+mwtEHUDoDpCyvteYdecCnY55C0nympYOktQ6dA7vAOX3888q6goaIs24F6l48tKQ+/NDYUa4oVlI+UnDcmkIufvhRJY7ILAwXvyMtJiRoaZV7Fh+5VE47OprUKRQxSgKz3e74SGYgJmGZ7FEYyCSKomJDBidXGS48rxIyXjuvMWDN6FGjewnY9Rp0hufUmznwMQHAQB6IM/OeHRM8BhiIfDoChJEJIy318XoOxSiJCMoYLA/V2HaYifKI1W1S7VVlWKLVptdvIX0xPS+/orrPUI+IHgZgfPk94etXB27+E6AU8SMpO02h2asPD8E5PgwHNHiRoqpRZ8fd87yf2iHtyLfnz93U1NAt43IBV0yvdU1kbf4jK9/D8mL+toTaUj/qtrTP9FVlD/S8xwWQ2BDDMZaUzVAxMlFSHW9iQvg1CIZjrWtCNyrqQod2ZDh7vy8PH2PwPYvk+tsH5D5aO0S6nNA0Iy1+ik2W7n1BCC86Wq9/dVVbNY4gYq5go/74m32u9eBsPGO33SgU9oFDkEfdBHiQ3bTb8fnNxtVOiR7SSMgyQhIjKyyogURPiJwPqAufXhFyYobbjaTS7MZzyAuSlomJSIRkOVFRAgSJN3xNMTA28r/TFvRZR6ib8jYjKc24aAwmc31FxiK/JzIkdxn7dBS3WMvsMMDB7XQR/BVjPpgiGFpIIAXEpIWbTdb7RiExvb8zVZmL0HQb9MGaSXBJpwghn0ug8IzCm5mUxSCghpCTFikxgzxdTP5Bs2vVGcKtRNLXS7mdCfexSECQEsAYYBGn5oeywXYiuwiyGbFssEk2BdYUNXoEkV9EQDEZCCkFRxFCJmmogmZ6EPzZIoHEEIOiagQ2NS1+g7sBtCngfPn8iHiaEbBmeHjij+zyvkZpmFCPGEWMUgjDeq0pRBdrCynVfcLc2J5h+ESnbwNimZD5tDYWSiMtDpIk7CMpoLQYEQj+f94/o6jo8/w4VCfNHPkH1Dvu81UgeCZBGKKsg5+o+N3LfndrXyPftdsoySRtJlMzGXx3lXx67Wd2rlrztxrVcwKBGjMSyKptruvPHVZAcdMOkzMkyTET7RzAMwcvl5/NTvkjX094HYHMDpgTNC7j1aB8j7Dh8ghQFBxXfcMy7gE+kkAloHykAoMhfb5vASGxNQhkGgHZjrPu0Uyd10P0A0q6m5bRTKqJGRJBZBhEIy0jKaA0YJhQs2OGUhkBhSEOjYaIXIgX0o+ZSwtZqeIPligkDsrv5ht4DpAk9GXDpy7M+gXijdCB+xFpcw5juGpBzbNwnXvD88+yigJyrjAZv7QzHp6OqyMtG44gQ6Sh6ALa7SjadsQrcBDo5o9hkeWnrK7r9LOwyH7OYjcYBuNA4jSVpB0GHre/0+uYQ8RPZ7LNagFMOuBL+hdShMEuH3a0/V3oPI9PPOd24YCSn2/PvVzP9QHr3HSmBLg4tK8abGRuwbngxNB9IynAh6uAX1Lh8u0JeLn9saUIJsPM4jTGgmaSIju4nHZJIUctG2yi92fQZqT7vwg0HB06QTTBjEiLx9yWsSDQWI0GqtMwNAwhmi3hJCigyVE+sN3E+HCigPmCLDaR6qOnJNhKCUzPLIMhxn1fyJzjIEIcgXbtBguBlQgcE2YGEE+cIy0flPWB16ev2/mX8OZ1l1yIvU9OtHOSd55noTEBkmfLj4IjLTOoUw/JDvCSEPzUfOEPzzM7lfZx/vhN1NxpTxbAJXWH14hGFaBv141GJEBQYigLE6N+aFQRktkWpiMtnu89LFMslaHE5hG7icl5z1Q+c7a/SEXoYJe1gb0c0/YmYmmYSAjQNpI/m/hWVSChDsf7X3H4bGPd01YM+0RLO5MxF5CwQSUkPIEREREoUoqew6UcoaAhpQuaEdiZP8uj2wZ5lFfVF4s8OrBawl2VBZMFSShkBBIkZEG6PVLKxVo1VoZVTlKthsr+IB+IRFwPvH1OXVA9Z1/AKO87h8DsNCx8Ecwczmq0KlLBZEToFwMRxQfkB4HAMNzv2BwSFx6TpFM08kA0H8PqA7bBrPoh0b+44CcjKYK9xvU7g+xwYBSKNhDt9X02S6kVEwIJn0I3IysmBJmMwc1lI2cjKcwZwtbagvQq8yQmCCK3D89lTAhNgHXqEeEj32KXqub7BuuYZ1qUJXXgBl7epPEOwrrEUVYYMxgyASMpr6Qv29rPv5XV/V6uMq14s7vBQKYxSvxYxxBJnTIGbOX8+w+vdKZMqRVGqIexyWKGpoZ60HlU47v+rh1ofNoX34QneO0YVDYrxev3c7QsGi0Do7olmRlpE/3/niqoQJ3E7aNFkGUUQhLpEItMauYY/PEy6pzbRrOQk7r+0R/hyjZZPrh3bVGHJt37EOdNXM8JQ8pTjJmmqXbDjTO2u6sGWxOw9Hecm6+0WlPAO43ddjqNTpes9iSIu04VyX4jK5wEuRVKIyuhJNsqjcHWB1YiFNqHSowEgaQP1jhpN4acWsAY4oBYTiBnKd6oHwS/bjqEH41P7tdKVXPZxgQTepWtgY0G8d4czeun5db242maOzUIPNHNUIPxIo6gZncvM4NxpWGckIsCPUawwCWgWIlEhR2nPFFdD+KPxA8XkgdsA7Qrkcw9+Ew4okEqsFqi2CrGA3Pd2cDhze3YdbojIPYUUI9IfmPUmplrgPFEPa7EKO3rTyzv38UTOHA7k/VKXyQgsfgRoyUEOv0MFh4RMjx+xGspFiMtKXLWQ84JJ5XbuhvzCTdBIyn8U+76Sd3q9Pj34P8kU6hck1feZbfb/tMxazHx14KW09k9Wh/svtgYPy53EB6v12P8MZUd7GnRpJaNqbkSTcqfyg7eJ2djj1UQaJpo2sEYJnNF/qZ92T9CfQ+erR9NMyWXyvhV4r0n/V+1+7s6wueTFXQD9CMrjmdqLdmBuyAC0TEEzG3CFhyu2r4GfDf8uL5uNnJ1b0/gCSMp761zkoxAuCxjFWTRXdWhX0hyM6R3bD4BuyFOfuBwhYjwRoNzhCkPjhLTYR4uB0GFkLAQOkOtUSk+ePv7zBV7o7jpJgPqQ2qDH6ogSJlwgIEIxgkIn8OkEfAOoC4iB2htHkvQ9Bz7Uz7ih0AsOBMgLQFCg2eT0nRlhoKms+b8mxsPq4jZPSOw5OV/RkHCL46c3F8FWeaomSx/49DBPuE6naW/LRWx7EPh6wuAbmLdBMAQTiMrjCHPBY3NwbwOQHteTkI5DggQ8jMCwuBTH8/j8z6Hu+uMZwQkclsixEVFUYyZBiMtioKkq4En3mAsyzHrZnTbZpjInIB9LyaFIyvgV0pOd87DniYbgJb2Ym2r/sIshxwRdOeOnJvG7Zd84039v0h+b6PDgZxPrYp9tqKkjRJsT0xr2Z62uoGTzq01tvL4+HlfZtvUqjBQpjFNB7YvdQKRQowxuyxVED8UgYOZeg6vb4eYdUPOHkSrWLL6r0p6tPd+q0IHvDBovtBYGaNwUIQ+dLBAdfkQ64Qh7D6HkYgyrCMps7kJlWzdmvriAYBcSYazuYcgH0caPV4ahUdrApJCuj034DqdsE1J7QgFlYla/0X3n3f6TrvOovMq7EY/GhDqlEY20wGZRibF46ujmTfZ+7vN3ear+0fO4aYj/A8GcMkRpgtrCMC5W7v8dq49sU3OOf3lSDTQb0RLe/72s/I4g9krbVbcgoYcJcqqRVJmqMMqMGHGoZJGM32JJmIlIYkc/5C/fOBjzjNnz73d3d9gARZjr/nzQpAPyJiffNCfT9tc237jehqpFgHi8s6sB31PAYsawZqRuJadRbxWJf48YpfO4wgH8qTX7u39TUE+TtpQB+tMHmCue3YgXOuhd4xaIynEjTmqaputxJnJC96EmR522sM0Iyvk8RtmPZXkorJ4/RWZdI7PQDAJFNA6KHZg9m9dx9cIdjKz8LecuQkI7hCMOENPD6h9UYOvpZcWYqUUwpKgUyGQfLApu0v7N98kw0VAoe4sUu/xLFmDISAMSxB2lkO4ost8UIvoBR1/hbX/HqApsbQDhEsRd/x6uzmT5MthI6A7D8D8Pwt+Gffdsy4wh8K787WTTrArMz0O1Usi3gMjKYOD3HuA67nyicm0IhBlgF424RGuYebVt7IxFA+XVWmz5Ho9BFjzxWcPUfsb2I/p4uxRK9J/uKuGnln9mVfBJn+rQpxK/fQbX896YQbP2xTpdZa5qZvLnHTMtk8pneeRKCKigWWVYMMooB+QwMpFIYQgaOEjKzGybt20GNAHiNCJkxiUkCMtwEamKpCCtRiArTaAzSwjLSCsYyhRWlJEIy0jKwGDQktMWF7VeI14yWxir01eLblbXeKKqSMpzT/wgm1P8oZ8YbGbkIV/6D+IcaSFkYyzGYlA3qkwpguXLpIpIE/MH1ZI64zFiy4Ckn+3ZarBbCIk2c7gIoJILL3YsqN76yAZxBvZwYHC7hgw5MKJHBIg3vuigEHd0q0cy5NzKg/oaRWI5OMDjiMrBAxd6BefJ8myIrjX9BEvjsMviPtbf3EJac7se+IjKyEQeUyxWPy2/I35y9vy/Zb+teg38bud1W2oMruwbfcb5qarqIYuYxn7P9OvF3TKl3++1KGr0/jAau+Z6+OE7cKyV2EyiGC2xPlQM3s94giUUyMrUUhaEtkWGnJqdvd2WQw7CMFXC0q0N9v60hJ6plIOkmZ328hXnnMzj3wH804UfUQBFHdYkI475mPqfx2d66d334mPVXh2y3VHCJiioaGRxM5jyBPFR+XpKyKs7958JvIRiLFA7i+sojMgOfswHw8qZNPYQaXp7ZvLCLdx1u3mcOMBF6IoGUEjK5BtHlBqKhURQqPR7h+zlyYwSJM1SJCSkFYIm/68GMEiKDvy9smb0eKiGTI8IjlI/DfGom8zzjkBCEQjKxybUFTbzwmzZtWyn+tjhMaIKuvCsIxxakzR0omC50OSRmyqkKgyCDZXB9npdmDcKNJvIA7Gk6B7NLtbjC7gMSshJHSFEhJsU6BcKNN8iUnCwdykhFoBVo58OUiYmu14NTi4jMWQvaTSJvcLoTFM6jAHwIb928U1/T6ZOWp0zaD4iwQyQUhV0iQRSIoJ1IWiWUjCboU5LCnER9JxBygxqWXmCe1uvUvy9rnQ3jaGYcTmcX2FVPBJvUD6KGoWZBgJmkityEDdF5knB5PtUFYf3Sm1HHJ/ouq8Vc/wy36suEO+dLlH1adtKOmSp2ua98zBfkiJbwKTsGOyeEMORyst3QvQSX8jk1rt7JMiddkpMwWTJEGPSI5MbIe/xV+FMso+haYFMsQVTT906o/5f1jkEstG3V9dlbsF88Uv4EE3/r+u3V9PW2E0/s8e6ijHjiMrKM6TudAgKp++AaFw2xwUTnVrJaROXafGledsIJJEzOUkpkRTYfEYxrYuRwRXb5S+FO3k5whnFpDkTDlkNcXcd4P0kMM1B+a82KrrNLIWJ9mZpsTdhjq2Lm/r8Ox7Y3tuEx016QM4mbGciZGRv1SKpeWBBAjhumQ/Ni7f7s5tN/tl/eoV2m2N3LbCxqOOaU8z9CMpi04GlFVd7Ma3h42v36F4KDfjHNWL1dPYe+KPCUBVcsG2pKcV8GRZIynMVfJVq3Rmj4avjh+64hPI4VZESvIsxj9KaP51pxMr3i+aWFmJKjNcRgSgFV6oIxX0XU3Y0skeYokcO5044nh9QVeD0PGFH+pep/DO99dP07/1THpvRglU1Dkwdk3K8dnPdRb7nMc+B/VGf9c4Hj4564xqc99jXaKoNqQUo2KtBm0O2cufC1UQmqhs0KrM19eVNdOVs8Z3Ri4yEDwaGC1Ttpr3Y7i/EtOq1srUdzlYXRASmMpgwjuh8fCB/J+58NTjRr886VLOlPgVMjyawdtyl3iQUr3OX058LwzHZrLPbQP0Osd5bOnv/WTn7sbQeXjM+tYTV21wdqhN1xUT0lvVE9UOaT9n948+kiUbTi+UeXldsTflne7pIS9BoIuBkkerX1ajzwtO0Oj1iPCxna+7yONvPGQzrBqesf5oYe25MnllSxf0fCMtPgm5gHGWmpNRmMSoqZo0GpCIRgIgLJy6XNJ5px15bHJ1XurghcjAk0KePLiWBuwm2k8PvrfsKJrnZt/ooat17bsdOscMlVrFFaKK/8HCkahkxPgfj9fj958y/j+ar4bdzRnBoItOHfoeLQJbY8Njwpj90aNQa4TKGr2KyR1xplkct8NL/h8fd33y/RHW88n7cQsoozxWvJ20RfVst2R+GmmLijp+qq2bjfBdPqfy6OVtF6d0TnhQSV/m6dofeTWftOel5uuMYzGBYqRdlWM/f1mm/zu/J8MHnz0Ys7PGMDxkN3CFweesIy3H49iY8EXZEdn09jgF/idp6NkM/wVBfKTb1fihxaXnIykdFqZ0mQeVM0aXzIJJm5HuRC18MN2Z8KKydBrRWixM0Z7UzDiZKAhkJhzTyuQzIy1fp2gdf+Nrh9DfX9wc/VO7ttaPjDfIjaT9mu3VyYEOioiK7jvvR2Iktf4QfyFFewf2bPnPtqSOfoiEmw9T7JgGRn408cbybMAzWrcGPtHFiyfZNWre7r7nfdDg35dByGDlDDJBkI19fD/hULv88hpBvq+seILSTDByuru47Pcx3lp5eymHStMGfd5DXU/Xz4oOPC9SPtVriddkdqK7UR1WOlww6a7iA7poQQsIYwjKK68T3WRDhARc4gyAAXCKb+ZNDDGJfoqwW4wvG6lwoU0IT7aAqCo5xQd8HhG5VOsM04Ba3D/RSJneUGbJKFE7MUGEMIUh3O8ZObJp5FHFmG+ZWHbgi7liwfy8vbbrVPl+U8vFEBae2lLEA+xEZTLBdxkgctXcautHZ9+2nh8OW9dx3W9IxGjt1fNyHh+Miu1HLaWrMnRnTbeQ5INlXFqcZcTrs93NKsTHJtmF0HsRKbYnRGOEGcaCKj3P6mowIM7I+dBKil1/ke9/13650JY5TtLKLie34DIjLafpYl+fnN3Ijn3GeByh+UKf5FWDWMkkyrHAfh/h1sQpX9u91gFyxBtYWDGNMAmmP6qaYKly9CMpzZSP0ejj9BfXSUpLEEB8v73ZgPOSUkz+vshobLIgwiBkyggeJZqfn2/t7sH+H730P6/6/5XyG6PzsiMr7FHFj7UjKztkPxd3eFLfkEWYkSD6/3gggWDWuB++trGLUxkPdeLWTCkLM59wFlo2RUUkkNQs7tH9ZRdxg3vEhSElCEYDEYQjUD/J5H9WpceId2s3upDraKduRCrHXAlZNHY7XKGEwaAgZrJNZ6p4MbSS5DsL4MnUhkHd3QzA0LhHccCUPB6WuRfXL5aoLZI0wuWI7jvsDmYvwvIIRJiMch32s5/IzNMIeCPg9hwB6CMrqPX0X4996DogdQKUd5JCQVGRQVsiXIaBsWY/kOR3G/9xsBoYFVUVVRB51S1VK0lXLOkjK0OhoG1ToNNHQC4ShGstvh0sNmMPQm4jLU5H73p+yn9f2n+1AswYC5bUgGBkpG6mHuO2cU4eUUVgewu+eDfxLFS0OlpLkte7c59Q4AgHYF90hNx11vqq2FJ4eWYa70lbc5mr2RydnmQ76Z3UImqnKMyx4zo9+zR/fheAO6RpMEYjEQN1AYaysMNCiqkDIylhgyMrIytjIysGoBAtKmQ5NBAvZJjsopnHWwg4ipkjKXB9aYbIYNPWrnYXf2JfUYdiT06TmJCd/Mm4/H51e08qCwiuLLO0Ht5Xta0jKa79OmMW+pHW3JyDeVWO68E7JbvN+EuXboikPr2dr10rLP7um6NGxv2Ton6c+ig0G/5qPqj2+iw7s6LO3aCb2kAMNNNoRkPrN7SHbdqK6xqqbQMjOJWEkH/BkvBkLVKM3ZbIMgIlCyhpEGg8hWklma/YgDDSgfxGfwGlBJSMUaTVSEK6v49/L9W9TNZSwWF/dMlMsIshEKBlUotFBkqi5CofX+ybQ+6VJPWQ6B6KiIrV3bdnzITsOoYIbPCflVGxc6d2fazJW5UMnCbf9HAytPzWIyvejf35wIQkhN2pmz9Lz5ljxDk3kiNh5LS6lm0Jy/StHGaTU4G4b2SGFVIVghaG6yEjkPReuK21YkvTikKeRVofX3MhQZB55BE2nYaLuWBlnSSoNjeSE6DNGjibyJoLYf8lfpjAkxVZhJ4YTbJzeBMhUVnGOOxahg9SFFZclCMpjSQYooh/iLPtNSYD3DGIMe3y8u+271Dy9/KQ237+VXV8gPEzWSmA2BbjHJsB27tt2C595wuNtkLWiBT28UNdEO/RbDrPA53AqxNzso3pfmcLxLtec0AeYpxUdz3+Gv7MiTJLmdvaxmYphsBCcSFy76iyF3X95R1kBuAHM1Os74YPHrJl4Khtfp6+q3JxJt7djwMzZ4MqrwImlVTQq+EOJrPZE8DpuIODkEOG3s2WpCfTA9+RfPxLXuyg7H1R3WRRx4zo0ps6dOledGcuTG7tvHaseEjji8CR49a4uo5SJxWWzpvMzguJl40s6aQf1nWBgx/NXI6TsNDft1JwRucRhtfBbWbeh6A2TlsU1MuUGKFpmrW5/uHeHfqDJDFaldOAZsHYyJ6C64NWFIeEjB5l3M94aChuIwgf0y5Rt7fd8m0z6uAUbKJ2KdRkljMPK6qE3nlAmzh18eefd4abtd5VIysY2lmRskhVMtZs2R79c+vpk1cUktYBvZD3OHkpAU1OWneE8YiTJ1dQyMuAkLqdISG5r0WagQW8zIFkL4xM5rTqbLEEilrsB5cQLDeghpC5PHsjqEbEwQ8fHQPb+3f1wggRIyucXcbd0Y3G/sEYmndytuR2oUYtCVAOZY/HSE7HkmH8ioaDVUpCkIRShZAwWIKw7MTi2jgQ5QKzsvUYiANJHwOoHgx+aFhqW/N13LmZAxYTtysFEED3hgxpMHkG5qTKHsVOU0tpC3TaknqQWuRkpFYPbHa8bCphA5O7XsdF5MufsVBnYkOVahkOIwL7BYEMsmJkWLGQac77iKMuUnTCiAXcFBUroDYOA38EODNLbUR75qvPUIBoFk6XrLYUhNTdvJqUdzwE1d10ptkGVBInOGAtzeDYlzUhCKUIdiNQRDE0N2b1A8/sPt9V1Ne0xhakRCW22Sc/LiU8Z6Ak3QZjIvJjLeKx8JqXPHwVYs5tEkBiLBQpkhzYBpjSqdgaSvnnWtU0qbcplpdbpE8jEQY0uA96+XjZpPya9tX06r3n21FUak0RpjYO6EzQ3G3tGmosgGbkHKJy1k5M5nQnJY3piulo3IsOJB7jjefBwQz9EbGEmdbm65EysSZQVMSTlxbSXSgoVVNUnQKPYZ69sOGi6hzBOCMrJnQM9Po76zKYy3KsczLjzMyZczMzLG2ZcqxZczG6GPMy+CXfob/DVbbNemtobEHFDN30Zc5CYhFYLCCwQEO+qUC4Z0RLBrDlm22/cevHnNWV5nfkaO5DlAImx3eRXGO1Dx8/ToW8Nedc+e+RdOuksRgpobdhMhLkKLt3jYiCfjZ7+2teHjtYPs+vO+IrVs3eHPRM6wTC7TOtIyuBGtamViA8YqRlhDJBTOR0W8PnY+OlZ7tRwceTMwQHPY6NFjkcZLFJR3Blng54Kesqh5cxqmMCMgNLVCCqUNU0MRBi7BcxLefw27+rKyLIy2mR57k0iJzFtCtzUjF4iBWZIysSlvVaWs7xJe4Gh9EEFrLnojtDQJMQzw6ZlgcjZcKZTDU024uxiOV6IwFUHDEYL01nZQWJf/OkkCpDrOs5aoqKvIsTYD6hFtIMxY7jAm3IIBzXRKNf8o7CsCsjKTcpfbOJMSFngXC0FgRLlyMtchggsL9V3al1MIRPTv9UuGWyTnWZKnY8uG006JXbWDRPb604wYQsHIKxnmijHsJ9vuPdRpvRxISbQ+pINI5sJx5pUBD8PmTGtovessdA0qRJEN24KptyAps8HiMrLwd0GAES4TgMN97pqXVXV0Uyzz2NhE9Zqxw9woh7zcpCaHBRpRRF4SBxsR96LiaCEpnGHYYjK6Gr1ezBlIQtcKMpCENP4fKbA5AdGwlJTZDOEZKI08puIyt1iINgrEFzIh1ipnaGIysT5fJeBMnU6umDcU5S5YySw9nA4mp7zEegZRDQ2kRQ0eoEEcpZohO4ZnCUR7WKi7F+BlIQtDlJMG5OnAIZFyMxsGljM9vcFsaxEfvfeumR7ym9mNybfOy1TNvnNkO1V4pyD17HW/M24xVquKGIYhL3wzVTY5nOXjdiU3CGKqWqYmViYBFB0ReIUggTTwFlQT1IaluJSU9oHoDOjBMcttGIIy0ERIGuNtcWNIYxkyJiiVkU7UtCBq7R1uNlhLYLlkpqsCZxlYojK+KMBlxefJNjug8FYbcjLWbmUuU2BhFIsyGZ097YQ8LimralEvc1NeyxrPm9AdithSsjLXmqhsLdGC5FUyMpYHIgQLPIpD0nQODOSLiq3sVmSJyTq6jM9x0VzKa9ZVeqM5GpyzAjK+RgA9fe4o6aMxuZlJY0XmQSu0hOygcpNobgo3O8gC3LFRc09TjqRuBUYvu5A+37Yjw0g6X7FSMtU+WZxxxKXaququqVbPCXaqqqq1+XqdnLgKFkY/NeJr6ffHYa8RqILo1RF12lCS57fXFtpxOrShjDjkdq22O8TH7/cot/PvbLAWBAIyMrvYgJjl2hoG07tYZ4GwNy17XFqWdXUkwFiHZdMAYC5178HNh4GY0WNDeqh47jD0TdkSEh7dSvDuKDONppBzgloph3PrWoNRSDlDFT94xyItMyTHKNj6mf1uEqIy3np9Jo6advr07aQulbmePx1Fi6kCyj7SKIMPtFEIC581FciOibFFNVmmH70fsQVlNQi4iGMHBqsZ3SullqZvuslaS++JCliuKrVcX5Bn/pRWsC4smBxcst/hpuHqFoKBpKHu8tQwaHL1XfbxKlHdA+ZgZhhRMTERlJEBRppJEqD6ZA7uJPUJCFCUcv871FD0aooaJT2gK4ECphQYoDgDA+7uvd1Z9nqXviIz8/nkAjIP7kf4H+5l/kv95B4H/Z/2WBMVZVN7jj4BnB0Mwwfar1Pl6VVZ5MwRCmMCESECIUg/6ICEs9vb6NB7k7qUkjK79/paDwPWU3IF+q+2tdvj7a/ev00pJY2W0xtlBibed0JrKTZSi1vst19fx7ZyMpO6ob6BcBpGAxASasRRpj+H1TV65ttFsWikQcuAIIm/wtSlp32LHPlu3og8oCXO1khKSeYuM71R4WAfw/Z96n98kTDFFKGogDSoPfuoAENDoHi9a99HRZA6V7XwsVeH/Ki7KJAhHU4Idc65UVkQw+kX7uZBYQI4aAZBtBeYpkqI/DQ9JBIQisiZvywsfkaA+eARipZQTQVCMr6nYHQYSekgQ+bQQ4kSMpEEEYAepuqsB3/RrFAyMpyUzLh+hy0qUahCRLWhGLeedebDMWzEUiovNXyu28RFFESF9cXCaV9xqkQxDQjMGgH+qXGGCLBXq5DBHInmTc3z7oHoCZWhgjLcsvSEuvbzZE5lUm6D9JYpolTr8ikLQSJFeYDFX1GZ0hLC/fT682mp8p1UWhkitvHWFjUHUdJYz01sgakZPAKBrVh2W6FAtx38NodZ/MIPkwUHZmGHCK90BGCEEfIyvxzdJ0kkEEgEUIoAkESICQgD5mA3EOCAHXECMp/kgjKYwggwiIrCKjGAI0RciCiyMpCIvEz+IYCHv7IL8L53zsG6mIlrg9bhURtpalIy0FPvAQtLVmriVV3UbZQIMwayMtaRhCINA0CwYHuASXBEVaHy1/k1/lfV5vJ27qvUi8byMrKJNFvXXbx6VuXqR6lzkzXNdJLznWNcfy7zzXnddN3XGNzSVm7rFynznXldddyHXvVkrGfLchJ5+HWt1vey2mr59/NvpkzJGwBVQEYowsuQPvh4gSYMEjCQ+TmBghr/W1JYBXHukf8qKsRUegfLwnIJugl4cjfZIMex7U446YYpnWOzGhDidM8wwjKzZuHaPDPYhQxLYFeph8TvzcL4PwJrplbgFdx151EzU5Z8xy6bLDI0Fx8IkXjjA47pyJI0cY1+U2WuPy75oG93RRwEUECQVM4IMhwQLtoxiRjIqRTFGfy5nI0oDn69nAS3Uqh6AjLSMp/eVRMibm7LniTFvLIucRL47Jb8DRQ6tIbI8Gox91DuDEcsUcmgFdUpJkisIRwtSJRKktNeVEHe3I6rCkoCgwBn+DFAMzIo1zeiFBaYd7RZiIYeE9jENCPoIkwhETSZ9KpDd89yV2MlIk944QTU2lSYQrd/7yuGljoPLypj4jKYDQ2lbDkAHtoLVYO54F7YQkuir3hfsJz4U8/1NL8V1dAfhFBTvx3d6eCb5y50WlcKt/wPf+u5r0Zlq6NNTBgN7ndZupk22g1nA5rVJ6z7YCHx9XzFEYQoqFFSik6uzjvTidyyjrATVPTSaUvg+IYRGEWEERoCGiC+6SI/EGNmZoyAhemlR9Kpx5AwzlROxlF1SizoJ5YSSdeXWW0IFIhhcn72l1WLAa9X5T8dLl2mZuS5rZZMskDn7uem+twd+nw9x2H+FmyyqiUSNFUyKjwgTeHgTrSKVEfuhcLoHuJAioSKrIqxilqjIqUSW2NYbLWsyFNslTWxrJttDZVIEkCMWIrBFIiI+k4pJxnwnK3zwqTnDjtQfEXhAGQFGQiIMiDIgh0e4EoUcBEgFw7RPu0sYxOJfZgp6aNC1jIysiNOfnejwylRgzAmqucSZkhFamBy71A60FZSDbtiiGxCDkxZTsyHTPMucm74YpyfVYohJCZjTeIylccJDVEacWdpY1MGayMkpKmQYBkUw2WghFV8hYZzI76xoBEzVfZ9W9sKjwQCMpIyvbhChV9kAdwC8o7tudEeHSMaHrcrYjKybrIrHDAZiHDIhCdBb2XL84p6/FPAgXwOlBQIhVUBtFNu4IhAIc37eABdE4kfXuTkHKIymSJJis0sWZVffpzWNkplVubcslc1dpTNjSaNtfmWuJIqFoFEBNcn6n0Sr5SRc7ORgzUN6HJiMtsGSCEiMpDmKvgoLsB6C+vS+nrG1t3qO/24typpo3y0h/1DDi4RN/vFXq6thYT1vVBOdek8lPCxBIQU/GBtH0HywhCFYnOkdP+W3T6fH9f1cf7f7rLEAMcEMcqyi4kwMHMIQkhfd5F+DbhMCUmWFNrFSWyTKBzjREU7r0Iy0QYnzOxSIUUwKiwCFEV8qodh6d1qtvO06ennYzdYIbHRoFKmyAikgv4khNfu0llVOMP8foaB6IEih7EGSti8FBUoJPCAxJDFyCPS4jK4KGX6IMaL3r+Q/5FMST81IjvYGcEN8FKigGfLYfD2kpG5v3ZAPkd6dLbuIU9QZBreEl4OMUvs98qX897iGhibg20YkQP2Gdk565BsrWLqEVjd7XNtg3dLyTp9/UdHz0dhAdu+pANsaUYMBMARmFkNkQIy1cqqxILxTdpI+dmYqcJJCu90er1Ht4B90DkeAQ7V/od+jc5vqoeq2KPfdsPww8TqKuUSp2S865rrWx8PhgmFogFbE1Ru/g3QEhRCCf7YbMBC8PI9tS3U4jLb71CKZoQ2WyVt3I9JlRogFRmpZgbor4EXJTz/hEtGRj2IL/nEU29fURZEMxOmCSIbjYB7rb0C7BoNsjLWX0PJqgwJDTVAY1hG21WQbi+04qKhtzFt4ceeTW9ojkgjbOXjBSECqRNoRjTLnD1j05ooUof4Hm+OMzZyMpRioSC5aMTZXklbjK4mFlqUYyvaESCMMWGtdtIrfpU8IpIqwgJAICvtKSoqHm+AeFHcqh2PuBXTMD5KU9kRdvTz6KzVfj+P9EP6E74QLkun+Y/r+/W4HCsOCxdhqOSEUx0qY0xg6+z7+nU8gPDqKRGRT2BVFQSVEEQBgwgyBIvV5/nCiGEFTMUMosIylNc0CenXsDyO2/Ry6JgoMs6bBG/pUvxAUjqxjQfXMvnCME6No/b3iuHYOoU6PsaPVQD3hHYY5A+aNFIykBxKA6VkE0iGbMyYCrMDSdihqms08Xfqf2/DGCDE27ZRtzQmSbWsx+fXhfjcHOKxDwiUHDL4WT2eOUm0bwOP6wVosIP045X2tlQ0LnwTKT4PM3pfFPNvbGpNGstgPEY2YRPmHJB49ue3pkkrLuVHEeLvfxuOMaNGemIxx5P6liYNt1v8iJ60bnyTC56pg5g8VrA6PJ+elNz3nsunlvrHbPAa05Pa+weEdSy9v1aRuBbyFECDCBJu/F+WOevPQL43PR6WXo68dSHs6rqox/YsWdM8StkYYZXWa5XqqTUl10YUogQaRAuE3rzybpfbk7136j7zqA0atDi+rbP7oHnWm4I63TGdW9mflxMJcPWgWie88st/dDtmcfH09Pgq+DoWjxkdCR6syNnYNdo7xHrfjGKwxprbpTzvu5fKxAxDNUbdtFMwte+13d9MGtGJDlpcNgZ5DVghpWa6bTGp9eh6NVDFSa+izuiOCywrWsbSdK4oRHmOc6eRDt8ClgVghuFZW0K6CtNUqrLvPaR/4ajRnbS7uln5a5BBPJb97NrSYm3Bm9ZlwqzV4gCUowYpEaTvI79uy+zLZLB7R2HhcjDh5CEjwvLY2bYNGblZMT4lDk3nguQchZY+0RS1hgIylWMFoZjcadGzWBxCBeL4/Tv6u/gmhegOWGLN/nxDAO07GCBmeq1DVcjnqfH1VmX3XugbtTYyMro8eDwbAejhdhuqPyag55JYk6ASNMlAiWA9qwWgNbUEGWNzBfZe/PkMNY0ZJqbHFVE54ORNObyDoHYu4LG0cVvDkcyFy4S4U58Og3tuB5lCod0oMm85SHXkRaqpUsYjEYZDs7PInLbAJijOZX3V4owQYmqVSlBWF9/2ev109p6IsBBnu23yGDIiDBIwwwTHcr3yMpM+vHonKtU2F6JqxJCbNnpG8UTByINaY4kyobtm+GjUEzdXWOZGnksxMhoO4IQ0D8dnAeH/A9sfYZxU19IIF5+4RA1IyFDlQO1K0OqZD6mg96qakbx+TI8jHUgScUI6bNdOMIXPUiPROln8CRnfuzX33lk74jLWaoYDgODuyB+/1fNvUIpIhs8eWXr7N5lGDBfI7IEnX7e2td4ibE5r3+FIdI9FGVijolkgFpGtLBrs2y1bzVzGlkZSk2NXTXZO63Us0Sd1au1Na7vuWc3Xdda8bm6RqOWvF152xqGDbw7C5gXCU5EXecsnJ2EHC5jZXcXDuN+LJZBAbBIrBFsBo3R14GUCSIQkISEVIwkRAkd/llu4h2o8Q/PdjkxOLyg2ip49l5aN0X8oLe90NvU8Nbb++xm1uJnB7fkvPLyUxZgFk9ldLKZWYB8QhE38pAaknxsoiJNIiRBNNwe8Oo4IJIRDvhv/Awd9HxwHubpm6q7Ih0CfuVAUAJryHktGeVDqiCwphM3O2sHiGmSzTySaID6JVu7LDmtFIxwUTmhaGjMJYhh2LJXd+FWKzfhz6SV90jKWml2KZmQyMpOCP04rgYXXJHf6SSiCZvaFVbU88+jTluPLaJ3pFOaE+ODpB16afOiZCauSMrm7dXWjbct25brdq7SkFRtDVI2SNxOpAEiiMpIysklRKQWwMLPsNkqFb6JCoYRzOlTke6kJY6m6FtQEpuHM6CMQkSQaigFEhBQnfiH3IZYENs85gjKxMUGqFuRhbPy0cdj5k104DeSQmO+i/A7fB9eKqwtuz5qflJZs9G05UtbYuzTYiTxISHA1YIVZ5XLnlml+mQeZp+IynrywkhQzMjKxiXqfQgR9CchA889gVzPMTlk7C/LxKLpa6PbUVEUQQOzM7LIym4Iy2AwQGu7tk4baWt77cHAmRA0kgVExcodptNhsDHRu2KhciP219dRSwq1GcXdl7Dc5M8ndy7zXsbex4IZmHDSSMrFasd+c4jKUaDEr+SISQV8+iHITqcGdD0ISZDIY7Qg2wPgfRtkj7sdNdoskjH3hzVJrk54ycTC9MJw3C7DilRJ8RvhU1Skv8OZlQVd7sJDKVAr3m50Jz5HnDcGN9bORtK2gshuhTIUhR8FqU54nDXbiMrVlXUqUHptWzeXOBcDp2mMbPt5DR4mKRqCQcduKgzcHstiEUjLdc5fa+NbKY1JeeSuIMUWJJJIbkDhX5tIzssnAwjKW+GvY7IkrW4aCE2l3DZYejNohhaMgtiiiKXC6uEuh9OdK5AyDEdJsCTYPtDQ0B0B6UFFn4eBZq5CZuVAwgbdEUUWgM4Mid+IynEQiJxeXPF2Ur92fGizPcoaGVTiB/mxcMMJM9aqVAQKii1BoDXqKzQRNVOkglWiB4FtaYhxiRBiKDIAjMoFcGGMgwwUIFvsMWYmeTDu1m1GyEigzgoQCjfgEXCuk6E1Qso/MkdWbXkMQSTxDMiwAWEJcFYIwFDGytvnrmV1bXybqXt24t95YhN/5eDr23t0PWVB9cDzuL1xLfZQOfAkkKd5k4gnBtcbgsF2OPZ5wRRi3wRfNlG109lQgjS7MM6W8L7Do0lzTA7pGjD7wwxMiE3dp7YkjH3veWit4BoU1RGJUZOBhZcR6HVvxJO/wJwpUrBDjjj92YhQHBybwHgHyuQarI9cIyEKI7RonAk15ny4wtgkQI5E4dW7d0a2G5xmkzbsW1FJgNjIynXiJXG4c8C/u1IgmpVRt0bIgcfx6cyddpvQicy2O8ooJJCBRQi0us8+8/vSCSQishAhsU6QE6VK2nv9P1avC+6o5G/Q+ktesSpZ5T8Pt0ul+PtNuBPIy093TNypT7Lgzk1QUoxERFFou2qUSLF1rBLExQ/GjA4KYmG4emo43O/w/TH7Ygig1UJ1YWEYyMpUh4IbF0zLQyH7LosM1SKwcWODD9oyPIuNBggqY2hpCZgbCkQe2AzQmAJgDt9LPGKpiBElRq8+eQMIGyBTAHVI6HDic2uzkmFegYFUFAQLU5J9PBNnzEI8RYqMzkn5c5g2ggw9u9widIgdQ+9ppD/at90NMS4MIaRuqlA7iJ1YHIxdDK2d7Q8HCaoOwQpOUJPIuQIoDIeB160WyMrxEQdJOYbG7AjLdYZzCkVOIzFT3aAappEhPXLjrNmdL7M+t8/ghlvgbjBZ09umi2wMsySRDNgQ/R2HSTFIylkaRvxlwIRh4NVUiRBHoC7h/AjKz0PlgnigewSZBTRNLJRhusPuH/lpA82HonyysnNuyFOzBpNjrUjK0jll0yakYNkmrGdIy10JcDQxtE4T+zgxYzRqGDKrFSKKFlD7ee93o2019bodM9jW2d2a1hSsgmvLuWpZqEaq80oQJGE6ZkasYS0LQP1JSVVAYpu4YEGAskUUhGCkQYMIxYGM1mN1oHXHQPltcJqIZ1MFzogWkDObuS6clziisYTBOaUGapZwG2SdiFHDO2Ai0LBedfr4u1U54Ydt8Tu4VYn2gHt/JursYUSO4mXrJkUpuj+CU5vj720ZxZDcX9dPKlQaB0rd2IXO+Oby+p4yMvA2N9ZMMJWdpKLjDf+Nr/XazPBSG3MZhti4bN9IF4jYICOqDQ0xijOamrLssa1N9+a9fa7x11uFHGpUogG22kzY9sWE+j3KALY4MaoWSGA6m3FwZATsnCg1xXCDC0FIYQwMJugaMIjLUljEGEyJCkJrYQJKpIho7RtjL0JrTEbYzJNEWkqfKczeTXaXv12l016XiN6kkLEhqhlvagChiyKGkRabuiT6aThtMvjEGvmb4mXPczKN6cIy7oxGYNzmzWLCFWIqNQYuElKb5IxnocQTfXiZRjTGUM38QWBmNCBzCymh8DU5uJ0HrLOXKi3mlrzYCXgXBtN/pLCXNoUjr6s8GrpTtnCI2QpkXE8dOnrpQcw5lhjBb+hbhq3ZmG9RCWgkWCSIHhEQtEduZ4lhNCLpE7piEzE6f70wHB2dieThoBjQJg9TgxjjUR5PA8fEqBjA/3OFxxuxvUthL7Kj2aDvRChqk5BRpNuPRpMYgsVXTco4WhDCC02KFQegTBLbY0xZ8DIVhw3+cNtlLZHMxPvBh5Yqwe+kuwng4rJxbtg9m/Oc0rdsI1TG0EEmnwySlmCpdFB9QPQTpNzGKYQ97biYwzwE4nL9YJrg2l42z0OaYE6xDFRx+XeaXnSQyzormNIjYwreKHFDtNvv9PSTvBfV3Ol69inZQgDYDZTAhiogPgGkb3ABdh59NFqocdjQaNjYZFzIyvKVGy3WNKjoXYyGy9VVSroNYiYUiMttiMpIpYw8dlxsZAexvqtgwQmgqwgQiMtEovv0wYjK5kMSrGYhIyFBFIRUgmwLiODIymjgXdz1hccg+ggUF5sIy3NkjfoZBoYPtvX3t5wDuHU9PtTOTTqp9qmCPsJ5oKSAgyI6aniX1JCvnvN/DTxTkcGZv3bMk3ktjw3l7qbmDkn+U9kkITJdF9sMGSk49+B+mXLBL7Cf3FkFQknkqnn2WT/m/NkCPNAkIgwiCJc7p+PaXAJxaJ6aDuUfmmCyLNJYtX5+7eNrkmUTWja2NV42Nbmq0bbSVttIiMtBIL/YHqpUC8jKVvBBJEGiCQoSl4Hz7nwD1eNGAewjIkD5K+k7L2kGbVofYJLK3RLBvdPaPvO7SMpIyvwsoQjLVDoeg6DrTOz0mR6z4nJISMpA7yECMkjKcMkEpkoNNqQzJMyWYpNsWkyoFJkraUMkUbTSoQkpojMCSoyVmSNfT26YmStJo0TSlLWWaYmUZIzIo0jKbUxNJoRfPu0QWKlhSJIpJSWURtRklBqNE2SksGKUxRmKExVlLWQmWaDJpGSyKajMSGUGhI2UUVIxkb29puOcAz0408TkB5tGUL+YUqFo7bZ4CMDke6qEI6yVNjMcdfppmUiP2jiCy9BlWNAcdCdh0hFEP+w5epKyLAzFM/Z8Db6DtYJW36bbCIJgSC0yi2gP6yuGJAVCSY1g7+psNd4RbMzjpj2JuZuV2I4l1wrpRBy6G4uBuBQSWc9ik520vvXrubtbQkqyRwaNKfyy16WXStIJw54b5JhfzjV/P3BJtlcvcF7JV5aqsyIG2wxwwMjLYxukSAwNgbPPql9gBe9V+Ct+RmNQ2yykpFStJbNNJUGmWiZtMJIGKMZGaGTsrbxlbr4YiYSUwgaVGo28fo0tePUryEz4iKrTFCUY9BBcI+y0miREzy03ty5dhrCGTSnt0/Lv1zMvqrLg3qWsdaovQ9PziRGMCcvfDvoGWE72dW09XWnz+bvWfgkPn5/T2IMZR1DiPWQomp6mM+IaDjX9788b3BN6Zddx62xzpESxg9UA25HzN9RezQ13Sfk8q8yvo7q3btSi6La1zckmEwS2CZGm8bR5+iDOmCC2e516K64T3PO95X6XmdngwhDm3zrpxd8Cd3qDvGzy231rpiTS3mH6vV0Vm7Hg7QOfLSe75QpA5MU0N8VFnihjnDCFhVXdunZReSl/alDDwTo8GhO5k1V2f6+Jj6Ct78lXtYP5TN82cfZt7679enKKXTpLkawBx0ONyQduthmtww543uDmmg2QT9l6NZkwXUkwiBMoF9Ux10/TXHc+ObXd6eOJcZ86W8SHkYYxwmcPnpzIyvLU95rsuPJLs0Hkkm5E2zK8jfcoymrq7OwutSoqn2uR3ndDjulC09OO0InPTtUwS6AKEfWQs5zu576ScREQqqJd6nlMmgxmZR3qdF1abZR/NPlaboVXnmRjMk51WuwgBixhuBrNDAa5yGYPfzrCAzMfFlXUuFuDm2ILbnGbMWOwmYBGV3cLWPDx1NUMc782wwDTqgevmGYaCMrwBYb0n8/lHM4hVI0BBpzva1CuYZ2D0Q40MwaIyt1eS48Lii0n5nPPmcbuDOs/eKFiNidNhA7BOnfnnVeim+XiGYDWzxKX6ePpfyaZuVWwkpMoUnyaQblYDEjK837jgMqPHW3a7sFozVQJl8dxYzAzF3gyIo6OuHmZQlnPYOmXSR2puNDunYesyMzgOvlfjCSbwTESQXebrRUrMH11/OnZD0btS4e/8P5PaxjbS/bJbafF11SLKfKhKyIeT5DRHRmDNODyUtY2nlHa0RwvFULBxErAiqd/nLqMRiptCw7tdFJEu8xTuekORl77Kpp6E7OaVTKwpEpSQaRFL80ENmlS6lMl4ly6HmmUY4MIWlLYpcl1+mpXpSmM0Y9jjN49lMWJzpzmaJqNuU0ykv5KJMS9JpCJzvl5LwHGZXFIyu4tYZmYHM5aYRl8ETO51cX+kKHrEuTqXzgxMxcLmpwOsCmdRnJlEJgpOhpEzwLpT0tXGInlEo3NJ/3EO0TxBrBera5d+ZmTEusuxMdIqXgRqFqMLBxeMZsncvsugaGKDQMBLKUwzOauNpjNOpYftTqt7lusVJv+QWzgy43COVRI84gzbxUJiEdhAZWh86GJ4dnNJ8sPvPMM3DdukPgy0MWcBYuo7VXGiNqckat5NCJxu9zqhBMXDmqir2OmZCvvajUJBsOwmRNRamTvD8HXhuczqZO2MVnOyB0+Lq83zdoIP49Xbst7ZJzgxnUcRnAZeljupVv0zJvq7DGxCeopMhY7OTWAQJl2vnbYuHf8XOImALBRBD8Ox5G4YooinDFd4sQbWg4Up8SRPOzRYZSYox+PeMQsQdvT/oHU5w+eN7g0tuOHB0zq5DyF58bqdxJxS7ccZKd5ucy94Lu8+MR0zo6C2Akk1ph1Doc3sSJlHGyZuehN4xiBa3BO2fkcuHF35TpaIeKupvTtBndzqYOl9jc24IQ5nPfmTktsdgh43BKO6Y3e7HRz0bsvbiYd3wDtzsnb8Dvs4LdvHDhrGNMpwaOeJjHeylOrdNnFxacDFFToxxTTxjpmGNaxFDLp9y5pLGGxNFGMZs0TH0fTe33q4tReA7cYqGIjSMp/BAt7iBLHCFsTMUBjOQaiFrVWxyZIl6+cENrqxYb4pQaIy09IysiNUOWQ5pu+KrUHpqa8+SmIjtzcHByYoDO7m5hIaOVVvURWSawjrFaTF6cMSMrlMJAhCL1huhMHyuinF7d9mYupytdordR8p5ZdCl41KhMnS5wtM3YkLjQzNwgIM6vLv0QnzSbmc1MX1wF0Jk3Rc8TA73TYaXEUyXRHG7K2beDnBlSuXdCOiOiHXQRzTnJozTyxuYYucjdTdlnSzLgXMjEZbMbQQtaEjoOxxXUOiMrkRnCvdXGnctUlaIhvDp03vebNagxcNELonBrKMNDj8Ua6Ki8cOdI3Fi5laJAjUcImbBEJt7eeVvAqmTi3bMgaadUUHD5aXBYbG3Sl66NHGXrOUbLS1RaaabjGcqWNk4I4Q5BpAaCFMihkGLTPLtULkc4QqwSKcp+um5ecIY6Iy2ERvQ7amnHSQkk52s3rrs0kq2Kso6spAxGu536zfOTNWs+/eS4cPjg/CMrLha5dspIyEPHjV1GMOJR2EY96g/28cXZojkkN5w8/UHDNTvDAub4zTYx1xtxY5Z9O7WDVmtYzowwxhxdBJJhRvnXN8H2zTr0yJtc8QbwUcMxwfOSjxrQMlhWijDUV1lNSGmHhYXrAu+C8PK5hmLNl1plMb88JpD6ScZKE3a44O8jK9o49GTHOhDGOxR92TcePOAPq14jtFqOylE5ZC1cXE1JMERUOyOMqy63IytCPuSB8JHxvpQxjk6ReWZeJdxs4vCu2XXrm9aYNjcbZGmVxMkjS1uBjBsbFrUTOoQm9F1jkwImyxuDJb7CqRaHJdLE1Sa64G81pZiYqlV1aOKG3UyEAyyMl1zKPsZXoxuO3eS7mOmtFdm7MmaZjrIXLWiZCUbZIwjKG5mtLWu29tGsqKxsa1OHXWCjWjzjKyw4MFmRz5l1YbIiDOFlmkxuA6JPFudaRghi5ekGfHW2LHHstbUhQ/LlFPIw0lvBRKJTRDBmnvDC6nO46ik7ZGzLke1FvmrkyphTr0K2mNbfAzosCKcWo1zzQ9jRymKhshN3kLmNpiiSamanKwNIGaajBdDjDgMFqjCSmZnBaiN1BKYwi0xAkZMIibenJdEqiUJHqp0TTiLhY0SYgJw7M8vCJ/uQ3dsOaSSfIy3W2+M9kkwJkG30m0gOoJcHYSxBKCFGBO6PNh06M3ybXAhDsKgFGh+FAY7ZUI9V5fVnT18VxgdA5OhR448kV06gxd4aDiAiJiQd9TwaDGuE5CGi9sUR0wWQIB2NuOOHrhJzEiMrbsHUfDc8WdV3ExtOQopwSikjK8Q31Z/oqtIjIysSbisgeSHbgqkkyMVEKaSXdSnldSbsIwzgiVIb9Mg02hjA00lDz8SrY0cjKxp+DFDpMePDZKxFaDlpaBpsVyGzrEViNNHjxEXhQG1WNijOkgGGpprBgYVaCZqkNklPJKSIwyzAlWNAXtRsgWybK6OUlMFBTRDVPHSsiZuiHJLZslsmHLMXRbNmTKBuzOKOTwjCZkiST4ucZCfGoKwzLoagI6OkDPnUxzK6WauBN8j0w4qzxLsyDoyboxkvdqk4JExLqWg+ND4eoMjhfZtHAyMrjiMri6GYsbCsVmtBnfjXiHM2Uwa0aot08UeHytwahazjQ8NxIy0bDGIrl8gZfxXWOi0hzRI7tYR70Xe9EKocig+aVI72roHIQ0mm0O6xGaJgVaUIHiMrm6NY5s2mnVtnl40hdS1BUwsjLYbBkGq2Nju7k6tGYbOkyZxjO4yefPgFxr0jLRCprgJBSQSTJPhwHTARI4HWaqsclDz1QoZxdh9E5xYEjUPlCYQRlgHCgwFx154IBv1rW0KmmFaIt5aJI1BdIoXiJUJEC5FsQgGNYcIhxiMrR05YC3A12Cw3sG51h6bSjxsGmNnRHbyt8XuHMjzEZbSJVKP9bS1toKSSBGaEE49GYWU2760IA5kTRniLDk8BMOBxRGAMoQ6ih7KGyCYUoDNqsyZWSSBg100WRDAUJyOCOwxaamZre0RNzQhDVH24L0sXaEqSQYQOIb2jhcDNgxmJNxZXUNq8HQNQXfwIjxDg5SfdjR2I4QQyqo5h6GykIQVswSBC6yMrrtczhRjjxdwMiEuNDLt4mGYC1b8hyyxfCaDsdqOZGBAdpmTgN04JgohgaNkjK4Yc12oZhjGCipI0uyMtBwPUY5SY0DJCna25ZEodE2m8Cxgdo7A3YVw3dWGqbEodFU00md03bspM78iqyBXebXKDrcadpoGYXYb1NzkuHOFKxoWB1p4JJBs6ocKluARJDFJtpbVf4eWuq1+/9V1X8xGyVZNkATQXeS0QNoJqUDiA+xKFRiMtA1/ns+H/E81fr8Q+XrcwFNqd4SKeBQFRma0ZGQUbZW2aL71fs3917VkMUnYiI9hQA5RQ5nSlGwukUqv0te0ulpTVfDTqbMTKi9/W95JaSWCyoF2EJUg7stL+kX0fMPh1LijSHQ/fCzKJlNlQ6Ye2fSg1ybicj5F1iy/3wVyp5b7IwLptnrhk+x2h3uptCLKgaWinonbE1bvC4FSzY5BacXTMmcWlaxcEHRg4dW7dcIFxyVqMjCIWS5IQK2u9N3kdA5hpHXoXVzkiJoCUnrDjv5SSBt1wAeWpuLGwIj/CKcneQlzlJcoUiSCRjvA4n+7WkVFbjTRKGSkqDGIPZBEgQRlxBECAMCMps1IjKVSwjw9EEobCLyYhhYuwS9OOrpTAlyMrh0cRHEEFKi1VRjw5evISBq02qjbP2/t7gMgchO5flj5QG4l3qVfoCCMpoK6/w4BskqCEn72FpLLUSkYMYsES67szm6JYtul++vNT+TT1kbY0iVA+81PRA7FQ6B4E+FpFFs/sPB26qCb0Q3CG8eB+fCMpo8kIjiBHIy5HEOY+0iceNLvjUF6C4jci+0iP6kebixn5ISix+XEmwu/P/YZiIyvRf43J+hsj6vsyP93yfIefRVicB6szMFrLFa6ZaETPoc2+lkkYsCASMEliUgFtMrZu5ERSEpcTYKuqF4HvgCDNwWivX9OzE12ZIyuDGMC6oIu2JRGjHojIFTvGwUeGtDa5WkXbFbKTSkHMut1MKpHo6yH5xnPdmkZFnsaBEohqNPcfexM0XYHy17/yhYqW2iCUIyvljLYek9tHxgdRBVIpIwgRFNslG0pWjWsaJKilpmaiKkxbRZlfO+VtRVyIteA+9N/rPDTPRQPp7UQS3Up8m7q71yTIMl4l0e3aIyn9W417lT2zsSFR+a1tJckjK7UWIy0UQtkjKS1skc3SFwNwKDCELSMpxSm6WwGZSeT2cMnIIJEhIbfA7HootfR2k/ou+8wIM7naUHiT3o0YQoQUP3wqAkiAZmCltIk9aqHPRA47FkMbfDmpuyDYViwyEazrqougiKyQ0Ou6CZ/DRsktLYRYGWSFjIHFIbsLQQ9zJEBAYrN1Lh5ogYxliFwQiBmdX20nxMxag0HqCwGCasGMGYlAo1VIbJhUjBhD1f4uEMZ0uzlijs5a66s1R0xIJvhqrefNNY1HqnYTb8c81gbTZTEQwx7cZ3DBbydBnXceDjXd0Y2gKLhSK2Gzq55ZLDCslYpQLiLFhaFjKVFgMSMtUQLcBuVReSyXVKTRoSXoVAyyXzMYxk7CpbcREi1RQqrGQhBf6j4DmBm4B0GPiZIuNrjWUXlE1EbwAkRLxDKIFolgwC7dL/R6Pe+AdvqT3pKPT1KmIy0xBEgCxGWyVZQDLLpdAvT63QSEG65F1p+0i2siBUBkvFF99kN0RXNFQYMEXQ4jLEdP3sA9dwfu2OeLrFGpRhfd1vJgs4aqksV4CT9LArY0NaYT9IByuHBG+kORhmat4OLuRFZGHLXP2yMrdH1v4M7RxrGQGQ6vteer2iamI56m2Ma6mvuqgyY7axutLYlsFIhvRTJkdIzZNdZhhkzM4ZiYlLAvIzM/j0DS0eBz0YpnL0oZ0VYWE1C4SdDdrvPGY2XXMwUhEayrQ8bDw1hgbmnVShRnMkecTwvAPcc8FmkaYa1/ONawaj9O2TO0bHO+SHd3HNtw9iC4a2aKTlUCwLkmbBDnEYDWGDSwU7YZxxkOyG0xYccwG1QboSMrKWUzOeihcNojK+BjDmnp01GiySiNxdOz9sM5UjYQIEcZbuxYYDCaQscEkKLthjYCMSMtc9Qu4MK6MMzQSGAMnQVLIysjKXELhIykkayIBCmC6LoUDkBmF9iVIymERQJCRJCgVtxhczDV05XDPiD8Nb6CGQf3QFzlwf5ggK8RQic93ALAbPV3eq0i/q9dqv4q5rBwjUiwLtUDB6j/YfwzN/soQ/bLIy2Lh9pzDhopz+/2qAHKWga7BJzM7sXP94w7+EADB8NQanP4VGNY99d0xgIzRD2I8vrZIoDBMhJJIyRhF4oV/2IITYkorUmtaLapK2t+jWUtRfqXyA4Qf2kI4Ps3n1nWyVt8aItzD55w6yZ+yi1RU5qCb+8/wQHGMUj7Objdw6cVixXK/yMjK8TBS12Q7x2Wji10GxVWJXKgycOWddOGOIgIjUmVupmS02qdKSWFq6d8VimzDthMPlOC3GqmByBCE3YEJJNg25kwES0wGBCNI1lOXnM24PQyDKUgEQxnAxSU1XMLTE27jfGBIyss6YsZXm8y7yMrXRN8dbta6EGyTFNOsXniRyMtqjapIysw5djsNYWI0xpnQ4O/LzVCIvMoxYzrbQakYtbFmkEsYYvEkaZylZOHOOjtYtDPf4uQdHbhbnBwJ8iZOPiniw4RgpFIcWE1ilPmKtxpt7ZqQB1rXMlSsQ4jOqh5nT7iIxQomm98LxpG29TYwvCUFzOSj5m30ylOJY73ZK4nzouEkyIYuKXMJHF0zsxKA7ptsHR0GQmjjJweK4Lg0tLCLOky+VhZ+LgjK9LgYIisYuwdxewnICbtnh5ddaI1t2WbZblrssy2raGhQ0j9iOP2FLa0mpCMPFIajcxUdNb1OevXmxWrzy40Ubrcra6YgQJIEGQUuaBZyC6NIylSA5QRkCfVMsCmzsWUGLPBnbis/wGVpkPC9N5XO7dSTVrfBvdcl2tlhd3JduuM2zna9TnXOmdzsnJjruMq8omrpUFdau0lYNyu67d3aQted0omanaet15eW3jUha5rc1u0qLZNAtmqP8tMlIkcOAKKbRs1IGBpJEW8bGU2aZSZE2VjbFZqaKZrqWrpWlmlppKyBjIwkiwT19/M49gZ0RgLCDGAqNGpC2rSVGthpUVYR5l/d6TVyeoHYA9svcgFCaIPaxFA6kwbYyZB4WSw2CkQKicjnCFoxRhAuiMpgd0UQekzQ22ThBeiBYgvmbjqgBOK5hGxtFJ8LIdmRrxqGCDMUhT1lnlm2O8knkAG55ciqGqKYq+cV+LIYQUhiGTi5G14EDWBfn5YbyLjDlAvdVCqi1r5wdkjK0NkcdwQP63meKdMkkeBs+PUxDdLBhrWTaYjLRD5B+w+/8bigdkQTF6EwwEFYLATRAv92pJVoxhBpDNEBKCZYSmAUyVRQEpFhw4pzo5Xyc0VvzHGMIRhmc/uyZ66gj+GGyIIOag/amDevZ2YOqXOReOPO5zka+fbs92+e3musOa4WtTKZEfGB3okC4GZIVRm4S9+F/QfUysypYrbyiNzpzELC/DEprCp4umciRB1yzdn4u2Uc1+Mnslm2tnMib4dJi4WYKFBshBJounDB4hv+HctO7EXeVKsMaEjsiglyI7WjS4yfO6JrJON8jPkFamCcMW5MDILriMtyGRycAGGskBmyQzJL+1EDolAbDqNh+YubDXYOyryU/Q1Kjysm/IocyaybePeJ9gP61GKoQVIiQIjKT4ez6CFdR7/s6dZC8VN8foyryvgFxERIy2CJ+WXztRw9f6DU/fmWKmhZUFUIBfnmBAtIp6dSKaxtRgjGtJZSiVJ666qCSRvGtrmiMoWhjbzdttdpbMTS2ks2pGJTLJZTJprGURtYYSUywm1ZUxZqSZFTEmoottlrUsXncUVNtld3TVkT6NbrXavXa7FFSiMZSVamJVLNqNrGKlkxUqv2LW6r5uSKpmkmyCtjUmsVtWyQSqWq3urqlRYapJqGrHnnXhppMstLKMzZtYVrLZW9narZVRGxjxui0qbedXTzujSqmIVyrtZqk3gus1lpMTa0JVuBhSxQiEgMVJYY4fmtTjk1r3Y0qFZXRju8OEsr+srSyLnAXjvzPm+b4tdWzpNdOA1J2OshuGNN2amKSyTCbd4+e6LcRrYyH7e/f5/GphLYFJBqoT2IS1eelFBHKYQ9liJNree3XutrW962iMt9OmVm0qJppZrTLRGLaUkIylnBsT/d9KkPJkJoiMpioopJAzBUaIPCFMBiQs0NDUjKdaoCwR1dKja0a5RVFba6+91W3miIyltDqUE0osg+ubyIy05CRAdikNc1VRY2tLZqIGKWkpLV6tOMhGpWym2rTbNMrZKs0popUlsVMjRRRKqVsTaEUphKKG0pSkiVJmymZYhTG2SiSotjUm0lSaqTWlMos0E2SmpilGoktSzSjZaxqjGkyBpI2yzEpsFRrZQbKVIlCSSZZKTKTMRkmZNFLNqlsYqiZtQZEjbJNSmrNsrWpZkxs1NKZNSntNs0MAWQBApVCqRWAwBIpCaba+la2ulSm1UpVrJrVo1V7NXmzVFV5mqxatFsptjfNVXNbVKlrVFV7518X6A/Rg1YR3FUGMGtrjOTykMKxtOt2G2UWXtYWKgNm3bjx2IA/qaFu9ZO/VeTmcsG8qwGpARO+YlpfXSoNL9ge4jK89sQD3orBRP0YPX3471RZlqij7ono+3GA9MN02w6YSGLHY7g2BLQYr8/8vj7G33bW+/LFgQGraygmY9ZdHhtEMvQooWqDmQbYbtXVOIThPbJjynlx3C/7tQ0Q+Ob7MHZfWHOhX9BqMWRZFkAswMUipVGmKEyEOoFHWmsNNJEREB1CxVYqqGhgt9Iyk7Y9oB7iNf65dhPUgW6KCwPvVD1GrtNd8OmxW0N0Qx9WeXNrmH0ZgIdqqKfn8TIykJUk9Gm1ecHEPnjcQRcZoP2fIPsTdYJFLqB4oYxKkoquj55h5W/qZM0EdS+dXR+DZiJ3QVT0iPI8ukla8Dru2EqIOXPRFRtayt4iBMkK89B0CbGJqt+OpdriY7JUmYYFF9lQ+qssijB+NGiQk6/VCIdYCezib9mZwbyQKySM6YQ+CxIytNIysDXU3HYKYebSiyVXilFyMpN7OVHXDJb4j5bGM1RxsqjgNdmdItFO31lpm7tNlqliGpsL2p8zjSLZXgRQwjKXYEdX8XpfN7+rb27aXARUVIAhA8u4AjKRtiqjbbGANt9Kruurcepw9nVvrq1XfYIqQ0GGOYEMMPpzjgV4mIiDGN2LzLzOU6Xv0bKsVYIhCBPbO6X5cz0oWUWMQJGbHApTt4hQitlVJVNBuJ1mUMcKHOeSpdOMVQq1VPUFXgUlyGqGHPv0WW9bMzMB00hiXeHk+Pgmw49Xmu0kT2uDvrrDxhGIXOwMb/cGobA6SAq5Zr9vO1npntgSaRAbj/mf5B3kJgEmB44oNjYNpDY2oSMf8XhkTa9LEWUivJ27oxa5Dy72Un7GUlJkVYIfngKmiESj7S5ZEBGtMbIZAgMTbaVk2ZEqhkk00UeRUlZJ8ni14qN2T127zbt4Ro/jDRqJlcrRGkakchGumRLkaxwYOOHBZZCM5vWkDN1DaCJgRorFWaMJ1yGo4m22NY0WuKtFsE2gbgo/ZYxGYQK4NLhpY7kCSV9XG3fjAMQhElcSMpMzhbq629Gh5CAT4jKaGRUIQ3udoWNp68hA/3d4Jm7Y+SHDhVBsItDNOdR7ikaNVSkwKfLD4jKwjwaSMrIYvxQm3mzwQ9n3cTTYy9Pm9YX5DEmhhOw+NzSi5QckmwjdZkd6b3aSGNkvYpc+SJTNImRYAQqAsG4CMrtNEO3rL+jUP7dytoGIax97aoJ+AT8pcBke47yAT1swfM4cx59iHhcx0gOPD8vzDxn6dq10hSqSMrmH54y3Cnj5094I3veu7fFZSvcVcU3jWsV3zfC1GDx/KWku7LmBzbpQHCONUi3lJk2uNoO2IQCavbo0wkpIiyBCM+Z/V03zz1fW3v3G8Jg9AQj4+34Kqcdz3c7RqKh1mwuaA/RWI7/vLlYc2P84AYwdgbaWmLfSJCT/tQ2NCbvKTa/y0x7FghkypJjWlAOrFJKQTcrxL/Kql2ZRj+xivSZZOC8GGRqMJCKD1nXXeu8555TTLGrPLrW9RFjiHlIykbQ01SHYiPaaiCjJpt6qKktVLaJC5S9Re5m5U6VsMzr02dlaq5pMyLo0jqxYDSuFQqhkMsGFB5HIrnXCjzCCMtLqyNN1eyL2cRctaMnTc1omaJLWnVvUdhzgyilhuNImqVrzrJrhTStDtU3KPQiCqwRek8uEtTnoWhsVMCkjeNQ7ahganVh4Ph727fUmfSQPBDSYsWIy3EMzIoqoVOBkBZiS0kNcXXGItJkzRZxEowkSCEtctPqyyQch3d2EpI5EoOTNc9g14eUngHmaJTIHroIAIxKk0mz1PUjGJFE0EcetFg3XJF68YqMeJoNE92eOELzsNvIys61SBz35rWotGoEdhO+irGzpNFEdKhIYRj2fDL01A7LuKLw/ZxW3VN1EdHLtyQLoZcq+7DHugzC22mf9MbBGobjgtlUMyOIynAQeD09dC7t8kZJ30Uq8JwZPTxmiXJZpuKQPI9vecs6TjK1ZuqFmVOkWHdg1DS5zNxxCRGUyIUQiMtMEiQFIgmuhwRe5doQaH5dCZiRsYHIy0pY3VoN4L7nPZNGNUgIcWxbzzyj8VB48JBDqF5Am1eJuKUR5XKkSMtSHWtX37Nbqa+99N5csbaNBjMfhl8MvO+TjZy497TkYTT3ruY2gaNahLNJrG0PWRg7qHy0pwthGEEECMt92Opfd3znjV7LmhfHc97fSMr4oNOVdnu3t5rvTkmWEX7vbq87TuRiLj10eOroLXJlN0umo3ePGfwV6yEvXYqpGhoByO2IlG5UpFExppnaEEmVBiFomGTalrUbGpu+xiq1fBix4vI5J6QOxdDvz0vDnJajB4gj6SCkO/VHW+M9zNsYGp2RtRdRtWOjHRreq5mrxax0nzFwJNiK4gl4tdOcjYS40V433DxytsyOThFSR3SRfcJY/d8vWmIgevQPQwk50U80XJOW/0eeXSFVAkbl8g+F9SunxzOpJ4vWobgATr4tO7KInHxCYCHMvKCZzCWAxWQiAcsFHsRYGCAopLqmCoMjBk5HE38OjO1uLASUlQQtOeJQiGyTDipQ5qm2jUmrT27ai7uuSvvduZK8Uqrd2FmJCMtIy0ZUAguUkmIikhbavLvTI9l5njp3V2Sbcq69q2oQqIqUjRXSDAYmmwH16e+dTFhIh6hQPWWU5dWe1deLymY+j5t2ZxUEYAGfoEmxtYvs8Jy6M7VS401wgcjn2kU6tXUiaYstEYXVIw+BmrVUiDFVBgx+NG10JrZMIWK/RrRTSMtAuMP7Uh1QLIizKc7k0EjK2JgMvk5QkikDxU0xtRGttXKLGzbLCmzddFzaJnddKWitRrfc5WIxYktotXqlG1u9evKsSBBAtAqIv9X41aKMIqDIykgLIIYREoRjfAsM4hQuUDtYZT9GKdKIyus/VZvAWnxzTWJLQxViG0go1BhEBtOJjOm2ukUk/BDQBiDC4UGA59OxTA6x8cY0UDKoUOCFDaUiWFODqQ7jMPfoJqn3HI0IyuBqwicH2xlgoGweJvNhweQHySUVDRQD/SEDhqgUpQZ9dFIghukA22H2d12fpqlIzKsYwJ0lTWy1DMjpETxNojrm4HZ5wwh+rbUpisjTTXddUamFo0m0Wo1KBRpVDd7SeQ5BOE4FNhCxeUVAvwMWsLuAly1yPfUOE4bhHoiqsQWHREjKwM7Khbz99+B7CbtpOFFRROewVJB+YaCkih02LFqeYZJ+G3ijxg5Hhf7NVAuIupnNsdQwOCLaGAFCez4Gt7qpRgFWoiCUfyxK0QvhWxt6bPst2yxlzOTNkkI2DfqoJJJxQWCwCfl5wmwBD8/pyOIgDFBWkWgzR5qWsaf5qDgx4VrzeOnGMT9kXE1PcHZC+wFrtj3ReEPXm9Blct7t+pb++2ndh5+w1CD733GkyIjeivwHmJnfX6SkRDU35cnkR0jg7OxaGAGIysa6yMTBL9jp5viT3sF7Ib8PUMHfLMb8+zEec4pqlH7OcP6YZsg1AxQhJvAEaBAZDVFrBRjIy1qimxB6fL0D1ljxV+aesPUv9BhbgPb7FPG33S1qyaota/LK2qWVza6zVW3S2qjaSustbmrWjIwzF4jKdizBELwSoiEgEg0RIJNiXAjKQOGts+N9AiZQtpdv+CGD7SqaQTBVtjAuU1MsJgEQQQdRDiQ5E6I6BphUEzYZ2M55YHM2pmKj4PWW5Wgw4xcoSn6ToYRN6eb7mjY9QTm8jUednIrT+wh17z0FO+lUFgCkDtBIQ7qO4LSB3mGPqhYkUthSKqsIfYdn0QPIy2MoQPefe82GRBZE97LWNNlpPl0OjBNBqWvaywStzxPM4lyg/qbeB3z4ah7Dx5+H0QZ1FV1T55b4UfNVPake7OX6+J7E/IsYRDu5ygEOzIIQUhEuAxnkGjPZnZCjhSBarjcLQirIy1lfqojLUML/PQL7NKFxRRWakWKiqFVJn+W7hlkpmclU0ylgCq4Xqa8m14v4bXsixl79/Qb99Xp1ERCfAaS4yFMKYAbsClKNzYxJxzSwF0YV/kjLZCm2rqZuiTCKsUyVrcpkkpBcJC02SFM22rLoizKFJA3QpFhE3KhgcsFko1al1mI3IUqjGLRkKMQxmVwE2IsakZp4OPERWd1quVjWPht8lXir0FqKVEMRXKXi3zoLwLsXFixi6GNnb01fNtblW91XDaNyya9228mk9wOMiQaaNMbpH/hpeYjKSOo+WijIysBFyGo1TbbEEsZdUAUm7hFxMjfR5hAbZFU0VrGuWglTeqA3rJG8WNVMstigYTF1I5qkUUUsaaRbFzagqTbu7bc2rlMr1kx42mPBkQuGJjFBrDHAjNyIyuZzILTOGrTrEq0bwgiXUGRdv8+syMrMsJGIytxIBwMNDRTWVHWEb0+wmqwrFpm2js5rbuN4gjpE4iA4UMWKvbArPM64tFUVNqIUkBSEWxMu1884D+4NO48wDNh1pQdMZFQMsvxNtJ6D6KsbY+tGTaTgTnDcSz9knuU9yFKMf1sKUVbZpmWqDUZkqijeO1sVaqSxTEoaaYjK8WJb+v86UNwwJ/XHovW4+Q5+95Q8s3NXeCo8yMtmwKoJ6w57n9o/N91IysS0gQgBGsIi/SpFIAw/17X4ErWnXGt6tZLSzEm0Wa3lqivOrkmTaJWMDaMXNbbqVFWIqrm7ayamlUTIKIJBWgC0VE1QiBZVBgkgIsDtfoTIylc1Uc4iolFoSCWTPaXHkbRiQGq+RMjKYEjK3qDEinxJtbGjo2ThUO1Fzc5fR6jYnqzE2B46ooZRCERWiqQD/VYVgwSLCIGRNxLiFBlQMp1XjSUJmoJqy27t7bL1UTpqqXS3Kdnu2tyHAVTMxWg8FdGT9SGUC8UUxQWEFwUUSWgUyMtXyeRSsVRV52uabLNuVPft4qvTW+81ryl7OtEmsmxrWbMtsXSsbFdV3VFq+Xyvf29TF7dbs2LV8S1u02283dGjTEwpJpTapNVoyz4a3v8dsKJIaqyTRkBuiMpLjC7b12giVQPy4dxg0OpqH+ci1yjBGmiYjILhiMpSCz8lgtSQlQC6kVPOOSBIykxFMyITIkzBsYZQJlCRZYk4KktBNiC88Jtg45+6pMqARwJJXMwHOD+EpuFOiVAyImIgXiB/AN9OlGm8TFHFYcFiUh7V90kUDUMwG48+02Hh3U2760GbNRPxnkxZMJnk1Cd3R0UFcBRmFJo5+F9PLS6ERPcNBB1KPq7R3WlVujiEyLtmLq5a54CzYoczIN+XRnXWB6oHZAGoKn7NkMWQED3B8T6uiJvdOEbcQtkdqqE1tGQMOfXwVNwHeCHpUCHvSz2FeRBLSpQUtUSQlGzNTMVKTa0bZTSzRpW00rKeSuyayUCWKRBRRCVGafTBQHT06dOZIUEfJDyZbrPvnKpIymigwVYS+zU+31Xefb1vXeIjdH4F/u8rD9p61jNuJiX22tPGhH0YGbRHx1KoTE1BAIjrmhrRp5xuz9ZV4TKc88aLrfKUBYGt6shtjbfTKj02q9yRBGCUVQXRYqQigm21LYiQg4hZSs2pqRVC7ZMBGTRtBkqIyuAsxHA9y8PegJ3+l7e0EYHWSJJJNEEH88Wxhw+z1a8MvE9Xut7eSGN93cmlX29ZzD8pOkULNBDmwiwEVJB0imF/n9+0VfDcbNNhxI/dY7DTcjpytbjlcMTVsbBr6r5lhMDhNsVvVJYfCEgbKJzSpEo2v8BxWh6NU6WbNRCdIl25K9zjrttZVPxZiAbQoMpoyMrmGYkyCKGIyvcEkKjR5gjLfzaa/qy5T39Bsnq0XAwho5IZYRu5smB4HOqsmk5X/iiIymoA+qiaJUTZ2X0fFSSSVDY4hwOTImPVNJ7NMIyd94yfkOYgw6X7kbZTq6gfoT2Iy0HtfemzQeiuOpkCevpPm15KoWaXfTvN+jFaCMtkaxFpGEoWpNJCZGk22WtLUm1GtGRjM1+mbsSaEqKln9WrXNtmZVNmTbRUUUympDLUxrMTVmrZbNrKaa0m1E2I2i0VoazbSMrLWkUzWWmzW2xUUUEBViEdz+6eBAOFRGH+mfnPyuHb0yDdLZbEhE2COAByAf4yKByoKkQeW0Wtrsuarbm2Lm1FaiGmKBIilQGmKUMkH+ICCsB3hE6x6Tv6t+YBvERhrBSRCRkCRhE8EI3Iyk6oSJ+LBdYL+UuUzfysr691BGRkXMoJQNQhbzaYHhRT4/G5MlcEk9/BKQ6YLco3bS7YIrcpz81Ve7Ch6O//idDkEEeMBkjKSoDUUfZIyk7nSMrm8H1pySz+4hEiZ+xfsJDFCVVSpQB5RCooiVFqAfdBuQUL2pbpAihypX1BPEL2c7xUiWM49DxPfjOf4aErcbzdrkU3syQGjq6SSHsZ5oovldAcVVApmrvBiJqRKNJk4wWmDB4n6N+dwRz/FaAiaGgjZDefHK/w9YjLXmRO0YDXpMBB8geg60ojXE3HRKqmwZxNE95tLhwRR4vV2AZvAScxAGKNawnEt1hqh1AzppUx3d+IysJochoKEFKoZCoDsUBwPj9IcBDZP4u2PxyhSq0bCGoisSTaaYSDjMSo/omOiMtZODVFFF4JGWIPpOw/j9fO56sIy06mD1+4iAelNOmjPVNozAcYqgoA3bRxdn7nfjUUHWj7CYiGLB6Vu4nHAUTqP58SWBeraMsLlrIcM8kzz+nc8IyQCQioW2flz12422t+FHrN8qb6FVPJHc97v3STKSa7vvNEHdEfZGGX0Q9HF1LYVhw2MW0oBiIjigoLSk+zNRjCZLPj4Gl92xrPnvlm/szJSGhFBTtSlgijGIwFiyHgJWmp8972Q/m1TiHzDx2eL2JdQ+H/YtGldlS0xM584RN1ZZZCRFBRZJhMXKU61SIGqDgtW0kZE00VMsRCDTTY0/piz4Ru6pYKPKp4MLGEFi5xdlFW2DB8Wr0BUASyRQjLW8YUbSAXREil5hhGgM3u4Sc+pEb7xLRzu32LFyDqDABdufU3S5CKKRoPyhaxAfzaUiE7aDX+rduEhy0Kkhoh1E3EQRSMLoJIys2gC80kg53jyJtyFfk8PDD8teGlm+IyhCiZie9swWcMbYJ4b6EsTq1oMITZlKyo0RaljUte6gmBgVGdC8g4yiBAtnhwdjLL36lWPPuD56YOupo8pGYe8ZNnkefZBogxB6SC6BAYAkjKbMIUESjmU2SywIpFYhChCmAoSk6mgs4KCMpPI9Z0crHaieCd0EQ9V/GksCbgFyHcJ9/YZKBl1oep3njGeMqSEiyHiEpHBVRIy0jLeU8aToT8yZ94Jn07yMpo2GgUMXAXsHWJzD6BXuBYOzhrnmgvPM0M6A7MBPKAepNIaaYZbPTSotIiKCkMCAu65M1SVG9Lk6dVM3TsAhYzfMfZG/t0ndgPiQPNJOrIylQVZESRDslEAFFkWE8LhedKaAZTYjLpRVKbugQ72hEHFLMXSYcxIkiQr0+CxfXogFih7mttHwBmkVEK03a1AiHWcjHd2tLTbTXOlTdw1OhdrWxsbScTiLuYtBHC3CSEgMlJIEge4JPspqRdbga5lHB7N08J2T9oAgXl5f9K4fWH1NuQY6fimtbgYjjUD7cCVDWMoY5Q5QIZM00S4TKE7g7PgmYNK7FdbyGpiMpInzSCQR8Caev6dLxf49iD4IM+OpxMtcpvP9znW+s5L8jLfsxwus8yhVgXry5ECTVWSLbryGyW0ZSA1DoEiMHt1vRJJhQWKt1VLKEVvveeIWz8Maa4JOFebbYuXPPS68VAu4jKwLvg1wG3sZSHWrBoUYTDtofpWWB8WxRGKZgOgilRlEMGcA/sJEG9JSxKfrnTqoxIMNLZOruuslpKy9Ti+G97MbcOSoWnRqj+WlMInN22umx8vTXJzCF78YuWHPXKtlUs6ZjuRiV0/n+tm0udXR5Z6gXoMBqR1KChoLQWzRvLhdFqqRYEJAkFLsaKIkjLVtFsWiUim9LFhsqQIdBjAFkG6+nuKDw2UyPvIjYiDsEXbw9c6/rEVeZwN28ofEIu80MGtXUziXIsMj1mNTLHt1vo8Dm0dDBQwb+nzbgqf6IoBIkICMtbTjDmh690CZwNI93bROAgNyyjodlluhJC8BcyNkTYfGAZ+nNMWyOJvfu7IAeb7fJvdPJZPgeXKrEP3CQW5UkAqVGS1BUYIMBY4WAqWDUVqbRK4kRJt2IR1tSbW1G1ZZd5dSXNtul5CVKiqijGUIkECMtJn5/v957zzIQLoyf8qE3ddasHhEchVsI7k302oqpVVUQEhVfWQ8L1P212sCxBIwXFUJkdZVo5SMpwlsgUzNSowd3HgYLF8eFWtZyuOsrGO6wltwlxICNMbYXpBRgxh6y8y3ksm1eXO5pNfCKPTVY9NObtYZJtgSRJ1xhGJTYhjkYtBSJhk3om1wmWJHZMZSs5sxglpmJZdkC1cs5yDGnkJdwp0ekN5AmQ262rBETUabbMnAYEWBw1iF/VtWgRobDIysg3xubBrBFIqohYDAMXRFLjvYhk2VwqkM46blPRAT+k4idpxE05HuhuCixGcUjLUkmO0HXl5/Nfp8v11prwD/khpiS/y/hsmJ1/KfS7af1vhVTkZBJwex5VJy+CzU+MojCWZTErYd4dCAPn0CUgHNr0S2Sq/Etq6tKTbM2pS0aZUzW0VSmq+5X51rfkRK67bTuq5Y1zW6aNcrm2CIE+jqTwYHD8m8Y/MQ6Y2PC5ZaLm7pbVMHh8A5bkERFh5d1rNWQqHtmyKceo5cd52FHGnoooxAjKZjsciYehHW5pD7AQJNAc7QGEJAq2FBQmCIEcRjanAgnz6XHpjWHyRXP+71WHbOOUNttrJF/ffsVgaSLLPBPsqskzbjeM0ogIkkVggxhVVwErSMtlDCuiXsXsMSHees1z6SZY4eZQb9cn2DoEcniAUXoTOAuoHSiAUjeqiImwC5A5HrTN2pwplMONPCaes6twhe3TkP6QgxTMWLThMG3LiEzpikpipUDaGuZQuNiUm40q20QKZ31pv3POmZmtoplokCUzUHiPQlfOXdY1bPTn17P3r0x5G+abt+JGzvRwOeCGn3uwydo11rBUNZcEGETs+FcrKPXsx1ERmAog3Qvf50SrlhibO7y9x4jKRn6kQ9J4iAP1YCjZC40avs7bB7YPXEpMdcZVB4dyGMqBkGsSrIo3K1oKzfswLTr7YanrEYmTxk4pEOBjjU3o4G5GNjRYjjCZczl9zBZPi6SacGFnjK+BXwTWMx+9DSl0iNYv4LbOjfdBMcCepXtEodPgaTvhkDNWiPelPJgwrAQqK+yIy1bSiGw4Oz/fp27WszFneawvLhpxfCCezEeEtwIxxys+TtIj0aQk2d5G1o2Nr0q3C+pbeK6+pyW6xSgQTjnQoY8ilLoXnD2bL9G/YCgbwvSBfiuyXVanX2/aVLaf+5+UHflSsLIFGMQ2zlawupLEiA03dFyUCSA0K2qUDLU0VKolXAiKJeIFEVfexQkGBkQBKKEHCEC+hsfhiu4weh4nU658TzTiORg6DpdHfYVoO/9H+i7ed0lFBKqsW9ly964K2K4r7FU9vvySIfDlt5dPpy6IyvzY3vLvSd1dYfvNTzaGstXeIGuNIWLKgEEeM/nQpMtZz0ro2ROeSZw6FGUOiMrgkpjUovDmSEvaza1Jby8InRsfKBFYbMueQguSJ1I394/NxNEZ6Du9nw3JIgsv6rMO0SBmG9+R1pRogJIFFSk1agskLFc3cLZXVqW7q11yzG3W6zbTSrLLamVpk2lrbMq26rY0bpSl4uSa61r5SpmNas2qEWQkh3YO87IxOj4JDvgeP0fVoafohdSpMOHCUzEbEc1LYCRz8aigWya+lFBibA3cPvkYxtcDIyRdfutM1J7T65RdK9BARMpgqh1+mh2E5y+JsTaIzPK3bhKUylWpairkuI2/TlZJEzg3klVQONRC6JNFYctRhlhoPYcB7Oq1Z0MSKWUWqxYIQjNAxntMB1/xb31Id8EFxtePK3Am7cUZG7Rcr9wbwuDZ14vgG9TJlZK+0GzQPE9c4e6uyMr2viqLEVD9nrt5mQbku38/YtjJxhofZsTn1eivj8LGwuoGoC8a8zt1NNa7KtvqV9BK+ntv/Ga7aLGIKhipXKVvtUwrLT9V66Sa5MjKbit7KihqJJCH5sjKyMrBWs8BOGtmlRCl2mQpZLVROfx/q/L+n7X/bWFjfyTFSrOLtDKMNKL24W5Gd5YcQZBeyCfL20tqkKE3COeWhWIWLsRiGohgWNsTDi4FJBn5Gre0SWiiz9wXtN7hrWUpXkjbewDciMtDOAzKmoaoHEwecai4HpBdfLOzNLXiVRD7H4I8Vi7ngSJg978NtzwikUkIOn5Pgm+2mmOTrRM62chkSobnLZA7AgPw+af8wvzflspJgnoLf3Q6X6zpG7kPJmyFMCs7QxkWnPGuEowH6zBzDcsihF3A3F5aBwaDuDnSXQBuxhMNDcOGnhpEHoYDk/vEmNMyNEa0HAf0MRhEYdwd0Gd3WihaqhKupbfXtM4xSwvxyOpliMr47wyfbnOtKsg+2tw/Rq2GnjrJoH6zifzBj0jK5PQZEQ7LEIjLQJyHgaqH0ZH/dmFCOymZ7J5nXyyB5ceqQlwHLT3ZIKQL+a2YOheEZQckR+a3T6SNxHQoaOP2vsDKZsSwjZByaYZzWeTiJ38WCzaY+FAFJDSGxLcy6C7GH7KNv3MUomBPjT68ZA9nA4MZ2WFb3W3SaGUpGrsfUPEFPsO4AuLDv9eM+zbr7wMpPyEEGBO9IAUqQhh7Hm7wLqAFsdOy4GFOMAGSWpCuWun2NirV4rVY2xq2NqotUzVpK1bxzWqLa5VtfMmULvCnaZ6nd9POjlIGCMtokE0oD82BwlyqoXebW5AgR8tqcOrrZxE1Iojcs9h6yMtKGwHWV7jYAF2SIiQ6VZ6diAXH6i+VpIGajzOWW2oVbr90cOM4IOKfcAYVNG84hQHHnxRhC3kcwSQyitmmNIPFugR/ffEnkJh+HaHvDrUM5qd0af+f+L877gBJUagBRGjaeavq4bA8yMpTgb72AWwvAKDeGJAi9wUJR4jKZZ5lAUbgYKE7xD+UyJswr6ihNIGn40JnLQdTM79uVtLXzM2LXjVH0m+GMfDbDnoIxmHllRXApLB3+uBmYLeZiqyqRkSHHN3xQWRS0J+Kau27Si3797220uNENn0GWiMIbuSeo4+9ALHgbHO2jWRePtiSKxFYd2EopPNuSNwPpR82/n8rYz6VOV3IL0jLWEikNKSojaIVE6Yr9EtBtDYkCMrkFMqF9hA2XIJQiKRHg6SB/mXQpVkVBChCCtFbStprWYkcNn7+q05sCUQ2RBOjbjIxnrSiC2lLEsUspAz2w+Hl1S3TDxvp2EndyKskf42O3V1nV3dt1xd2Xx72bUGUmDAXLEJtB8/i/pqpNSEcsrVeEP5jRh1cRVXNTH2GuOuNx19NWmN07Syc4Ifr/jduhocqqPVhziGBp6hnknpUe33sxnw5a2WwDBB9X20C9g3BF1CSJHmNeh4RHHH0d4HT+zh5+tmbz9wEY2HZVdsYHJoOGK5L8iXSdgztd1WEQnj8/GbaT7dZiMtrzZd0SkWGWSsaFqSKS0I3CNppJB+WsuwpEtWBVx8EtGns0P33Hul3Y013XrztPHJTnhVvF28l15bqXbZZJtrurtkjbTJlYpMqLruoquu/W971t6rbMplwwMYxD24mtUVIy3GmNiaeOGJkalxYVnNg4lIIUJQxBkVKZB6to3IahRDKNaGWgxKA1EElp3btLrt3t1rtX6+ubS0W9OiMXtuwSyeSf8stgEBfyf4M5DCBIDaQ2W1krs2+mV5Fm1ZlXOkXnXU7d1lTKWTSu7suk8m3yMr6wyJBiwWIy0jLbbcspONShAsKxn1V4rSlA5rW6z1vO28qamymUxRlpLS1mlYlJKMmNpKoUKTZlopsUtRiYaqUtL13HqdrKdSSARjSbQ1CKMbFGDY9SMt0Wyr12uUKzbDK89ut7Pb27NDFlJBW9US6VlyKRkrQxjDDmRQzLTiqmIx1JsIwdHs1cNITQaIEGIbUKXCypyA2yNbqpOOFd6NqkMqhRo0MNB9cUdYSLcYrtjAZuK6zBJnLmiIGGvdRcbRGiMrEDcU3BaYcWPIZNh0xaZTG2MccY/MiiIU4NCwqNGqQxakvba4UNvXdKyzqcgjKwcMJW4PQYaczWEVFW0m3ZecXS2SmliUOUgWMJkQSIrmpkTIDKgnNRtgtAMjIDXLBTZjIkLREQSaaliyKVgxLqoWhYpGA03jbjAtpdWDQVaLSWlYgbSQNW3GsmWMQBLakRgiYyMr3aIY365c2I4YY3gsQwuMjYykxlY2cMJogTHIxtWqEJpNKtAxu5hnrb90m5DTPsde3uwjKwyTYVRhTzcRHgNNyYPFMh4RdfvZM1utWNPDMou0L66WksZjPHxmMM8YgraR0XCqsMuGoeOxeLLTXbMFzxEjLb0mgzRlrSMsWhiVRvw0kYxZDJdnuSHobYhAvUSG8P2m9yGhotJW/rZL2ihgvDwiqHWfZxDeZFr7KyB1giMr7S2hb9H6KSZQZzVSvCokUt8akKEXcQwlDCMrtLGlW3jFBxpQa5YZIY2TFa4J5giowMDaTSMgZtJLES003yFNb1vRCaRN5PdA0IYdM5RWQi40swZVlyKxwtigTwHRb10TYzZvYtnCNtenv6q0hcy7dALQHFDdIy2yv7L0KFwlIO2jTOowNMCNTUE6jB2xsgMyhW6UjG/JDm6D7YPNsRghcEKIqTSTGFpRQIQCDBDQaqCNIbAg0CaVIqDAYYCTQiYgxRNjKNJkQlksoti7mmEsQkmELv8jKYJyVTt4YaOUNCsjLdhmH6PGdZAHUGtdvCI5u63nBVwcFOc1iNWHCPtMWIfukNH5yNG00RjHh9f2reaJk161t9O1a7CrulVgbJ/BhQxGSCIl9R8iOsiBkcKNBbEyQf2eXkXOymes0PA09GY9ya9bJGm3fbxdY4OshqYVzcWEDko79oa8S+RYMTdRm81cUlFLhM4PDyMrKWZqaaqeDIs0zenfY9kO9G1WzP71wtmEuIUEYeCBCeojDzbk5jbelFds8+hvlhNjY7R3C03nQ2MvW8YRvma55bNLAomlhBkUyn4BPA7madNpYQZtM6ZD1XS3K0y+L9Je277N+PgdSIwScdOwuqg0UUd9WzAkePo+gywVCYUPgLpI80SDJvAuIy0hFXGoeVpoRRGmXDBnB16o6c8kQry4YHD4YzUpJYl4XEHDHmyH94UnsTSnGMFxVYFNEIWQ3NP0+GrkrzdbevlI3SULuOM6T7jT+VDe34/Ua4phwxDpZcDd9CMrq+2nDK0Eel444Hdkaj4/QEvtD7AgD5/TrWfmzA96nIfMIytgN4pISKSKyQgBB1H3KEiIMwxhRGwtJcGyWQPojIAjsbKET5aBVsgcImSOzjjW8LClyFxpUY0pBiXctshbUsm8bXZW3DWuY1ZNbvHSbFqNvLqS121uVd25GZu68bUV1c0ss0VkWZCxsqa5wqd1WitJVKpWrlrntNulWk3k212rpeebc2iySrSThBLArD4DI4ZEVh8rF9HEVG2N0emUjCHsHaqU1zPowh1whzk5SQvhqprWXtttLgmtWl1VuzQsEtYFnnJBYQuDcKQigvGNll9F1Xe8WGp50lzcrNe215M0okiSQsIFBRiwgfB575MprFYUlc7aprq3s2qNaK3i3UzbE/z3aoZRbYrAKZlNi2NaIxWZqNoqKorbMtFBqNFRTNGslZlJJhbNGjWk0lQotWYEARTtKUhUAoOU+nSyQPw0NIeP3xTY+itWvV6hpNVhMElW827DPZHzL0bo7ORs7Q4PFzoItE/drtIuRDaxRTXKc10ajgdCAoJEB8YBEiiQgRghJ2SnimzRrb80rfjVquJtteK3Sv3W6iJWKU8uuk1XdSVu3aSlbXZUbW0ZKyVu6u0ytabbZXrra60lRGqu2maaKf90hyHibsWPoZlmAfMUbPCpJ5JSqGQ5sHKAIyuiRkkEAkd5SGkXYu7AyFqxQFgEBDWidZdAfpTmeXf1l8IULig3ld+KdiA74rAIRAzLvX2Uw5sLxkNVtCPrCB8mrU946Plxr0a+Vyj5tcsT3VJSMMpDyGKH6EUaJAO0/Ftks1GHjdDUeFx1tmYsWMY5Iy3eH32VSQbGNV4BjGPTCEqA0NIUzAatWYUg9sroSJJpowbJ/JhevFcjJ0tu6fKWwg9ucukzBYZkt/U45ep7fTFyNMbDockrRuGLBLuxER7d9LdM/feY5aWZsZnVKNk9CHCTlJ7JdnR8zgijJRmcKE44Z3ej6vXjNnMo91UMRYJTrdEarsTpeczRNuwsoN+jNjKxtoxoJR+mzrdUgaGUVdMu62eLwTQH+MO64qCII/aTp40B1hk8vKfPY80w6yJ3yoA7JhMm9NOcbiMpQv4E6D+4e6D/omfmYRI7jSZ7vYG1hHyZFvOhY7CiQkc/B5NE8H0ofOruPaGhmicoivwiKa2sWo20JbfOl+FbV/BmvJFG/xW/nTXybVZL4atfC2Te/dQDIoDIgEghUFEsFFt9XuzuKTLl96cg4Z+GKLjIHzwBAwQBbX5Wbh8jKT2J82vwzYZyYuQlxklCERCDIy0+8sKUxFBkIykogjeBYgiPGBQRuSMtGkQaNGob4iMp9g7SkEfhrRmhIysL+4GQYAGIXVGriI75JIgjKUYEImKNttvNsW+frFa87t2J7LvGiAxsbEpAtJGl6PMZakUBJiMrJMO2oV7srHvRSsarwoIIxBpmIyuwJlqZq0lGyCMttuIerCMrYRAYzBjHIkoggMKKpIiLFCoUCVgYIysvEaKuRtoGhmCCxUP54BEWYCMpMClzLCgaF0C2eE9AfXbO7lGQSRIyBEkIRieQ7ShQMbp+Jl2tJe9WAZ66PfGWftPwwz3oi2qtmZD7z7Q62t63x7hNOsbMHbt2G2eg3BkOUYxmK27fvN+4wgczr5gWBEQ5EVQXtLEJCMJCIN0DqbgjKeJEIAH5et8M8vq+L4hVD60PuqmOD8O33G1Vz/mgKkeZFKieVlwaIytSBfkzMwdYhNZc0vWgKRNQOnSY2u5AccodssaCjIj1p6ZO1BR1SNKJn1fz8ltLVlZyejzzVa+9G70b6Z2pcY/2OObktllZ0CMpYiqcOPGzm+YVRNBwwuPZvybJpfJt+1MTNSldElBmEEEgYYoj2LgnDMzAjPxDyBtDXbesMxzK4pakKPviIPCQWCNUUtTSWx5yQCC2jshh5GDeC2CIxiMpCR22ssIrYcmx4/BUhln7wSSboE1mpXrw7n2PtTy+3yFu/0XsUlVE/nTt90PJL++EOaEbZaOG9mjAA+JFiklD7eTvQd39h/EjKfs54SSD1RUHqNNhIQchIykqIymRGhSIQDoRIy2yKNh/wud9BStRKgnedyZ2nL9Og+Nxo4ABtiVUkqVHa1uGbTsq3SZ+qvN5tTofzfLnFWLImE0lIVdXdwY0ySlYN13nm8yoU5q685haZURNsZTbeNbrS1i0UElig2C3grprSbR3OrzeTqOl1h3XFzbu7dIrpeLeNq8Uc1NK8vLrXOWzLFkujytu1rFG1ryandbUasVNNTtdqTJWjRtPOu4yXXdbuyuut0U1nddrmrqHOzYtFSVBAkWkghURYf40IgcGyilwVfWnrgFw2mE2gxQXs3ergj52Qyj7gt2sgNjOj9vooHNDvU/v70LQRGMOmL4QhBVntKC4Iymd7AS4Ir0fWC+gVU6E7MhH0fhHaiMtdyMryKDYA9VIN0U8UFhEkYEOzy7/lXnVSvezFfMv455HL6XjJulVWi/CF9yB6s/FEn2UIFB+b370/N3PUm47A83zWtvrTbaNZmA21RKZmobULlQER7YiFTOSmkLUXf+QuWT+yKKRgCaTq+TlZRExISQYQFhEGQRWEEkhBJHKORE9Z4QvF9SqELfLl0bBsrnbZ1113UqajYozd1rvLtt5Jfi9byEE1mfiqoxN9U1akzit4vH2FKCaQzigS1KYAgmMRQWS2q+n4q65YLAC5M2BpMVAUIjFCMWICwtMWUBIosgQooAqAyPBlgORKKBaQaZAjIIwCGVBsMBDqnu4cE0MwoT4Iy0laUSf5cS9uPsjLUSBBECRFMYjLSMpbSMtIgQCgsYPefu/ZNh66wG5A06Q2A70UFeEFWQCIpAGDFgCxIiEVkVSIynBgkOAF4rlr8xcWx1EEBTYJmg6Iy3FYQGIEiopqTJtjVam2qN+H+Bfnyr9N0IcZJA5n48JqpBQQQRgiAMVaaUpNtX+Ia1FNaFtUqFy4ZcjKVF/1wctJttTPjXOawNqHrihKc4CWICZi5H9/xiw8A9g1CQt8SMrhke339d9ULG1F2no5e3C6/3yAbwZvSJMmYmwIJggdfODMzP3P+N88YAuS8UjKfoQZYcYQfyZ3DhAwYODZAQzh6SC2Bf280XXUN5BAREyCHHccvnZROZoEHwOHvFAIaWBs4ho6tMaDgdqtoC0PXVB/GR6YFrRpP42qijc4gwBqyRhXGSazBVDEYJx4QIIkUAXEghsLtWVQaEm1FGQATGDqiK0KsCDERgY60k2imjdBY7MkKhlG1AQTCLHixF3aDTQNjjDcqwuEtFILIC2gFJFLQKgyJUMDEULRUAtGBeJGhZbrM4IQkidTL4VGKPkrSeo1dqwd2cqsHIfzhhyZCQSRuCjnAWRMouuhCXLGVwjLQS6qqM5/US4ZMssmTLlWMJdIymxPGLmu8sr4vL16uZray1GqhFFkUQbqjVBRUCRiXNgQMJlEHYaamMsgTkjKRsjLU3btybQuEGNER/Mm7kpE9GqV3zI5b34fMS1XhRsslCyqRoaWmggRhKDFBQHBUZAENYJpWAuhexn2+FOrDciHszAU+8kYwkgakEDiPKI9O6DKRqIhAIipEgSEA5+2CqnwCIZxFPmigVBZEgaGkuvVp4rXKtdtNUvozRW26A7hJO48A/J+KKHQNQ+J3zOYAKfaU/2iiJtePM+5ifrq9wWGdixRtKqi7qCr4wWkqLSapQ4+Uq+lmk0w5cZyOycjXrbXV3XJLm1Xa4ivF0F3d5JjgQhP3SNNGDMEwY0tPBxt41MxuyQipXZ/TCacCMrMozDEoFafJ/Qdn/bKpSD4Dbb55BxJVhbyZt7c5HW6bf3Wvcydl7/WbzpHpeVO3LZhTsDQT0IkBT6gieJ56l4bjQ7zzQbyaQqAfo0E+mO1G6B6IVAIyvT8aojKyCDtOjgiCbwGQF/CC1UXaVVT+p63SrWzKtptYBZOgO8KbHVWQHkFcjB7qbB2P3QRxb7HqkgiQ7AQxjnRte/gTr/bx/dHU8Z3h+UEER0WKSNBqUhKfubUb+qmUYTe2OcQTMUQ2B8UVTYFvzh6uUJ4ePQ3UL0dJJp+t3GTN4UFL95AkIJO4OSUSEUK5Qxfu+5KmxhyvvzfgG0HiMpukFcdDRPN9M3ESMr5yMrn3li+xMph4K1JCra3G8C/ChxEug1IgfVOYzfnzqtnXObrGWkw90mt3nizYJ80NGtkWjz4yMtMJjbzoFY+RpKAiMprAYTPNo3kS0+NF80Pyd4q7jf2b25Ynh0QD7P8Uq3gcj2IHyBDCYcQLwPTBXGsiHf0+Bh/yQhdVxDflNUEQ6XpW5nxHmsdYvyx73xm3g2+VVUYPskc5yyi4xQ+CXsiod5pyD+V9Jj+aw+iYhm/ARrPatlM6FurJ5BJTDgOvu7Qg4hrSMp0Ng0IysDSc4MsCjVtVY46wkWFpKaLCMViRYBY41o5hpKk3raMbS0wZpNQGUhh9LOpJJETiGOO6Ih5decyYd9LKCB8QXJiqbvGcBYmYJQ9XHpyzmulx6lP7ZehEOEMFi4qV8DrXFMGO8MR06ueq2zfR2YtMj66I77dkdR94441ylreyMtcpqBp4kaqavXrzHn4O8p37LapIpM/dMq9/o/xYxl1mhI3pWoo6BzvtsYdoszMN7WyhcgMDltMdmk3wyF19T3nn6yzc0ev8+ymskjpqY9ehy7Y3Up1ZA6Em8yiGEDFDgYYWBseppqIXBvZgcCIFkscAMu/metHsPsPiOHlohJPlW5Cz01eP4dc/merzSXfSePoJTzTw7Orq3ZbgJU95Z6IRXoQuWcED6TBLnAfVR4FZ2v2nN8jVOpHOAdWlNBvKd8kUL60qRGe8aJmuL5HEDZ6phGJ6iJ1B3/b9nBguRYTQLEQfmY4ln9WSfDaRPSv8vZAwJ1QzcaEnYiNsI7S0xlYhsE3RoaQiMp2x1PUc9+weTdpsQUIyujI9cVk9u5oi21g/yNfDGdPqh7BNUVHDQx9qE09taRlVVlFVRi32+/OgaVPwGapEYjLaLPq2gepatyNGqvJZNrDu1crvQ6ZheECw6mosVs4VA5Hpsd/Jd3k9SumXONDmSvya2t4a2Zuu3fSnPRZZByRN/44dPOae2EmRbHr07+LUnPdi7I4Rt9jBMk7VUhMm9Th230fm8kMOLgEOIlD4NuezbEswtCgzxxNLxWEVAxBFSoEg9RYoWh0TLDhpxdTviN0Y4HxUNEdcB995MYhAn5TbMUEHdZBborxy9KRMO62KDR9jmKfnDqy4GgGOqGbzj2x5CtcJJIYoDg5riZYkXkEuXUtgfwPmzHeyYejLU5MqxQQ0roDHlPt2FFVdz2e7rewJz9OWARnn15+Ri6ZS8sEJtkIoooRkKccedhgPurDC2/Tw+7t+CkHktDrypwIbg3/Yt2DEiSIynaCMkgCelT+NI/EHoC/4Q+cV/oEYN3uIKCkghIMIAyEBod24tV1SMroD8vlc4SM+s++n0vpTAyG5DgnVATdXAkYxOYbD5D68fUfInZLoL/mfP0nB1LeIeObg4IIpmfIdXMQy13/NT1dp9poFuBfuXuH3P05nL0BpEjKTFkbHyENdFWrjkvky6l1XCpKcB4MmjFn0cjBXjUUWdkOIfABQfJkk8jKU9UUhpt/lr8OiV15cyW286kwwwaLHOWwyMpGbFzqgzV9FL4LXCFg8DZsNazGU3p8gNqzDFpMeQFMKEwtsxxAzQ7noxq1Y1Vo2qySa+5rZVmrtYw2w8CZJEEF+NeDtz3SbHYIDLHIy3z+6GYmE0QnQkpaFYmPTyocmQg+iIw5XOppn4b/1vrLpHzKndU/hLMIWb0QCrKWSMtHzhaBaaWqQcjoT37tvkGSig0qFVIAaBFVsKbE5g8IXLDIe+gMHX1wO0gc/6TwNdTtdUjLev6ZLBtue6N/PPjTQazM+10zO2Lmj6bPl0nwHkOHIaHpxfIIov+mpsOCLv3hUdjDuhWIWk9ECiXz7QOy/1gOdit0BdoQWUI8sHgfpEegp4g0Ef9XLCjOrWFRGBkxD+zNOKb4PZBN2ygA6gydSNIOyMthEwEKiMoEoRCCIOID/X+nWucDmTQDyMrqmFfjpdP2tHw++fx6fHZvZkJCRtP+aVSKtNuNxR8iSOZEfPV1iUx3J9f8px6j+uGza4TjiMrBLHG1MzQoKVsULOZG0lEGp7cnYaBEbxORlsD1pHgUJJE7ORot9aB+J0ajaT+o6wVaaH2ySA5bFEBQSMBa2sgd+n0wTAEkBZAiGaJIy3e6sg0iEFDUs87gkYxfvy6OZdDPna0UiO6CI6cQF7/jvgH61htaNArFbP40tUlGsYtrNtKaVmpsVNrUopCLOndrZNzwpQvuQ4mQGO7P39AVPmgdkQQKoiyE92Pv/HlNNBfv9CpaqiCMjGORlpILCDSkoRTYYakKwyUZkxGyzRmZMsSzRKCTDZqUgYIqCKqpD85OnB4gEPwYaoHcokH3iPtTMfem7+bn2/ddep0ilJJtuGzPGMYbDQaMyMrrlMYcRRjTGpnBmEGubwcILQCGEkyzlLh6ty0qv11c35fcfkY3eZTCPDainexi/4Cy8wST1w5StMagR5yB2FoguKS0Q4+xw4JIOCAgQifk+Q/gehMHFMkeEYgaMhiNsISDi0LYG1sIysjfCEg41DUOoHHHKKMjlFQcBYm5/QwxiMpsayxsDSNGDBcS4tFx7eB7hU6IQOngpnnE1WwjbTtx8fcMhgwdcYwx2aqQ7VpLyPA8FHTcOZ9T8fZmZtwl4FZQxx6/tDGGfsqtUw6ZqZ1A4LN4Rc4RjD+3Ih18/607a6Vk61DEWWxpJBSfyKIjIYWq21FZBkY3GGmXNdLq5sVeqleFvNNRtIhlJnGgEXIJhHAbSCMQ1CJJit2clzdXbdkne15d5C2k1RE4jRWgYZAwpW2Yxg20YyLIymtICMtwG0jLTSR3wiEDwmhgSMtEPC4VCHIxZcWEMjL/OsJIylVkCKAzamavG3JNudOWd1ultbbgvoSoeN8I6GHLfCi93EJhOyrgJUcERBWLlpQT3VwzTbT8yq1uSxeGKDWQZw4wrKf67dK/X2msDJCPu6w7Y+YFxzhLMlwKGZMnIOaPOpL+JepcN6KBdkjKxIZpWFljihopGKCdGyUPGjOYNpPNFAxiBebXY4jK5UWk2mgI0hsvG2vWWr3Vu9sq5dkMil10hB4JSMTBuKJVoDzHkjaUptUbSaRSlqENJpqJsgyED3EhWgIiG6I0mNrBwgZFQIyyNRSRQ5iiwUo4CiGMZulRRDEWilRgmYjKyyBAYykcwdZVEyuFVadLHmQZMrMG5G8EhIjNxELFgnGqkVlGnIgVI7W6wjqo42lWNkjK8A29ZaUZqQx0biiUGiUjBoUIOqvht6ec2sadzZt61rN5RPNXeb3aTMdxoMoTE2ybZTeIy1l0sulpe6DHg9NnL8jlgYBWJTkUdW1bupSUS0ppB2xVrg0FarjmEFgSZBwjzIUZlDGoxwVSxegFaZ6klEtCSMr5Z++3bBRGRMEoQzpBHIzdSIMY1GbYZkE6zpVAccB3VDdIa1MjJXFkYONDzdoZIBo1TGNnXWrMTcUdJFvbNEGsBgMhiMrw5uEdGi5y6HdRoJHmqjkqxojKS4bApGYN8g4MMiLUaTjVGBoZBMVFuhTNKDWzKMiSigbIaYmycomjq4Q0imqSoCJrjy/OECedk10L1DES0hvGog7VaBFgNlUwFgbpnBiyDVQsQMurIZYCy3MGaZomWSIbSxoCMI0mmARokgmYWUxpEIwboChlCBQ6MtJHkiGsSiviXhmC1cBeBCl6Kp2hGQGJypJYQkkSoqltCTBMYQYEE0ikSIjKdLClc3L1HDoyUG9HuYZwZDYaDntdoxiaPTeBVVIj8WGbIsZrzpjyauhhgNHQE0PkKjWBppgU1TG2LeRljca3SdDAjBjNs9lj0wXPEDDm00XOEFGXgNaa+uEB5sgtV4GPBviBEFJv7tGkcEjKyMpbJsRuIqpCecohs88GrbS0dkDxDcjK/NGwmZU0l3d5mJI1DUdJ4qyIgeLpo3EYMWwRxiqSKAGyEbE2dSDkYSkTC4LwkzGxQXAMLnQQiIwobSqEjFRQRRkVJgwBo2JihAvaSy3gMgGSLgCmjRPsQKV3nAe1ppWfzpTC5/CqSMtSWYwpVykkWIhMh/adJE1BjwrUIRhjVZWp0OoeooiiKtFrY0LU2JaZmQjCCmqj+wkjYE2qgfkT3d4BZQ/Wui8slW6mHVJ5fm4X6hZBF3FCAm7MgHgEgXO3AK7D6/5DPK97lFQF+QxSBjZRPOgo1PoISMtKMwuAbgPKKsIKBIDIKkGIy1RoCpvIAXLBqaF7HuIEInuKIUjKxBOQeBXpCI5DvJnl77G0C8pWKCYGSMtkH+Sp+J1glEpccic4xRqIMMXeIBQ9xstZIQo/7rSrxxsTjrYgrdXV021vbcdSnd1eUEgZ6KQrPgmojFBsNVaSdQwY8hfJRsaxvjfNRuXO1nK1/YF5fjoB2dlElw3NTdluEiCMNm8BvCimoBbM+5kx3X7/m1BEU3tuKaQu5dneWsa4S5Ec3rhrqfS4lpfgBiH0zvKxyMrsjDBQ7s1vZkaX7eQRILX72urRhpi+ZaBRrw5zOWDS4JPiFuHNuJ5giTacTrUDP6lQf2wIV37iME1ms6l5h0MOC8FDDRiwh3swaTMkrP3nYK70NiYjR95+NdW57dAO61rB5XQvcha0C4a2m6cKa9RzqfHq69sF+PxQugZ69f5UfrenHcqvHh73zdjERudmcnE9GvgBM3gfV1+WzaZnKCfAYYo/aVZvl9MdRJ0NJIb2akvIyvQ/U8SDGMIjSbMUeTgU6SAqSMBZErp+hOwTIM9AqTwbCD22o7SuOXGFwvoo/pADlgur5zv6nW4VNt6TpgoVFQ3sHfWu419eYcC3IpEJ49E+gLA92JFa2SMEInF0iwOe46DgwulEIBpINOFiSQigiqn1ZD1STAaFqonbGerDMGp837D9nHio6s1blpVQiRODFhptgMIKAWhTDZgIy1EYGlUTZvib2b84nE6QHE1xnTf9mlJApCmQnMZbJojLan8aoMpVUzpQZSXFLqkA0urYtFEqKsgjhKYLJlphLYGRAmWSTEUQyMrosObavHNXLRRvG5V41WKOmqQ5W6ba8avG3jVRq3DVblRGLCf3SoULBJjUkjBuNsjKY1jFqRYxEaRBoMYQ3A6Hm0VMLYG83QH1xE94F0DPi+pNPYHoMhvZGjKgCzIhCMpBzgjLZ4kVtAGgCMpq9IHsf34HIipdpIwd/du7Krl+GaeJsp4vCUjLfzxDoRPdFKED4COf5FA/cQjKTCbIyn3z+qIUlWPgp1IhhN8CRZEIy2qKZNvfaxt5rktbs0tdxbdd3Ddls6LHd3lwrwoFtLiEBDwVLIZGxBZDBKqsVqKqtFrbtaia1dKDJIhETUG0iWbKwUjLUwDdsnIxB3RIoicyKMCSAyQgiD0fw8Q+YBAL7AVNQ6qF/7CqHmqhtXoidPMh+Ny4PpIJgE8yiiB6CvOB2cUDqgyl5AggfvioJoL35sz+88xRDw7zclYe1DC/UdBk9XzlEgnTS9J7doZsA8Ij6YiJlD8W/TWrravx7MqkzUo2ijbJspRRFGmkhUaImhszUzRMplICbG0MttRtVirVNptjbNUapIEUIsgxgLBIWHv0KzV3RAxbMZArZAIMByYxEbK5Emwn2YUuCYjKzGoPKGWEcUaUabHSCzIIysLIy3DWEdwEgJWiAySIy08YsbpESZCihYjKdg2VsZEVxDkGySp1CaYUMsQHEMMDCNDREIJIyKlQVIo0SMpVYxUGCLXZhCBRfIjKQlIUQYD+f8dbxACZ9tELRBtATtrll3SiLtT8Su166uUtXMg0AwuYpG1odoHG4KFpugSlR78mc4/XSa+SsPKn175f6vMz7K0ueOiKlNKvUD5gAMRghAPcGxw92xsiPLfgz3KNBiDdnTFDvobs15UfE4TbZMUDAWDECsapIYtWRkBBMdDeqbW3WJDvYGRM4cPIy1MSQPiaouJoqFplED8HXjaWH2I5Q74Hy8pIdoLGKCiYgiC0tYaEsSUsuQSkBjGMzU+iXkCUwiyIyCyIy2rUVaIiVcsrIGELtyIdXg4LHQH2Rzi6R/hJBKI2Y9tfbi5YlZ13prjNrFkBRmapFD7P3a46G2NMJBjOCLzp0p9d+yhO6kPtkPHrvMZ+3iBmTGBPLpzSSHcg/m6RMmfHFX1cTuJHZB2t9TX+fj09vXN5fqnRvbpPXREz16GMVB6aWc7Qb5nRO12n0gjiovs7m+nW6OQ87B0IJxpc6BxK4hItpGQQiIa3mKT7d+xW54vfZHgi+EI8emapP+Dta6IpHLWENx+vSvFnXnsXz0oL5JRppU6M5gk+TNOVHY9Q6DAOoQdEzz1uBlDXRbErpdRt3v19HaMu52uQ7opd13TPh+ESgHWLiMt6cW36IywzWdPTfdFWwdcS2Q49JO14MmeDpjFs3XTU4/h87rhdGZm4B04RSTo8aoyZv2x4VLRK5lPkrheanuWDP4mF4HOTl765a9oYkgcTsdXbQieu3LZAmda6r+73NzXdwcXifNudHCJT5HG8O7USzIWup0rzfDXaxjDHwWi3Og49v4Ruq8+XuS+jctQIQmPT0uTqCp+chL8uWd77Ju3VROcRvBa1rbjTlcO6ZbdIy2y7O/wlWoIiOgMPZ48X4wgvd42ijImCSPqkUkjKe4wTWAgaxZNccLAnGIjK7E2cc7XLnZ2/wx24Sl7o60VbyvM9naNuJKPTZOldHmLrMKBTkglHSoWP7u43jAtAg7v4ya5941I58tj2p1bHVKJov5ryMqk2yNmSFSUFlr4qKnMfGcVubAq43E7coD62Cfm6Pj5HtDGVTjotM8IzHcjE91Undx1i4h38oHXf2o4m+VHUxm/Iy0qKyVJfe5heY53+XXt0mund/TfRIRlEIjIlkmQHCGelUT1iWOxJ3h9WcsHbWgPFmYGOTYycZrbjxd9S+I1nMYJcHrl7h9/TCM6umZwTCSY5SMp0bQ30nVKW7OZQclZOfl5d2MbccQhdm6x0XNPAh048xAkO7o6SsBB1qdnNVWFGwRz5c0okOrcCbnJSHhEuFeU9TV2zFtUBhu/TjiSwpOHK50zGGLtGNFYXIjpUNJmrovNOq2DDyFad0+GiBtV1PJSJu1nBOtGcAWjEc6PKaG1bvhQbg7kc8jl9c/5vatoHuNSb68HaU8kvMkrEKJjccQaWcPNdsVHlrESh2OqYUN4ZpYMhYccqa6Tga9R8FDVgqLdfvH1bOr47n6TrJEF8nwLRHvvvgezY54g8HJz1Jv1vvg097l27nk/ty5Pd/fo3Td/je+CTEpHiX6O7kjx8O1Eeyq8kHaXXZD+KIt37rHoM3SXFI9P3xgjKpNOx+ybgbnYVOcj+jY4g2KbZ8Cj0yQozyjyeRaVo8SRKh9T1pVdiLffDKTPIdDr0bV8424uelT4TYV79/9YG5VI8kGUEC75dmgrrP5vKRmngYyCVcmepBKOh54Sw1YadEqweoNmQWRbMIQ0ZBWmHjMjK+SVJkdjpI5CEbcssJGNyOybVrbTQ7MYq1FGWKfQdM1g8hIe0z2JIyuZLjfUdvYWegOBIKNg8h3L7VrSO2i1Iq0+OD00eRg3CDGiM4uPJElc76YsGPR3MZDJqK+RwzNccjnoy+TnwpxrFBZUMolgdqNgtxVJcL0lMAUlV1YvIYibTNXTTUN6aZwrjOZigoauljqvm8mJauePro4MBej92BGn67vJiUY02LsMnRqdTrWxlgxkRHNKK6MIyuHf2CTNJ8nsN1LyxQTiIy1UugGNoL58BggOjIHSZpGFCN/b7dRRxdELZDtDPUiRKRsG3aRN2+tkq1O0Ozc6zPZlU6Fh1XLs3omBsI6DEsw3ljnyi2A0/DYxjiJS4A4SQaLG9qEYykOWRdJ1uGxwVoaHroKcxAKJcsoMiihCIylIoSMpOe84TI2IzNt0ca7L7uzLPTC08oDv2HSUAUSzyyGlbKhOaOzkYz4QknTm11uwAzFDXCAWGaMIAxAMHvs13vpy1laJIDWvWt8hA2sgNmBuzMOhyjt2U1sIfZasbEewqhMoPTFB1MQITWJmtDqpqGzMLl7Usaw122ZDmypx7BcYO9MuSidcOFDGI0YSzzSvcUodXQlxLPwiGjba5wtthsZh43mM6cVHlHtEqOcdSea7ohLtxmeqNKD3B+HcxlCfvbOol4hkzrieXoPajAvHHjcVQYQ6Dsn8OcfK4bCM95onSYqSzRMt3vzGlB0Y2JxMzMEFnlu9udTj6bDr0fphLHM6TDhH2OVfSM9qIy1QPig8kDSy+ZY7rjh+a7M3HHp082i4Rk8QaJXS7U1zBO6d6O8ZhkVGpHPOcpJb7HS2pY1bwIUYAokjNEAdO/SUvbhn4MJ+nBTxOaaWnl2dgjjmGI7OD67dgwvWa6Tjcxp0do+272yc8Q4ZBqNKlcxWh7QYZSLGaPtgdKdXENgfMZI+rppo6vcjLXxepXdtwbD28vXjHbHRIyuQvt18tcuvIz1p2MNqpddM9WyZO6bWG74cOFsss4NEQuahsFbn3nDqCDi/24NYMbPKuJKPLT9UeUPrr2iXdg80+OPElpaggmEo/nkhefdPjq3ffnAnmPTrOHl0/X5HHlZvZR3pIyuXX5Eeo9IjyP03N2ZopDhU2UVHiVc7bHk9VdCZxahLUFRLRAOmDi1KYigP98rNMqZpqJxUpqohpJPeWXn05COlpRlEowSUljE0MZgzhOCqnHcMOw8g9V6nqabK0VjD6Ee12yt17HjwaPXofqO+GZkufIy+XniZImGMAmzbnZibIF11Et1LtUHKgrCAG7TMcF2jzzD0l1fBaY6cS5ZSFNFizgW2Zv4ydaGTO1ye522U6dhppCMrIy02O5rt2oYCFmIxnLeKDxEewoQrhcLhoa7qOV9+JjMOWYs76VaTIbD1ETygGZfeFSMry4FzaBUiJwF6kqhNpxYwkm/fJrd6A4hzOA6pyDaiQDiPZZ6IprjIuRo8PWX4689LaX28rI7LKhtUMHyhs+n6d/nH5fgQt8WrWsfts1Lpve96JzkPQdgxfvxTG8xrTUQz+DPFQuASkE+6gzpx5jGl1U8HiXqNwo6fPuuS+WeH4MPOHl/TnfuXhMoYTvgen2h9snmXk7YGp9IWxBUo0z9gnSBp1JqKemDsDrNo9PbLm74HuqjSSKxNJNg2VgRo+9MPvFUCFaYZhmrQZg8GqjIaGxojNDjSlG6LSVZIxhGnHGwIQTiiUyBVirEsaSGoNY1zcTm1zaj0u3TxRV5rb0trGLa/M1ubWZhqVtt6W4bY1RatdXQj4ey8qncG0ViKHzEVQwwFQioiiqKMhUzjAejMHpzeZjFfIxzptEszgHYtjZ2Rwodljdtsv9bXWhgRYh4ag3UjLUU6Mi+K8VdLcjnlZFLabVWv0qxIKJIoq0xAUxdqqJWD0Ys3jV7EYVcjLd2fdDNfXdY8ctki4aUodTSGEH/NRxBOGvDaUkwOy0FDFqihuofPFYN3+P6TBs4WyRWdEyn3TSMtrkkTbR3zGioUZKSJsYwGuAZ5WumxqBSl58bXk0EpBQZCRUkZFGq4IyumVQUYLl8uNPUjuGXixm2iMCDCZEPKhPDFdug9SFcMGk0RpNpsFWEGnDClqikRzRnEiIJVOblG0xpjBLHg7Jomrl11qmOKFVdjO9b6zJXOttajvcLFtgdGIyukIyulRBw0uRQGg1UsMRmSy1GS1tAxmMx6HdvV60nEycUxjYNliMwjkK5WBhG4W48vBvFzmpYxGhpB4uOo5fKzBs4XNoaBowOWcGRY6xtcayMranQzN4k3Im5vdpkjbaibRSlasTbUIm2q8MIskzctetTM4MvUkRISziMr2cK1C6dqsTg6pDVhEYUgjCU6bgmlhSMpyhlCFAKyqKYk1kyRswNSBphqaXapIypBIytBgxdXhkFEPDgHWZwauJZ0GaWpjgYZLs1sbyEJl1Kk2Y2wNEIjKd6fMVrmhSJO2pW2Ebu2rttvIyszfaVAaU4JspBO5gQMhDVSNyDvUBQ6sahAgswCJWmbaiMrUlA1MpVFUUKsMM3iIysmmDYwrGNvNRZcKQkbl54ulo4YXciMZGDMYuBkoVnEMVaTUwdW0NN0kMgMItxjmm7hWzCWhy2Ug0wRLjHAHAIZxrWf945MLL8jKbDcTkXOoQVEW0wjoyMr/05R+DiNuSNjmlRuTCdYwmM5XcQZwu4uDKbs0bC6alIrnFwarBkbGiRuOI0Y2yDULYUjLRWCykOBirQLEkw2hhyTN5OWMoqnBhPDWVsHNWvVKryzI4dCKNJ65HpddGRtShl2WNqUcByqqptUIy0cjMgz/DIUeIK1OVXlzcVAdHwmEKxEjAj3Itd7VXGPThTptKrv3i4GBk4ID6ktxy05HjEH7XNbdaHw1t6WFsylMDhmnU2EL4JtowuA+7CtWZAlI0zs7hJ07pTazTI6nBwjLc0xbaDQmmIgWZ3RVhiYlLhL0KLcuGZhUzI7Iy2GIy2NddWrfSBp1nfgRBHDOzdnKa62dSMr7GXtacZ0CHBTzkMeOp9/kgQj3rPx/B91fvAgU0mjZNFcff3m8862DBg2vzDb7D/MGSvsSokVQBGXKlj9kH1KQhFKhwSmkqBUkkEz+bZKDmK+D6NHuqUB+wykOyBU7FU8anca1lwDSGKlMZbdn8pyKDCRVVUZKMkPX2FT1Rn+8sMbUAjoRc/vV7STPiCHVTTHEtTH5HuFfIodc+KiobPs7yMr8JO+BBhtloJiIXEFTc6y4CMr5KRBvCMtuS+TBBsRXaa91udatzMJkd/PK+hF0VZJ/R+uz+HwMY/ZdUsRFZU1XB+ngeruRpu6Tu7iQQ7t6eevy64xpXZo1hUXAlLVSowRWNZ5BmebESgZLKxsL2kmMMQ3o4IQjmAy1MgJ3ldzs5F3MUoZBgQJeGktiUVKpIM9r9d1fKZ6twigqNb1iS1jab0jkF1IdMEEG4FmAVuvSpC0SpIsIqMQIDFgiESXk23LVXN4q1eZUUVW/Djfn/kcw9YSdwyH8x6ePo0bv7uqioMUBVNrKjZpKtorSjURiSoUbJZSYVaZtZZWkqlmxa1jZZSbYkqTFlJkxpZqilKaTULNKlIpioKUZaC0SpKNjTZKU0WbSpSoNSNkyxMLMQMzQhIwiCMjICj+4v1HgV6ZhEHlg9rxDqNw5C+2Iyu40Hyc52M57z7pvV2A7bmgnyb1R+d5DsNdib+8Rc9yOfnNCMPlnBW0TwSYoLgezFSRVhNaYfQSF60VHHoSgFiy2G+PYv7mExLcBwjGZKQUmM4zoj63mgLjyPNQSSEFGSI/eWHM4lPad2/hDsywwyMpFsovpPBHkazLbCSwQeR0EddZ81+H1fLlCCfbx8DoHibp5DBcjCoVyWjsglvP9WmcCXfDUwWMYKylqhbS4ISm33+SoPSREZNjaK0mtFH31q1y2Y1hSYRiKsmW+udoaqbZeVClMEGUj5pZCyAy78gYQ7i8FiMrmkCn4/PSKjUsBqsH9VLg8m/mXDUgNRMiI/fKLU08N6HPuy6NFaaiZyys5ioyjoy0XzdjlJiJGzY3g44xtNNhbqwWnyxYIysLGLTQIxojKdp4OYuyTDALYTQiwigqs9zUzVaJQwxVAqCR8ayw1EMjKYwVgOaqICNY+aRLX1RYNGMT1olqx1NUVZad70lKJYwRjEQo4kiCZGRWCIxtJdxxxjwPw9DWnY+VZQWE4sP3shli3ioGyYgwjSKb7iUXhfWqZapACRLRGmKxEYohTIUpYM9lkNZiYt/zVNpige3oDjPBl1I0RtwcZFfWG0G9JAeLQl2QjCNxuPJLptbiEICaGKqpHwiSQsBZyG6WWKXMKpMgyFyLekSESSSSOAFQ9e7j2SdCHJVDTQMBGlHHYYSYZmXNpIA3BBxPK80esnZ4yJumHZ6EN5licu7RmKUy+Vh0xzJwg3CMA1iYQko+qUepoyYEEG0fP0qEHSsHQ/KvZRIDVNGetGDAbqmmJvsgkPWhQlK0UWYkYZ86kkIM5XxCjmDgA3eyuyMtx6C0QCLmYIXCKoEUPD5d3R/a8ZVebcbqUUqKLdW8MZLrPy8fF8cYswO7jpLOFYL17wyZ0dW+8hg3fSMpcGIjKyaWEdEd5xstv6GI8w4QvQE+Tlo4PmfhTwxn5zuWKnzObkrpXjjZYxj1Mqi4NaZ3LjpgYQVJNIBRdiMtBXLmuyvFXnacgy0tCL6/UeywbInT5Bw9UHaDtr6E+Cc7XI0bPSfLSsikqdGDKbnuJCQSKkieJsKHZjdwJ325dsmh8/sm5a2ptVPoy3eal3b4NAwkQWmwowG/WUQEjVEoFHfBgdAs0dEjK5YPUSYEIy2Gsfl3yQPMlmhp9lWO+I0G+FEBnYQlE/J7W6bJoG+qh56UZGT79/1I3T2RVTKN934b9z9v+oaptSMrFUZE2RTLzP0j1L21Si0aO7tMX2ffWBZGJNqoA9hrZDcWFhn77rXx++iN5yMpfihU+ea+DMNnJ0iCw/RXTRYYoYwMK3Jj7vyQHkfNng59/ntIaY9VXYdYXsbXdHDaQ2DMzByb0EnBDu7dKPdWKfqxcVpeEzpleGtz46WLnRrJioqOFO37tBya3jrWzIGuIELBtRrbnSKNcOCIXm3VwkSTYiP4O9b3joqRPk8rm7hK2XIWcqRKqdasuKjlx+cTWMRHKcFrRtSyNAzDkOIkKCMtiCFGVAsiqTbcb3phQmhIkTOlm2p/bLSsFoYQX/NIIylRVFJgZ9S7YQ7Y0aZOyvc3RYUzdEVTEsmBkYJAQ5syIpcICScIRwksQ3cbGnwoQOsUYlekOIa4zSMrJJG3gwTsy6OAYNS18YhgDOvWzgg3bMMkMYTDFMpYlytONvpvoWU3aRD4R1U7HKVppVSBvfS6OKTZDzbB3yMrAS1RZolQQmxRvPA+4yMrwjIBcSFEWMMVRCAuVUaI07SPTxaOatbSERtJLdiVcamRNipSAtiKJtFII2Zvhz5lzW9SEYMbSYm6pz16GsN5A1nJRUZoYkNkybbOAkYtpqahAkwG4gtmZg7OWZRrU4r+j1831ztZDO+tt04vo/QkEOsjKwU0qxVD2pZCMXdExlQlWnCIimD6Dxf2WXq26AUWyeAjLfeK1KRuFyLAJu2XbqPB27wY6XiM49d8h16FMxL2nqG7zpCiQ5bhBTtioQ9oNaZgOZwyvGHN2YtoiZhnkOdiJYlAlKsVriaJMSBUZEMoNBekrCZBZJAdrBGmBpw4BaZsJEG4zKkJVyqdS46SufOqKw6acR5fXJqY93YaU1S5xvR573ZlcdsGMYnfcZRlECGCXdr2hhxjq0sUjEDo2q3bG8MjKegbTUIaMqQhxz3RXbZgwYzrh7YiYWljJlRQ9QzM6DMO1ptKhDUgA7OXOadEKRGBamSGGdZbAaYgZ8j0VyRWLUR045Sp1p0Sp2XSIKomdKVRkmBTw5nUfZU8pt5emTJ9BkhZ67s4NaRkT5WzTlPdDvs0VLgaVc1IkzYu5Oia8fAnVhz03B1JszDOiBGxFGyAStRJbxbKUOXSqqndyoxqIy0lwtQnHdJj8s4IaVXd3htDlEtKIIbZEy+OuY2snd8jLbL0J0yV0bchSzlD4e7IQ1G7E65a7W3XKW77kxgx5qwCQ6Bew95p6vNavCVO4kriIyu+2FTS3hRjMN0SXFJzaHHDiCbfsRmCxZYTNO3MKfGG7nGuuG9bAr5cS66bCyK5KgZkAg+lM+manELqeA+jXELRSzMh2WllRfMmceUdk2qycgmbHQ5Gx1mkJoWawRTKNxwzEhwmwdA5p2vpZwfUS7WsszQocXWdY5RAhYwdFdHbOLTydOedMNbNpcCEcEqBllkJ/wh2iya120Fy5hxaEN2KdByQIhIHNnFCCOuhmGCimNiw2QzpptABzsSarEUkGETAG0PgmThqc/hFsYtzigwhYBsveF1TEHA2IuiukiEJDn04QdXLPNKv6UqGur2KqD6EO6BpphwUYje4mSQJJm8zsd/yXO86HNPwMSC461yHWmc7idgwU0MzJoYzUkz2tiRTZRUc4bZByXpiENRLmykuQrqdhjKOEWfpf8PuaYts5TNkUOU9OdGd8Py3PWaE3dN9nrOvIAagJAQiLcObJ2M1XxO/mYtFkMe3N+Bmhhs1ozCUlqdrilkcdFO79Gj2E2FKnA5a9k1KxVl7EuHCvMViZYRBnDs1lwgo4d7CKaj55biWWLnd6UnTXDyiIwe09D70n086o0uWoNFMhQKk1qSrKNhMRsoefXSTJ9gmWa6xaG2revoG96IIbmisWi7Xh63WJhPGcti8op8iwEO98jygni4aWq/KjDXZMbhhzZV6mxq6XStyk5aNeNyrjZVlPhPckcMIaZSNXTQFl3AnpiD6PI2Bi6IprB1VbjZtjeJ3Ahhw664jLdrmcy+NXmmRTOnYYC0j1530xqzJrUlsEZvkfGHZm5KLMTKhWmSOE8S4XxEBTNodwqs2c6hc4N6VOSMtjxpXThEdkMUSD4UlaBriWxTtCUToWO4IiIwlTJrgBoviyWNhWjqTAaX7nq8jFbpxgG8YM2+tNFGrSIhQyHmhi6poRedBRhpIISUu6QaWBsHmzZ+kHF4h2HXogtHcK16SaAybRyMpSrjPDANtpPJEMmZrJL4YZxALkGJjEMOTYrVz6wfTEqigoIxrgDMmJuZ3RixIqoxiaiA1TAyS9VIbnIMg2YmiCKrQCYEiUCRAoIMbRZKBSFyQopSoMmeHeGMMTMOgJdqMo0KAtKKdkGjrQ7D4GZDE1CkjKw6ClC7GYYgYIGwIbuLUIySMZJFwdEYC4YHAuyIhgJiMOoFMTI2Fx3NFFRKiOaSDkakLrG5EB0NIiaXIZEipYEO9VNnY6jHgjlm02FOcBKhRFdxqqlMmUMFJYLMjKTBcuHCQUOCIg1UD6E9nt6T5499lLlGCVRURUGPt0duUhN4ctfh4r8yWGufp2DFQh2BsEFhEhIKagANQBXoIs3nv/Zy2QkzMwcDSZlF+Dj4hoRDUqJhKAePYPCpLlff0xtdB22sf6FFOAxckpvKaynvIHnD8SzwzFj9ElGW2UiW+9cjHHXUtjSZy+vDuhMPKGWZb637fffUyJlRWpLyXg7fh3daKNnTfeVKj7C1ED8pAOUZDO6qHuIi9EiZntqyHfRUUgpDmw5j3M4IdIyt0Lh+fjuaYOwsOtgWKNPlttRQGdOxRYM4YuozY4xttyB+lKX5DW1k6+2BTyJExkyH0djo3ojsYm0sDpuOuOafsa0rqR3cMeBUp40tHU50ERsUjJQT7UkRzbshbngs2IG6JXo2Sdil0w+setE60na7zNkRU3dYXyL3iy0ouROxQH+kYvtX2+IgCWFX3UZcj4HzInQccb5Eyrmc77Nse1D3xESyk+2KbrC7zJy6D4aZB0hMmIykfKoRQ0hsILu1i+1eVedpk63SLuul3S6Qhh19p3CMtbGapOcm8MZjRizClkWNJVLAIZRuDGIomMbTGNBBFlJebuyMrvTq8eLctInrrrrvOXUYyPCoBKIBjEEYqIys6oIIkymIrYcNAEo0D76TMRg+SdzlDWSaINIddbcqovisYiiZcoWC2ahkFFmQalSWzKiSKwSHCPo6w7O1Pd3eIT3zLwO/ZruBpD6AF64APIDmEEsdeZ3xhD5y+KSqycjT+OdUqqOATEqUiluZjGWooq0F0QiMrA5TK894PWbE1RJHCn72jgsldfMSg4lCefUE2idJ0cSRQ4MTajxBt7Z7EXmd5UVaOuOc6CMc0piqryxIX+XhIPSRzAhTCO3MPIZw7QgG4NQSa5kIp3I6a6dZE552zBDv7rL1gvz0ajVdjIXGBSZmI7XFuiGZ7yFN103MXZMRNh1qnXGMdsnTQIJzUEtz1ueCGIaEkGpQqPXuR5F0PGBmfi4j935TRm+/BFi5ypL9WYvizTByhZSKqRk9ptNcM2yGu5pRkzoUcpIefSugPmoqD7IgHugLYRCIjKTAkgQVamlftU2ybVJtSe7bmo0DkQUhAS0FMYGkQQtFcEbyiIQIBi2VkAqMihZIqXYQguTEEiRV3IL3RQd6qE9eWIbaEO2jGZP9mQKvvRBN2pN2R4aV4vOHVUo0ucHbFZCCRBGCiiyMpUFEQhrjHu7+wO6fBTQFZ76ZywYzAfzgkGIIEgIEiIkiC6/HHyFcO/nQZZb3mWhN3xF3L5dSXtv6O4+8WlcJjBnIvcFJQmSErmSAZMGa44IUE02ig5SIRWXMoqIRRio/PNM46LO6VXW8VrmirpLlqK7zbWXTVmXmWuy1PK6pFkUJwA6ThsurllMBIGyMtjrsyEzAjKd4IWRpA23MizAdKytX3KCc/XDsPPi9CdblVEYEynz4J1fWe6iZZhMyim6aoYpM4MJOsJ7o0PlUxKxs2wEHT2D282hj3bTNwMEjBjKIYmIB1ceXfYdhl3wJWh2KPxalnqqLN9DEDgRFJSSSIjpQEaGDTMYkQeusjLcNBeuTx4dIdkEzM6Y4s2hYGhYBQ8BPVyExIyhPr/N4cM7q677ojK8axyWZ13cpLRg5BM3cUncgLpGa23BVEFZEj68dRz2bbc8uQjqRK6dXI2ztGvfHVmDZg6DpGxQ5LX76TL4MjLRCCYLCxxFaPK7VMht6KRNqPH0qe4iKhqbIiB8hYiJeNBBs00QWdO4SouQhVXCjA6BERKN7QPCjQx5DlIyuN23MEYjZVD1CCOQeNy8IkAgKRiyzUymmWjMERUJQy1WzGahlQ0bNqRr+I2Na3S3Sk1a4zpXTFyt2iKUPANZ4hx+Q5GQGzu2K71QOB5dEngcDceRRq7VPN2oB4nz+0YyQ5dZl2diABp6lIOHlv6sPbbIE3wSRCRQNAnzkbJkdUTw6OwOvUThzBA7gHxU+QPl+XCKAdIsROTc+nAkkeZ6/Pr3w7fdqPmYCab5/fOE2KhEUxIysS7ksPFckH3ue2LCjFoWfmPzLFGEIwkdLeR522lmoYndBFBNNEYrCzVjpzqIojKxXiyHfiActLQuZppF4laOvEOqWBtA8DIytolELVYU1tj7A7nPO25SMrpMLeYaFpijWA3xTjEdeDK1rnLXMOX3MjTTbpAborasb7u+iXIyvzpvpUIoSQWRSDbuWFN47DYWWj+La7vXAHgd/gPmRPhVIEkRoBj9/0tKDS55ILgahQgO0zeFNHNPDFuCVTStJpKLYyQ4IIWXf+YRpUOiI00owp+ZSoOUzgehm7aiMrnr7vYgiKVHrOtt2pK6+gIy0RLIBVvnUEuCAP50VYI9GfLp+ecb+4h49HXxTN2SaHVMYOoIGaZHtTgp4kRAkIEQIEEBwjKYqQVdz1x6uWE+B4UaJ8vpKUWus5HDpQtCMtcIRsD2Bg5A9T1EiV5CNQU+7y9yPP0wkSIt0U1MTEJ4enhsPfUbxQs4VilSn863E0IE21x9dFA6lktYDC343tPvPvKN6ah19fj2W8+UKqVIIM54mZSEVS6fYZ2fuN3MWCEJ37r/5Iub1pZ+Pn3NDVECyy1kz8jvUjKeagJA7MJMRv7aLDnTeJb3n+FLRuc19BX3lVDxBvSJ8YG0gCncOsBCkTgL/jIynrsF2wROzl9G2tleX1YsZCQkYkVjWYZEEUHncor6/ObzBYtgVh+Y1YWhctSaAiGxsSbaTNiFq9a7dgDzRk2itFMjG5rs1NtMra7JW/laurKoPaIH6Uim0IApuMv+BN+76PlN8PHykgwBDdJeHaHIEm7iAy6CMr4lUMxIOUq8UaUBKnsQevtDtO0JFkVkBiLCQYCwSL1q36L8trV7fji0SpUmSSxUmrJZpktmklq+7+FGxvvVX7N9JSKNRDGyotjSVG0pTStX5a39Dd5Qi996a/Y2QjLYiafZCUtdfuGaDcIXB9JFsob4Fvr7Bt9k/UjfK9Wuu65sibGTUTazbGLaLS0yLSAnF3cAESIymQZEGEJ5UjKRaEBjwBp/riFuhQTX/f5mgdXeT5Xz+j9ph1yJJ4q+QQTXV4P8R4D7Pq2n16GhJYhuAH7dt2FohF9IZBfuVTwJAIMO0jK5ceKOU5gpnnMZKSJ4nrBch+GKJX6Kq1iINQVkkHfKn3DD6FhXpRgz45mAcME1sLYkYwG5Px0oNw8jYews0Q3RSQSjt34O/PLONbg83rAeAMDPIUPYWFMhE6k9y0RQGEF9wCFIqlJoliSbqSliMtEIhUk3JtVKtGymzWmqdO9926iSAjLVzVtu4kwAipj+0iAbAiiUKwGweepRglU0eUJAEkSHsoaA8jK0y+Pocnp+TjJHrGAQwvW17xfuQVA808FpkjLUdgf3KFs6s3LSkbE5+yhHwhfmIF0au0ZEkTUZsPEl7ISt2jbbQJnrEy2GSv78eHglc/01IbDhRrhfuNQuFj3og/K+f8oP/ZVa6v0VfOX5+OjBZmiyMrYposVJQVGrGStRWPzK342rxNhRVgrQFKn4paz5gtEs+EiWWE/AOmTdCRiIVSyoAsTJjR6KKaJpy8dbELKoUGpu2gPpe+fTHC7tsLR33dBSKJ/eBCQFQsoSNaMapNqUNowm2mygkIoARgwkYCeBtfLs5m3yZ2720qssNQQy3ef3YfkihaILow/hX5caeZCRcZC4QCFN6BR13qHNk1Q4fZUyyfRX28huy1IyuKsRw0q8yFMAtrTYDShZGho4uICUlAN/33CTZMsCUwgUkpEYAGRu0qLCFIBN7oIS2AsFAYoxjCEtk+htRkQK4Uf0KyHBIWwWkUF0cEM9g59Ek1DmRziAORWJcmdv8V7V42EwZe+o1M9ZLVNtu/b2UP2yMrXRYow/ViMYNjYNgjK6nYize+cEN01BOsEuyFtisOqSpGRQiDaYFCGSDRWDEjK6kZAxoqoENMsW7NTMyq7nW00qVShr13a5zaKypU1FGxredEio6hMoUG8AuQMdpE2omRpMEEbSi1SlaU0y2Za6ZKlUEppClBBRCci0KAh0hnWrlQNp0wLvQZbLJcIEHtVdf5zdn+7CrhLKKdpR7doXPFNKlWCQ464LjCtSeGQiIUg7qnNUGLZViVkWsd26Nncbu4hAxkQYTQIEBqbl/l2XwTjU1wKbGaLRjCn0qsM+ufOIkFFHFQ4FWvE116ccJmqP30SE5aqkZRvAZoKTz8Sk4GDFXv3mQzuq/7BfMiDO5/GKzfffxiXVKzCcTUV20jN2JptFrC0QKtxMmg1CQ9jB8ZeHE+/Du5MujvzpfJglHGkRt16DDaSdPeGiwIh82ZpyOJSbL8zW9AyI1zyL9uPJAjK4ZDtST8d9as8o1PBvOAvDvk/NkXJSMtxumHazLibo4mCBExlYJdsI6BQcQsLbZe4auD2J1ibFVzNCEWBs2EiAw4g98dIy15MQJ5Kveu4ZWiEs7igNBgRIsL0rgh3RLS5FyQiURikMglCRAEVPifVkbrOLE6JftYovWVFYIccyPbKUEohl3PR+ZKB/4fXMGGMq/fblkCFIqTO0McGystOiMrCxE5d4YPQdE0bgl/dStSSxHGxM0Xx/xccH0OJcdIXrOrSzMpGh/XCMqth/ForriWq3UJp3UBO3tV86tZ0aWOJOKVBGLxzTrwFrDIUTXjBqDdIyuMgc9atujv01UTjYyNM2LYTgjfJ0z7meze1yEJEocupAmuaNbgkKBqmYGwsmeXQnSeKWL/iVyMzpxoAaFqIy307LjoIjh454PyBD0F79qTbZkJHtOLfkKcTcC0fJDBg6zx+TrciO9zJqe6G0J1flOr7fbZz7jLYP12XAIpP3awbQgjLR+GdPuyGkVNI1J5UII4gWKE3oD3bTfr+pWMp3nxNPJGkkDrmF9yz4u/JKh7e7Lu119d9NNl9C4jKRmwFN3r1w7LWJj9ERa5MwFKYFV/5/b//Pv/9n/Tm/G2XD/271/K//9w/+n/3/5Q/5/7/+f5n//v+3+v/T/X/l7f/H5v9q//n/+fL/n/4/6/6f7f/D/T/b/L/t/8Oz/R/+/y/693/T9n/hm/1/0/2+fr/2n+r+f8/m7//9/t7PuXw/b/5vZ9P2fm+53Bvt8ZWH93+8/SfhQwFKBik3AitMxSxUPEP8xzP5qAd6RLMUMH9j7kIy2BVIaRwG35Qka19V5Gv8bX5tL3f6HnO7pkyRVRGIMecJ5GYSoB2IBigN8YIcs88hII8mu0ILu02iGuPE5IVNRTgBGIJbLTLuu/2/66SCKdo/7eGm5P8hM+IbK4o9T3xf96VRJdiLN8deVSc0SMEj0BJVttqYzO2ZTwA9PADGCTUKHl/vUjLWd2t8zwI3/nP9GX+rzllH/tcZp6NqbMoa0jK5/tbFcZn5HQVBYpBdDGhIGWBAjW3rg/82M2NC0BqONeF/8a0mzhNiZITITjs5KZ02yGmf97EWBgG91phVIQX0sjXrtaY2Nb1NA4NpWQowcDv4pXExhhs/9WIytqEMih3LYudHDpiWMewOsiKiMtu76Z3bLTKsWkKTiwwGaD1aYZQ0TPGqTCZZuy0u5uS1yplIboRou2XmtG9bTDTSMrsw5DniGP+ojGSra4jAmJQ1w3FX7PNiWU3ESjTy4vXJUtLoY2mMrAoFKwmckjK5DGY64nCD92XZsC+R4XdhsoVkcTMWQSzRMGmHxGMLl54MayzMwYHDWhkd74K8LiMIdEY+lGKwdm8lyIyW17Hc1Zv6sBV0xwBA9gN5hi5fpe1/3CxTt9tCMrOIeiCSNl69uvbGrGdpC3PlAzySB2SQhBihlLM3YPGaLlDmEnlmkcloTkg4PmD19pr3fLcBiNRtsFxZV2Y0eYV3ePTlUrrMYjLdTGfDSYHixM0RFYRIpadtUpIFQvu147rinbu1MgLoORrCRkE13O+XDJAziO1YigPeLIIkF7yJfdcsgGFZCQUGJIIy0jnwI1A6znROesmjYjKRqKmuJ4iHz+OLxDGMZT/PZwzmZgL9Nh55O8MvRZ3G0RYEDChz1pEmpz1OBfs763h3iCJCmUyQIxVFCO8XEqFCojK6jW0pkrWS1JVMmWYqMWb6btV1Ip0RUsQRMPvfkIOsE/1sE/6pAC500WWVad4cpQoJEwxYHMfSIGjgGlApWIoe7p+KqHxDu9FdUP0yMZJBPnKw6g/euPcj69M42f8GcGYfdZvU+CDlMPcMlz6vCM8P9874bNPVvbKmGeM6bddxojrZw5/JFpt/IYZ6NCjbXRg5w6p0pTi2PylSW+oK6cGwhUxh24gvJzb2z+kOd/jsQJl+I79XHQWVgbkwkuMOm+XXFkYyKKZKsr0sklOwytkoHtnbmXPZCSMteRrC1+X1bb2c0uF7Lhllb8ZEIUkDdlRDRgdrCc0RtuXnnUWjblr0reK0sjK4xaUtteN7NVeNqTYtjVGIRILBSQDKBOGt3AzGkmN4DTG7DcTd8c8y8JeJQC5mf/PSH/QXHiRkkUodpd3BRAzd1WOobNkSMtZUiuIy08OfQSX/9uO0kJnCatVrIyPri07yMtDwInq/1H127Io6Ice6w6yRZEkJxHyCMrhES3/Xe47yHozehHejm+zkJ4wOZDCH/QDAK4iHJPgaj/0wEJEBiRFNzuR3nZNgJCSlCQrVWS2pGuG121dNXzfWobAYwzYBD1RYKEUgJECTSHn8/u+upv8bB/p5GBjWwJtHFBxW7enOzoU54kmhZCC9ia9u26JeActjsYh6YlEGfApPH6/vfw/5lFQpVelDWKgiUnMgGEmD+Ghmd/+JT92pS9/6B3R/zx+WgSE7egUEBKnf/yhj8495/PZfxVugt8Btr/8SwrP/146O3/t/98NPnf5PN80MtPIystV05ciOZaq+MIHdf00o8nlie8PiQSgeRQLfP6fLyG5L4aIys7jg5/9rT1eTia/+RQm9/0uehNFNNAifjAOESoriFH4msWR9/Xk6f/mtCexoyz6cWl3HjW23T/h6ijZ8RB3CUvHCCX/e4hXJ1BJB8oipQ/dUo/9NFr3wOldvGJkqmcEH16rnnLQYNTDvkHBD4Ps2Tp20QM4mMrJTmD9/SWLwjgLrLWJZ45eEaJxUS1m4xCEBa8Hl9OnLMCKwzYNjH16WU+xnlZ7NG1mcJXIFCe39mfOmFb92/Q07DmPjofry9v/mrBNam9jtjp7y/e2kkjGCXMFVP5qo1N6T3kyXq+bvGAG//4u5IpwoSH5jBhsAorI0JaaDkxQVkmU1kT/BiiA0uwf///sAHQ////////////////RaAIgoQDIAYwgSMlGBQFiChiC3x3enMqIyUjJSMlIyUjJSMlIyUjJSMlIyUjJSMlIyUjJSMlIyUjJSMlIyUjJSMl+vNKtLYqwqsO+9wSPUpWzRq+uu7L13abu6qLrV5cqEnTJG+jPT7tG19u02sh267W6w7TJ5vfT75YNr2zZ3bdHpRxUB0de7uvWrRrUttdAy9Jsdsx1u82oXoG987PMbYq+nea++j3eePXuVo+unvGhkHdnr52d8d2Bl3jfb21W703DAd2Oa1Lbe9rgCMlIyUPoCMlBbuAB8AGmANn2yMlHzwUbZl2Doyl27cjJjubQBTcOdmjVsAjJQKO51Xd0+iukp6D0FA5rOjUtNFUFKK1r0MjJZVIKhKUUoLe4dUJRSRDoBoHo0JUqCgFaHe8DiG762891p9mV30nvburmJu96t5urVMzrilQ7u5aZFSnWrfXmuj7313oIyW55POjXn2z7Yvba3m97PXXee70Z23ty9e8vvc7fLvtffbPadnSuTnvue9ssN6znxu9vffej7z4XPTQ6Lbrzt5AOkECSCqD0GVsa9a22Ry7dazdu956x0xXWh7tsaMw7s5spIqUc8ynKegjJQYqBSKIoGg8BoFjaJU9He65eZZjbu3dwaU30Du+7ufMy+xoooCgARsyPZgbWyBcYAZd5g7szYDfe92PaAV7cq4C++950Pa9ud9j3Pue999j0vOvq7q7g3uPdnoCJb64cXq19vL1N4112zN7buLxm+fDgq+833evenuc9e27c6jbH3vNbpJt44u7a7u73avZXcOOnr696u+dK7FH3Z1I1uuF117hoHfdwl8TyejXvGCjp7avrr7ezl9uXx8BSS+7qwtE+fZr27ubNtmr3dt9zor3nJj72R0vvcHeS+ug9HO973HpNPLdh2utLo85sAF057XnenXfe++7h92w8ttwHUopQColCSpVQgdmdEm2cDs9hp2Laze3Y77Ktyr296Htgsz3M3bWdDyrqbPYMW6Tq83j3mqpb13l1GhB3Wb3c67M8CMlB7dnOIAjJRei96uXI7vO695nFRm6zbZnJ0yfbPMbxfc2W77sc3i53UNl9Muj06ffd30+XG+7dRV7BmQ3OiIO9cFz1rbOLfPZxu5nDwElQGh7e5Ye2ouPdb0ouV4p6FK7w02r0bMc315cffMw7OWt7vXPK3dy8ePcePve3ePeZmuzdz4tPe3cu5TG633ufHtGbMGwbDAD5NA7euk8r6du8Xwe3O6DVsGaq4fWHPRo2dXZe9nfL6udu960IyXAVa7YuNWwuSlPrXvNNG4LFdbvd3ZuLuuFW+7ct47V1u3en0PQ98zdvre1r7tZQX177nXz6vs3sdHQDyAO9MLsth15jqd1ns8C7U93duHcHTqtGDAttne87vJ76ffYB5eINPQjJXZi9s2rYO4jJSh3bXuTree2vvhT33OAO7CqIyUjMmgye3thXd3W7YBG5nvG7w5N1tRomrG9aXXd2uudrLdh9PdvEFVRQ7pYV07srpd23bdLFMN3VnN23G3070yXjK8hRzMe8Xy7rxD3n3yvWsKz2PgnrEiak03r7vHb111zcMjK497lsTut2nVg3fHd987soK+Dm3Oo8Vbz0vOO8OjvjXx97hpogCAIIyVABGgBGTQ0mIaaYmg0CKflIyWaj0j2qAZNNqDQ/VN6UEpoEIITQIAECZJgITJik9T9U/RNpI00D0g9QaBoIyUjJSMlIyUEgkRBAQTRoCYpsQmRqnplPNGpmqR4k9R5GmkjJh6mamE9QGRkNDQjJSMlSeqUkQgmp6JtBpMlPZU9kp7VGnqNGRp6gaGh6jR6gD1BpkeoIyUDQCMlIyURJCEjJUyACaABIyYmTECT1MZKZpiaaYFGaCNIyCMlIyUjJSMlEmoiCBNAJoATIE0EyZGqn4VP9RiJ6U/Keoaj0aI8ptI00CMmDIDQIyUPl//Z/tVVrriR/vQblrU5fuVWu6YlMZKN8arXdAJCMlVFpq0nvtVtc2raotWt86TBAj7j7z8Z+H4y38B10mrMUpLTWZ+OXb4l6RE3Ah8PF4qSmxULFXdzUtOf8ovgf7rM/sAlcREDRAdIK0KDr1WiwgK7YO2ZJ5fmRPTw2aeLiap1Tp1U280U8Xh5wYeIIgiZvBMvcCucYiMygmtnoAYdAv5cvx+sV33G201Utplsp3V1q0ttRbVSVazK1pK22i20bayIIyXcASIqNRQj0crCFokFQdCkjCMlIyXEVAkcooIWFCCDYbWpK/Q1bpVvLWtpq1NXdAsgMg4IoSAgIqZioggRimQslGZqBTNNkQMmMEik2NqImZqESxkjJZZSjSim2k2GJmgMk0EoyWpqLY0GFtGaSyaaRGiaiESoxSJqUoyAG0aljSMlaYsqbRpIpNktG1EUJSy0pprRAxCy0hs0EwZRljFaNRtRklQaU2QhFCWmMlAmGjSy0jGBFKWjU02EtpW1mtrQzYk0ZmTMhNEUGWTbTW002gTUlGykqa2MtTbZlTLSZJMRQbAZFmtMTRZKKCmRRsiRaESKizSNopMBoqJBCwbFJUzGaVEQVKYjBsQhIzIJESYwLQyIySNqQkI0sRBDbM0MiJimEiGZJTSssGZiRCMmJZGIpZKybGxo2JhUixDJZSEjRaUpgmxJSZFGUSaMmhRkxIKko0iURpJArIKbGiSLEUTMpaYimYJsayQzYiTFNDM2CYWI2pLAJLKwhFgRJKTY1BEmoxQUkJYgkSjQRSKJgsGAmGUMZJTCMWUJlEpNRqZUaKwmyakiSYhEJaU2QJCJIslsQEmLLMopGzJKJszI2ImbEyIpRmyMwTKppiSEWUoLLGLIWSDTSFjERqVkskbFEqQmRTSTEE1ICJU0yBY0aEJJqSWUZQY1GkzSNooCCKaaKJWoFkMTLKDSWRkIxZKTImgmmUiVGjMMFZQpMVBsEYZSCSMyQEUmYwIkjGgiWSGWExQRskypmbaYxtlNYlETMhqRTEKRGbFlIzLKaNkiiiCKSSTZIxsYybNI1M0WLEZSQpMzMUsjKzaYSsRGCIpmTTUyaZIjMkMZRFIWaIqbFFmpUpSU0UhZGTGTIptIUWSMUoykhSIosbYpJMSSaU1GyajSJFDSNgTEY0EzWaTE2iMmGxmDNITSZRiLGkTIWZEkpslMilEQhZMhLWbNi1ksBkhNJZMSGqKoLQTLYUiTIY2MiQYRlGpLGo0wlE0YLUppQKKphoSZlJimGWTZEZTBIpZo0ywhqChNJlGRIaJralbWjBJQmpmjKZGzSikmZERWg1KWwKWaLMUmkZQlllTZoi1MrC2UYkMU2IhSiMpGBpCUtfutrohKmqREEYYjNooxUVsbWKjZMpmmopUk0aGlpDbGwjZJqNrIjDUjJiYyjJFlMBKkjWRBmJmaZbJtoxJKWxtRSFoyaYRLE1mNoWNSIzJS00yZMqTUGxZVpGipsoRWyZZFUqlZhTZsZjMtbFiyI1smmVkSpllNrJVlspSmmRrZGgMlI2osUrLElpDJS1GqgtUFjVoyVBRVZKyUbVG0VFSasTREyRtixFRFitRYZaNrFgLSZMLBtUBTASikEsaMIWmSaVprEWxo2mJWMWyRYtpIK1VLasoqEhMpmpqyaJKkYkImm0iiyRa1Ks2xilNptllKmWabVNIiNbSqWSTM1SpGLELaElMprLGhssmsrLIVs0xEJBQyo0kSFiiLFgTRgYiRIhtBoTGIUto1QlAhKihk1RWSaaNkyaSiyAbLFIpspCMmGyIrLIyIRlMxKFJRspmgYiMyLRUyQiM2m0mKIxtjZCmEZpkDEhioyUaGmEjM1BYjEhshBjQSTNRRokpkUo0FmlA1QlTAGEaTGmEpUyyQmotGQgKMy1GUo2ZSSUZA0ZCkMWUrERTDaNjGpKMlhGgskWWEKMlooaCxSGYk0aLMpsykpZSszJWMILNFkjYhjUi1GqNmtGaIqGipTSbDTFSxWZRajQJGQkyBMZBpibElSVJlDGymmNkgoy2SlKjUG2YbNJZNjNJo0bMRKGlGSsytZEaaFTNEDIlQIkRCIyaWYIhjRtmkbFGiBrNJslMQsTETSUkJBaLRbCVGo1FGKxi0ZmsjJiYaSTQoWTI2MUogjYo2BLQVlmyWQzKINioyFkpZpKmQW0VCRrGqNUSaKEyytBYoIJNSao2DJhiFhGNUpSMmWNojJimmWSMyKNEkVTItEEaosRYjKWtkVKKo1jSYIiyaIpmULUopDMlElTYlETKtRG1g0VMqLJUbRhTFmlFsmSsWrSYpKym2Qtk2NoaJskpkGUqLCBIjJosbJRZNEkRiNskSGopJkEGrMmDQQqNKbM2JiKaxqiplZNZI0hTSTUUERiiabUm0WykljZMRjRQRpMGSVqRGi0stG0MtRJqLVFWMpRtJWyIIVRtjUlFikU0JkUyMyJjTUiKDUzZJmtEWKpLFtGpKlm2k1ombUBFsakKNjYyRrYplU020bRtGxbYxbUmYylEJZWViWoxWLM2NqNpUqKUqlGYqEZSY2UDRosESVGk1jWLMqSLUlbFk2yky1GisQ0i0UlGjaNa2y1WKRMqFTElEYqGARJY0VFNJNqYYySrG2LbFpmraMa1lpKmhlrZSyW1NTbIW1GmrE0ZRREaMjaSUUGw1mpNSZmyyoigQqJMSSZSTIjIxGSMypLaLMtsx/L/s/Zv63+h1b/Yf5z8nw881pyMyiz/i/1aVZogprxy2ZSLDdt2T+QFywxVy0GjSbPjeebf1npb05v6v9Xr0FjTBqRuMkP/He7VTZ/p+wgjbR56IDO3/JOMSjAYjJhQYLh0cYFLEuGCkkGqqIzK6MpHsev8/qvV7a/27tP+bzLz/p/t53r/yKsZ4ZAbngSwkYi+bnm0f7di25yegq0mw9p1+bEcb7OofBWUGR+tnd6sWnbE5O7zIjFNSUihqk4M14uSxiP762bNqk/7t2haNRkyASR2l2yJsxkxog2P0YRt2NIwWiojV1QiozNVM0lZTKBgXjXLOdyzLvwOszmrkGTYulSMyYoTR4M0TKp2Y0uZQKVKQpARIoSJGKE2u26mKA43SMhjWiU1ePO7UMvi3LIzem5pNBYMbBjBsy5UYzJAc6VVPTf/npQ/ytAbuEOGaYiMyLBYO7W9VJTChgtoUp66KQRJFFixQR93/frKHa8HpitRMvNsRRTCFNoUiyd/HJWP9bkkUxpPa20FaGxOwWd4Cjx/TuXIH/GMPNlGcXdC2BQwoYMxdGl3Xge7/TnrubSupvYWzlQh1Tb9e0MawBj2+LANatVkbBt57ePLyijnLou4plc26aSMmFFXNunncaNion3rr5TW8WjRFi35e6vnb9tXi+xrkUyvi5Gtjc6RP5W6q8c5uHx+ftahLDv3zCGzaeWUIzbMemVxDbbTYRr7POte7enu1Vyk2jO65R44m12nPJlkCMN6lGVqNbYRobQNtwmuuV3ndjlHSuXMlGXXcIiLTTEVPNhJZdH/kP7yrNUomqUxSDoUVIiwwIU0M7tsZdMnEZasWIzL86KRPVU0/W40xtT8npiQy8EESv9lFJsw56YLVQFQEcVD/UhgEIfTErZ/MmqhJeDUlyPOvddDZighPPFbc8f3mpyMiXoSSWKMUDDuVb5sjYginiVGmvXb67HJIoMimb1nCHRhX5mN2XH77LPE+vCnEHJ1ar28TUZydWdU0ZOAmyS+deq64MyzMrF7eWt4Qe6hD3spB41UUp+7p9t+pzyvoYPanXdrdOTXzqFMEWNpApIchZGxlTtTdM6NQUmjRoUpdFKdELqrIoNYod8llsyxZTCMyTk0qB20UsUcZ43j7X5Yqc1cpF58Q5ZhJAaPty1DjIxpNp5Ir7GUjMvvDV6OsLImxyGpb/nYfJkWNNijg03/vuoKxiMUE5UUeNFCyMdD4UFiG+a2xK1eiI2MEwVKFUTRp0ZeKHEWhVYxy0CJ4sze2lYPJla+FdiYXSmigdGyFRRV43LJqN42rm2P/B9asQWD3tAxkMoV4UFDFR+18P5KD6vbrGndW5tKGD6fj/D5tem0iYxiU1FJ8O7crvd1Vul05Sk7E7sUBgTVOd1lKSLhKViMFKdc1G1i878W9et4QMpVk2HvdyxqK/VLde7sfi64xtihNyo01xLQdKqhaKYsikFkRk4vay2GoNJb7HQI0WfBfX57yvt9d9/35pgNL8ziyIjSjjQduIlWP8Yjv4EDGIxFc1rZqz70kwgghH0aj6USVGKxFhEZFDsqgNna6FphXPey8NQSNG5o18Hjbzq5OXTHLXzvFl21IHLWlODDLoeNHg43SimUIpLqrSkV276tZG/jVzwdHfyMyynJyy9O67BiyRUYCnCMyKFNmGohaatJBElOs51iDJaFH74o0d2iNLbS01a+1KXdRBjTrRU+jIzLjxsLYqisTsSebLWIjyQN2HjCAM9sj7v4u/JAjXnCDPsvenTjYFRysJtcO93xLDFQ7Yccb4/3OeyeIYcyqg4y4YxrtIc3WGHEm/bFLWjxaDhrTRrrSgYqkpMwozI0pvx9zMfs9odQ1CBGDTE/9TN+sF8fSAb7wI7zO7DD6qqnZlmUoqgRlCI97QInBpTWvxdz9/fiD5Q5sLmB+6H58qj5UOCGGtMCTPk5r3E0289kpJciWNyI3ZpolnusPoy02QYQbONwWpDPvi3d85Mi4aefG5kTTO7NIMIKWPu1BpVpzyd1kcWHfyN/fLbKUhHCUdpRQSMSPRa1vI0MREEChRzIpFFvYLfQGehcS6+GOK5L5VULM8QeGcYk+Hq6R+HLjNaBkg8E/PiyFqwjPayAcEJ5sNXvPewtJaTaFYUPuPSIOuRmqW+8kbsXiyheh8tI8UkPmTHWdSYhnS+SdKHE85cXueEV5/TnN7xh2a4CXoyN1cSM4ZcMo254a0em3vKo8n1qkaH9Ex2R67YY8D1fp21pgcahVWRr3zLKTs2q12VDmlDJYiGKP9f2X/s7smkgzglcm6GKpZp0Rg84jMhSikNUXs3Os+Chz10EjJjmVOi6IyvWB6HHTCELAhxIbCMeTnKatreA+try5zoxGG4H3usG7IY0nCMrichHr6zBKZO40wFKAVOinbyndEz8Ux+WX8tqmcMcal9vlIzJwOB83pejyQjbafJ8bX4eVFt98iy9+UjoEJvvTDpNhG0jyurs4ha1mW8Q1YXccOlrVcG/5IqDZqTTRCOPUCOLtouNex27oRjYbkMZ6HSYbZ7ukWNjn5bp8GGuYeXpirfed3XZCSSRFigfZxCp69KQOukMSKEkjJYJx980W5cFOdHpQdl7hXh0n4IsqI9eXqhvqd+sr0rz3ymuCtKr4lFMXl4uEC89Qxid4qB0x2THbThKAvDkjJo8yIFpi07ucgysIHeVrbjW/rovZZjbYcTYttqhCRDuMhS7WR9Pq7fRFfC+VMpObQ+XqPOm413+nF8chshqiKm6T6pPn7+ny662b8uhElbut9Da7y7V9Txrz63RFFL6XENyuvXdT6G4y/Y6upWkJv0roscNfGq+9wbkjchP/I0RttpI9si38l/fZ+T/H/jdbT7PzeF470lfg1Ffew+5LYo8ipPjRVoosVQUUB9lFM+xntE/N25t/H6Wq30qPratyHqw1+pmVn1P6uc88UR9G5WSQf3tbavhRut4jMqvRqGqNdbKQQ71VNRA1xCMmeyBnui3ftpaHXnOWgbWs0tZMYT6stbvSGmZ+NJT9r5H6bhosjbBgN+EINfbOal+dnk8G1jiZ4OkrGfbMVXWK9fI5MXPCX8tCPj+WLgZh+skHxEGxlV9pIyW3KXxkXXW99+d0NWByYFH30Uior+lMDN+ubj50UiLwM1YCKMUiyMKTnV34NW1NKs9mk0Yz7Ojqn079M3wONEij7GFUGXjt2wwaWOJ8PVi/EkYvCKNe8htflM17ehtb2bA7PL49pp+lxNpxOudpmQXTrB8J5htKEmQIMPpZyLTJ0J7mZkTZ+LUadc7OLu8OmHYdwiHZe140jTNMRE1ryz8jWjT97AvpIx9WuKinp12uYfil7YsiwEUH1JNjs4XrGaREUVFlMKh4fnlBbb1qqQ8E3zCUjqnduYjyZPdCNd3GxbnjeXR9J2syQzwiVG22s+mqpt5I899oNdHqyOcZzUYzhgQvzWcXE2o+l8LrNFHNKFg9KhwEC/Ro3ZSpERi86kpForX1Y5cqzonGz/XrR48jMoCmg2wOwiWngyMyXLKUFYm7OjKjCyucY6+WheG2UK41sTEECIHSNIh3uP3LHnxY6bBNMZloQjen4p/Y553UyzdT+q3+0SZ51lnxr5tDOyp3ZH3U5c32yfxspfJ2zB4xaIQjyXkxyvZEc+r1M4cEMhJMi0pcOTWItGtx2PQT/99wvTuud3nXPHMYQVYsPCYwOkzk38fhWwujuY01U161LkyjPWXK1orZzEcVSAx1SFRDNcf2lnuPhocsFCKKoQNyqgbMiycX57zW9K8jSGMVO66+nt00wDIkJThIjH61O5MQ6USh+rXn5lBciqoW9qt75uXBeGEOdmFSLFUjJuiC885Ag3gyuWjwsAUWKi7NbCLZLQj9DmahjHial0Mzu/VOoXVBnZyVpXLh68hcC9jn8FKE4ZuM1fe1mu3lRxsoMueeb51SzDFld1YZaXjPGqotx18azMtlRsON3twvPhOetD2A6JW8uNgW6b8jJtzH5PSwqF7kP5ONvr2RKK2cHRxHbu8skL9r9LupjftMSIWk9imPnL4dVXgnrw+ci/olBPiNKOYXkVeo5zcakCK6m1n0yUYHVbRp2a2keXr5WYHvTYsEqmiqMOmCps0+5QYoiCaudwcilPf8cNf+tqOgB2GvVYODkBKRGteYvn8HORgzyY2LXEttDo0dNT32LfEscPgSG90+vOvG1x124YPEHCLq1oULKqjh4YuT5DrAV0p9IPI+2/s69LG9iqWcBny5Nff5T0BGHcBJm3/XEl8fGeUZsdcaciJVYyJjAnDhnaaaDuuqDrdYkbUOkmiU5CQksOz076K+NVFTBEfOGfz8KZTjmyBq2/n5klIjMoj8UcsjoKr0XXpVPY/Vk2xTrSMytO2KMOPXRLYk6vndOmtfEyOGyI9LGN5lpfb4VeOaB9Jl5pabsV8Mel+N0sHNdG47uHdnN+2qDi5VPF0Tz17QHgOYxO9zC85gOH3iNPCCVlNaD1TfvVIpOTpzSeW6x5oj5p0JVeYLje5LZBKYF4PJjg8sBw54vV7d/G5wixLZ28q8HIIyPc0mzrwxZK1xZgYjMr1zRev76+3B5GlHazMFRixFn83TNvVKqonLGNnVUmRV0u+dHvyGzkH5Z1KsxlM+LUDQSohwbVOSH7u6t2anjFQxHYQGaLex0c6xDG01ksSNPesSj0KEEHx58qKmpWn+FQtnVcZJwj+gQ0rVz+fj5WZfftJlBuiMzIb7wyUC/yxE1wF4yMe1SI/68wx/zMsvW8hAIhHxR+ktr57Y6xiw/OoaBfzJ1iXDhMI4ql/NU5rf4ZxO2pUMTVK5tFDN21E/TGyP8uIzmYNt75czI1nzbpjMHHWpINq+NBYjMrEURZ6J6aBXLNS/k0W4+6guHf9aAhAk1ZKBKBAc7wfGQf+Dn7fi4E9XGJoD0PtIYgjuIxKOclhDEWx5DO1cOcjLOigmDsb9nOEuTpjVWm/aCOuz+CA2QCx7t5nW1xS8NLazUp76qHVBzWkqL72rQUHZNktm+1HOv1d222kP0PAEN04Jm2i1RmBLQoERixWIf0pjBiprbWEXGLFuKsDC6FHtzU7EpmKvOCcnVmWFfk10E+bp0yWeTDtxAwaG10kiZ1YqNFbaROJPCRpmODotOiZaFnvdyJAtvB4xtonqqQgp3+Tn7kqw8ear4eypc70WudrPXLr5ZdCjEyTo4/yJjXt1rMCNrza51ocv4sryLaJRsUTNQPdiuOaO+lho6uiu9eNlMNQ11axikOjQt14UJR+QVY+7G/twzMqMGkwtgfyN4SnH61VHiawC1RUTX7UwXhSA8GojJkTmpEdXG2eTWaysYrYj5rOGBpiY1qJQLut0Ym89fo9ceuq9rsF1SlZU1eO3dubxO1yKXHVdyddZL6SLAiqsUYS1piN0t/p+fhZ6hyAQ6vB3LjhZxQPqVDpqWHh2MST4ypJJckiOMoXOhH1cCZP8mv/vZ3RQ9Jocf5OrYyFGzGNZ/IfuIyVNQAIjJhDu4Y3DaHi+3wGoe/JYPQuUKCA5Vp4f8/nEv5W5uUYqd6jSfFpWvqkW8197GfwqTmmBHBMwnoEl7Jq4oBFAN8UjJoTDdU34INLdYTRb2hzFQR5W91RHb23l40dWudzgzq1WHWdXVCQzWYPOHWMwa5bwjTtjI05NWr7W2u9i1HGRvVIJg7pv30n2t2taQyQzju+bil0rMHLuYXnh7otDB9GSRANSr4+hkoRQ4r7GRYKJYKLSjEOKZEPIcUssWcW+Zzj/e6uAPrewa75A5R9MYYm2AZvMGXHKbop5WRvLoRoXSMBMvCqoBf9/x2v1aFto3NRoaIOMRXjbbAPhmyY2/obbqhJ17VcfLoo7yy1zUfmNuxUQSyjH83VCsc7YuexXlVnlTqe847n/6xdKjiUYtVfoMy8iz2qBxkz+vvVVy+f0ZCTh2s5kPmfe9KtbL8v35nXZIyVJILl3FqHDo7tvcQH1+jtqbjeMVzVonSqK+1nrKe3OOjl6MUGpHAnaTroiEc7ntZ469V5J5JTAWSYZqwuFbShYzjU5N7VQMpm5Q/AnYyhJYfX+G09AtrTS6RKzb9rmO3BhfwfSiA69+9XjuAbajQusnk/na5aXWT8+4+JjRWB8sRlCIzI5GTr2pTr6eHeYcOMjJqnDavk40TKdivYwzt7r3xmyBSsFZpR5rqMfW4m+77rKKTLL48XSCWhDo2eujygSh3R4aUdJNoaVAl4aiHEPfu7/sDkxNjkD+O2ZcHZdcqow4tJzomwrrze3YEe2ld5YuRVGRCuOL0VmT6/fbzoj9hDIay4cp0Z6zB9+c9RstlYbmMKNpqlD3rBBS4y7UbaeKXGzxpEQErBGpkNVYOoixBQoSaFnKBIZTyFLdYuNq2Z5XRwoMYr2M4m/adXHbiwWIzJFJqyTLszVsU4notPkgorqZb7V5sLWu+u1WetGXEvv3Wtk6Le98dFogI8VaS6CgmXFJkUy2N4QxjooOwb8tcL1Xhoa/ffw1atAkpOiWK3jERpcMFmCbH1IPHYr5SPE6g+1tua266XsHtqqQZ9AQT/QID1ACRR1Gv9HZxHsxJTUVCmBgIKwccIjMsHAxI797ajLIyZuDD329OpwYf2IsvbTOx8Q7HqYmOajyfoLf8bpQkLFqypgs4PFYN8W1zwoRPrgNkikCIwPhQJf/bR1ejOyp0x0SCAf7yEjJbM1CXkggmZ0sOdkSHHo/2eHHbTm6MSVe7T/YjTJ1sxwbcg0IF21RgGNApNtE0PAdWOnfMd0GgJvHorOCwFAsBsvpCMm/KjprGVHLS+5BKJvnDpnMvs0tIqK6Zr/gFlHesCleVHGd9pf9CCCenZOvNzHV2xcBaOV8xGlg58ZleL7dKhvPvgdawS715vtwFYTsW6aURivHfNeVRn6a5R21fVGJ2oQP3c9Do509lcg9bB0CwSHJ+Ra5cthyAdZ+hYZQUeGjIXOytbILtMZ1G3nNKdVIyYt1pvb56b9l1Fj40zwmPE5HKoxJ7XPUoWcrPEvmz7Ik3jENB1BJuUZQzz0StAvTXJQ6vWMRJg7cOFMQbYIO3miHkWRajkrcjmsu2q1hE4BUUgIYZfU5bHSk1duhQzgCHZJ68w68h8a+D22iC44Klto4kQsVQxHzlL8RvEHd3KrnE/7NK2uf1sjJm6iv82UgITG/n9AHRZD75DZ7r8vp35+BGg1CckqnlcvnA8ZH/ICKcCNcNW//e3j482Jc4EjJaEEE4ppDgFq8jirMP2MoZDHpS9Rp7bWAkUOI5mRuseKifULIzKvjBGBusQ+7fffjbwjJRDj2fygEOX02RcgyHT6/5MjJbAWIzJpmEv99euiBH9rluU52OMV4eFdVUf0WlkiRTZJI8XbQRzEOLnwDh6h1geaXm5xr0WTSLccm6jw9mny+v46jp9eobAiIyWfzIUQ5+ZV7vVS+I+Mp1/Xq1u6LDEYB14INyqCQosCEUbQ0tc95/HmcyMlTOtEHZAhCQYqsAQEgJ8P2W8vtsCJbPd6GwfUfli6XivXfKEhsG10Q7gUCD2j6Z6FrSSP/F68f9jDsXqX/Hl7dDSL6kaSTIe5P6njgz/y88mA2/jauSdiIyMmTFzuqhMiiMEnsPZTzGIjJWPjqq15qcSoFTToNds5933GR9nVGoREcK/DntJdZd7N3ZTD5ot32jrjTiUFtrCDgCDPS/7919JKyz/TOnv1HAv9b7yjTXQ5QCyhaimEGwdNKYEjMjqUzHPrR92BqyOxKGGvVNDcOEdS8DFUyNpeEAbtLY3+7PEUzWS+sARo6KU1dMHB4HhC13mBdCdmr2R9/xSrGU6Px/4fMAP+cUA8YL5jBR1RR2QjGOzke76ZBc6W9VwxY1b0SjzJYpGj3OQPksXqz2EChPv+l3VxPKCBIyX6IyY/4iLJuG/g1z/NLAPZ0q2jqjlq6lPn7btj79f6/OaOy5uZb4ax+b3ed4v3WVxH91+/zXGxTMYMyiGyqWYOxI0B0dkf3WxR9JT/mf4Ygf0DRF+iTtNNXQN/N8u/bbtuqHfMP5wfffv86jXCvn5343p2/w9DnJBCQNbWvQU0W4CIuFs8A5oCzs6emc+vcpdcYLNhqAkDta/EqsB4OXovud0rOYDUMAlTrHmq/nNUrUMShRJkKEJJKcBoFbPOYSuKQnsldFP+cH1v9fLOp2DL6ZasWEK3PEhJwU2Pgjx/zXhegUvUVIO3S7XbT88qEX4SQMDGLFlBIyWmQ7vD1EnQJkf85dV0d+gL1/jn/OZ9vkXzz/efu4M7dp5S6KqXXEtwkJgtrZM7uG0fu0WTpFXMCMnzEKiOwajKabg32cawDgUCCZvu2vDiKUCyGWY1VjXfu07jPQzV4RtBHKOmqtDKdp09/bpabNBcyLLj7xJ6S3j/S8pkwhbZ4zK0SraSUx3XensSPHzaHT3ZsxWKDCmLI8kir83f10DQ6CMygLFCIvejeXY/w/bctCiHNynJmnvx2RnCT+Hu4/BW1MwDp6XLF2qkEREcQonO5/NqXMJPD0rBjtQfeZMCYGFr0KbO4fNOVtrRJgemts+sVTGfunjFhbMPrp7vG7SFf9+H0VXw6NLSwSWzPCjnExPwZ/+c1SHUfSPMdiU2Zx0je2AsZBaStz5Pwiynw7T54k9iNJsWEYafDp9cG616ZbSOUPWwQNupOcdYCQxhYaGH/CjrJYW8iXobb48dtNl0OLo/rErd3N3drM3rL8/6+NDFbP26SZrf6SboXI7mIgX1IybuuGdwrH8p5CCWISGNI7k20P1VpjsoBUpI6+TfHh+phPV7Mmush6n3kaIjJnHI7pUhpGTmGq0JIfRchrNI4KADX5KkIyXEmvdn552ePr+s6dP6uK5+nYnci/tAEfPDux8jcNi2zPTRpNg+8ykZHWWv+Z7tUnpOmmGjDOShEFZ+n6qv9FjQickxTvHmbc4pvcmDXostWqAd2XhiQaSa7EwzdZ+Hlo4Pm/h5NnU8FrojsiSKKHaAsEWMjjzBEaqvpDe/KfhTel35h4jDrQ8JutRXt9a0wSSeURGwcpsiF1kVCZ2vhGQYi6+W+r/VCbAWSurlRe6FIjdCjzw+rw9zUL6q6asg4nZsiZmHYGJb1O/aO00T/Vxvget+sSScDnt8NimMrA6OiO/erJKFuO/cN1TjoJHYdfJe6PL6AeWg31fX/juh2OJXoRlJNIhqc/CPrxDoqN+WnD00mWg2n45vSGs4oiMyEICCgnsv1E5DvUB8b/YtLDBIdTYIb4uYFifCIzIRSZIjMhYEVbphB7H9JuHPBRjnjjYfMG6dkLA7Dr0WaxRNsOHYpxsQRGKBi+FhO+9dPs+ZpnpBKAyJohCntGFNRnCNocUhdymMhUTLCy7ucd82KCMyoiLIWYjmWYUXF2FCLJBhcrjpg61jSOe8/aQWr34vw1qnJHOm2/xZgYSHnrr2PLM2Fd4jGVIiwGIqsH3mZucvPU2rKE798bReTf3/z/4gDG1Awtx2EpgkEoCAGOzJQLwR+zVFOf3LHEeb+qi3tUXaOIbr5TAfVfb0Jr59eeUPUGIrrq9tGVspBMBYIRRuoEGgIEAvkHt/HMtgPzjNuu+vy2bPR5FqcHvj2+UXtrie+1X4QdKKUnkU7BjPWMIlNB93hUX4UXQoWCD9y2q0UjurUi3TShcHXKizC0sUJDpp5Nys7ufjyRPbuGuhmg7HTHdKvK78CB5lN4PqNk0CCDsOpBjfQTnHVJmFXunfayWmHgFgXGqa1qSDR4ViIy0XOR8QtAdea6DiBFKYOyMyBRQoPSR4yHGhlNUUFCNJZ7sYeDJpztCtjJaAiZRGYFaHNnNg9ScnqVXTc+xBqs0xtKWWKmlNRUnC0CqKbFvmLhOLc8lFiHD0jp0qKH6o0eL7o3PMzOqGhMo06R9l7GLVOp1gRnFhzeQ1iiMmuPT50eZXRl0w5hHBocjMXOXqEph+UbrYViUPVZdip79XOFLtyoGbwQYqOmT0fHrhLHSvS55Y3aIpSEjilY7Ow6Pyb1KOngVsbebRxiqNkmEtblHZ8jdPLr79HkvTAeCW3W7pmyvXkdbqo1POKssm31ZRZPeXtevEmPUcXQcEzCxMeNDXIyV9/5/w9hlLKLZnzslqunx3gLz/YQ+hc0z7FPU7VOvV5zHzrjMzSsAGK5732GcOnoemtw6Dm7bNc74BxCfUoo4x7mGvHFhbA7xd0UAe2ohWbtkuqGRCJeu7Xd55LtcWnjsjMYiNHN0i5ty0VFHifHz7MVg9U4jHTQ8389or38r41K9L6Nx81wgwwNKYpBFFjUEuqoWDLMS5gswgxGVG0YM9me3BMTRMGlQuJSIItNIYgC0ID0gToQyJkgw3uGojJp8vh31zJqrz4wyxY2RxctGpAkjYdr2q4NTl6OCE03FJ2kn75J0WOx2pXtdxZ98uwb1RGy2dmhmhNBFj+TSSULigxWxh2wLAh3tkMVe2PGDtviMmzdtl4zVEh+1Sll2OUQvnzTkMSbOwCShTItBvnCrxkyFXVBTwQ3kRcDJiYEAaCcaPWzN+XhwtsVdT0hsODiRsWFInyPmn48u0XlLLEQiGTOtEG0+4miPd0hjqaVb/OTe1Tnato/iOPv6ec5KWnYHDXK/ssnvyUvLWhr3rpxfXfDGZM15eHvtWcP2jHuq0jGDfozc6IBO6pMlN/LdbIjmlrTb/xZKmjBxoHIwzpiMI7u+kTQmclzhZtjrZiloqG5pGlwRpIybuXQxyVzMFaNsFt1LH1NDgYmRGkjSRjRrteJeBaDUQgXO20aR+9kQPGYAIaK0uWliWOLEhM2ULrLBsgZYUaMGIM9/b79webH7fbu+LH6bXx7N+Y3zhSQUjJpJKYLFARtCpq9MWr6Fee/bbkBrGmRRixNGWjb2SVe7bxo2K9mCyC4YY8YrZpg7qpY0LJw6JFYirc3iKvQtdTayRqjVe/z9vi61Y6ku4xFknVAcGr2ZbLIKX7dTMA8VorMWKriJG73giM9V6L6Zz5bOsbwPisTf1VnO6EQ/Tl2x+DBX2R4AUvnhjamsgPXJYIiWgRgyJgOcdiDhsFk2CeIYdmzyJ/Gd8+vam/bUDo+727oidHDB0oDaPjjXiMRCUTKDeTfo1D+fHxNECvRYJOvTSqWZwGr6pD0O9HVaK5DbI+N5Cb3tHzotn26leHoU8yd6BM7H1l3RuHkCFmXBcexLxt48h4iu3ncTbvO0ed07rjW9TBr4bDyueHl+NS5bWpw5EyD6wllq61RKpwbDGgWmfXi2duL4788MW3h9vVRB8agnG95KHNPiN32LZvyWoLbCEhft/qgzQY95tGeF48pY8n1fGc4dwffDn6ETToUffF6u2A7CdNTLxThpNog8JupGMJtSd2hkgahAbfut5EC59VnR3rgiBXSCiHmwVr4UjMka7JKumY9UOIyUjJYNX69DWZ7zKSSUHE10dLaLgfpDNVpKn6RYQqNc0CBufbyMyzl5DWwTWqSiCipEoMDRRViMm9T1zjBdZxrDe4jg914wi/WRfofb+3qiVHZrqeeCPb2mHk+8Jw6ojJjH7qAKFboj1SxBGCMls9p/cfw6Z70DQ4pR5c/y0/rL4MdnQ+i+JOqERIyYdWesU7tCkZ/uPjCM2ka90MUjcQpcq3Zjc+z7F5fAvKickXP7vXJtIMYDaG0xkQxRiHqztJlkRWQaOXSmamIHoZFhVNIwG1klDIsyBJ0daLCGhOA6yNiMmi1kpFGOkUalDleRQkaVkukDfl67YHMKxVJIpWlCMOWWuMCA0QjEuJB3T5wUE02ooiyMmGlYsjoUYTRuCZixMlpEscQ624OvQ0DsRjUakaiMemYaJBibBDEMWmBJdmG/o9vGuz9eIdNCSpTYG8zRLPSDWMFDiExmoY0BoRMz7c65zpfJrUGkdy4KGlcI0jwl2Z4cI5cGjsm2bnFYkfq7o78QzlDiNi4yZXzuVxs5F6lJp/FypF0R44jlpyKZhmn8SPHVMox/k+z14WM7j953EMOhJ3GyWWyGnc1yGtoWC3WK7L4by71nB657cfPnzhmOGOBGzcUiGTY82PS5EePXoo2/E4gWDcoSXUMEk7drlhreo8js87MU8AjiepkpYWMEtwzHDxSyv99y8HXCsyWmR8HtUWUMlOB/As7VvFJsYhPlD5cpqbbh9Dvgo2Xtl0qfLRSki1IU1zeJ2eTJuLiMmbEcXSFLlm4uLBSMmD40eZK2RZRjDLBYdyRSQJEXOabPYblDotJ7xadC+yPPfUlkx2BAaeZJAwmCdnxTmzK7cSEWWDwf78WpvxD9bfDaH0HtNZGyzEphfUgQObSMlwgkdoEKBPpnJaxzXS6lFSriqdMOjHaI+d5S9Nn2b8VjbdDxiZxydI0scaypTJEAtDu1zGJePbiPkvDb2ZfgjJWPx7Y0D2+6aIeZIEhMRMDQz+y6M23LkyrSRGKKFZqoYoiMmN+XlK+vCq39gudmHEIfF7ZVNElTCJwnGT+EsF+2tTjCH9B4Ub2fA5XulU92KMDkT78e3IyWpsP/TmDaIOARIXiUjMlltmK8vTH/L8q9pg8wQdsVWMT+312vBy3O7r29uysvHOh6TV12rVgXs2njye0l2j05G4+stzOGY6rUbEIY5r5OnaaG9tPb6t69cbUbGTVGGW5VrpZI1c26Vo1ua26baaW7tPpoaLMRCMMYyO0tkO9iKCI30CxA7eRZIkBhEoZLX3ZqTrwLpmbWoEMzungN4XK1Bq8MVp+iv+s7JtkNhM68PsDsfcfcfYJ46QAT8yAlACbvRyLfmrdZxXH38w/WXqvI/sLb9ob6eCA+yE2TnX4oLBrrPa+Xi5t4GjnhhpGHQpdmMlDhqA6bo0FgxNAs/bd+OwfvHD9+nR0daDPaoHtKD/CMyWkcyeiAsPdUew7+FHIJfbDb5Obhn8u8aeEZuf2YOoCP5GPr1ogGgH+hf0L0o5XKQanT/cLtfM1j9MHEOPtrjeYT/PMKXH9VWSXxn3H+FeSL+G4/GW93St23KefFNbzGd5XCFgp65ihnfCJ4y39r7YeW1W7ZDl4L9II096xIlpzoMUll3wXw+/90eft/NwHXqIyVRGyGMfkG7l+Ox3fWshNm5rLernunU/mrw6up/6N9s+vx5fXMDd6rdMNx+ixh5vds2n9/i+7Z8da7bxZBvP1wwERjAbT4tTAdh8GnSIcBmwcXJCO9kkjynl2Dfd6+Q9GiT6JdcP4zutju9n14iAmEqbCBo0rqIJRzBVIRzKpRgQWYMgYx0j/2xGIygg/V8v5vozw4dgle9RXJwIBT9JMajisK5456qvJeKWkNuPo4q2oLJK25YWxH6/7ev9KAEdIoe7/pAEazS/17NtKTTzfV7tsuAIyUgnOihASAqAlLubv6bboVw7GHIEe8/XKPq4/ofj2+HtK9MhodMPtj5XW7/a3pZCQZIUKLYjPU7WgimbUlk0SYgM2VLEovyOMxNGmxV/dL0dt2oo1lu5126ICMyUDElL+5KFCMmJf3AfAam4dYtq/X/UXgfpBEJpK3WbzgmXD/FxyMmhiMyai6NNt73YGIIUOGjfq8+rzeyjV40EXNu66t1LcFG2IZ75bBvyZx4flPx7/0bPtf51MIUgqxycnj/ZUpJBEPn0/H+7sLzPurCOUYUccjE2bFoxW/pNa3No1919dPP3+N/aLe6pgc2ZGC7wKTkhDz/7NBlBZBVCYlXENt6SRtb5LVeTa1et6u4qqijIHsRh/LmH9n6cn4OHidljdRtpktOqY2UxqAbYEYOxSBA9fabn+PyNrb/j50gF1Sv9yuDgu4jMuZMm/i5LoElofiHMr05ihZE/YP00/c1YsXzwe0/vaXUOrGFyCEDC2ssl8YlVs/uO65nIyaKwDfpUB/jO6AisG5o+B7Cyuejh5udcjiUT3C9Q5QoQlIodXStAUhW7S50/SMmRksYB4JDDFiHuDKbpJDwa6rBG2juMbFjfxR/cyt40MFQejx07/trk8X5o+ASgftlQoYjMjDA/suTTesMiioRNRLDt4hYlU9lXmg61f9wYtejgr6VDFjO77EmKhYcxR57UT8yQ/S2kN3Z0orCQqH+9UmghMMFWCInxkKURGKSt/dIuKhQPUwUnHpQfIjfJDh6/jm2n9Hl+b5z81n4fub8XiHs7RH4fD6BX19C+PimVPUeaAtDltPq0cw0xlb+wfZMf6rvPRNLPHmPS/7V0+i+Mg7ocfpj5CNXzge0QNw+s1vWw5cwXhD56N+farw/DLuUc4GNItz2IyYdv7YuA5yA5EG+ZIwDr29K6bhdSs58TGI5ja4zK+GiSWuu/ZBR+uOvq57TYlqFjXZ8vyCmi3s+yQbey7jqcsrnf9nh4o74+1tlI2u/boHZ/DRA1t5OFdLDk7f3QSN1eMRqHEm8qpAwk9U0+KrgSPgoAUon4MaYMd1Aefbepe9Qyu04at9t1tFudbUWt/FwBsOWg3AgHo/4lSZk4wtZdI+PkhlKaCJSWGTfbZWLtDnO59NH+7rvohlBh2HRfo87gXKNnGT78c+aXeQ14UhAVUeDBwmMxbkQHjdLni7gRCMyWEfmI/KqxOZH1DsHnH0kMPiDtznEcUcVIzIX6kV4RT8LMBdMcnws+v+fl0/UZPvNzw4TUsapcp5P6M/I4FnfihyGwxrFNl9cb9e/vyMlaiMyTtZYkLSNRo4sG8wibadhEnP5+4XOmLW5t8fuoUCv233XsmWlp4FWfj38OBnXSd10/CqQ+1pUeqiageZlmqqZqzMjJiQoEXBScVK46F+3uURHvruYxQf3l9HxOYd5Zp7q37NS6y1K3SstIzLF8yn9c/sYaLfmb88xbFXJiQmPcQhIm1zhBnKB7iSNBEaIII8iZeD86qIiX3f19z4IR6AQmLBL+iMlGwcXbiMYUF+tU/CjtulCJLor0z86xDKZYUMRihIJhIbH15mnr7oT4yHWa2Lxfsf5v0fC6Z6KOY+B4GdalgMCOC/boYCyUE52QMQxK+hWJOrTEXpitUL4Vq/TLdifzdDz/Dqq5Q4pFCnwAfOXUdNaVPOrlXjTrsBP2LUO3YeHXPK/s4dGtP6QYfyUaWBo3T+ZSv5eHNDnB1ruS4WMKS2BQkpIFyCEv4J4SDgIRbxSARHQr6Z/eaZ5p1676CRvdc4mtGQDydQmHw8GZl1bOzDo2f06/F830+HKnq+n6XH1mzd0dkFVB8fq6PmOn10y1Js+H1WWV48fP+qvsdnP02sFeu3SNPnmNJS2ui/O5ctdna72Mi1E/b4l8XrP4b9t9tj87dHb9ndiN2z3S5brBC15Xoh578cIqJaqvb+H+D8ObsapcPq8q+jvXp5T/v4vnylbM7nBict+r1a3Id7uMV9StKb/Ai0dztv38Y/x5vbt9eeXoNguDtuPPlo/r1fO47Y8HBtFlwUXCyMlxd2+nS+vVPTzeS2Y9M+ezEYDyPYejp0JL9ifF/WXuiD8iOQgGXJIIyYHxW/e/CK9uh3V0Y81JT2mIsv5h9T034+/7njkpskJaZDnF/n6XIw8t1sobrudbKdm+Lacet7XvsxuZOqk8/Q+bZLKNtnYPrgMtXGrg7q+LV9htdw6ck5Yc/9Z2xjDVVtfweNUj1PpzbNumN1r6DVHc9/iwFl4W08Ec6HnSrd0a0Ltl3S1eqWgd85OiRY2jm/Zo9rYg33222a6XXdcjbgoG3meopSGvvzsrMS8mniw+iNg4aaaI1HzBUwuc8T08BCLmCxczYhcA0HmRc53Urmn+r2OcRp5WZ48tUncfRzccdtvj4c2Hk38POd24m6WO93mIl6/Vwldquv7qT38mx3bNDQ8ahh0ERYHlZO7j0rGQ38aWnR6rJdHTqapSRIcfDqA5PTxSViJGh+XiqFhp/ydYY7u/36nQHI+Mxrq559T98e37fEMHZR1K77njf9ITWMvN5+le77jP4/P5x7HZMPkxGey+k4jvMOJ3CmsZ2RGHftjb8UjJqiq+qu++yv59Hk1X2dOl/i1C2rYSVvYvmEJaV9N+xk/NHSGB+zhLu0o/FdN/0C8y+w2qAytEDQ9GNMfD80nDFdW7G+PdDhOW9viHSI5U+zyTv8223Cijl+SiRStE5sF+n520b8Pn/9i6MR7L3bDf+jtTzf098JaLPx1bC7TlfGPpif6hXdS7rK+jsv7IavaBJL/0mPxuiNN72Xq5hx93R+W3KFB9DrQffkivAhxK6wo68PJ8K/ndgNehl+JbB82re75n1vdfzc7myh8nRJhKrSxV/ju+Rne7CTYJzgqDyw+dv7+WVf+fytDh+vRpRww0sipzqAR5MwPG4V590Z6rPb8X9a2fVYOfllen0H+J+H5j9h/F2juz11u5QTEOFOx+Xr9NO2yz+hUefVD7/3hFSFfN9/PmM/FLyNk0uvyN/P7tTU/L2/wQlB8YKKEYHMs5SMyCUJQqo1/dzMGeg/AeXS9l+rrIzKRSWxkUN3hmNHJIyUe4r88Ffd8/7ItZP+R/YWmP7+HOQHTDnKw1k6O33+U8z/v+nVzqDo/T6Qn8O4c1PN0jD4a/s+S3mv5aD9Ht+f19mfcJfsFjM2vv6x23Y+eep+o7vuI7L+DgRKk+nVq0Lq1/Vqv5/MakLr0InL7l7kHcUGjp67HD+PHSPF3+6fX1fv13DD8/b8Q+MfqHEdY82HP5PGPwChctw6m2fome+539KAbPx07qIAoP8l+in8M0m/xjzD5bEz6B+nX/q/D92FOq3T9Nc3DSN/Xxat37vXf81g2CwbfSnG6O/683DB2zVHtW4dMfo8vyr6P08dKfKP3ahQeT+Tx7xIaRBQI/aIavh0ct3ED3j8f0H2JanePF5OI5c0jJY5VaIUfmK+N7AdgKfxkNjP28GmB+4IQqEIjJn+iIni9duITajTRKBIIm4N/gnHz387xoufXt/Lv6u9eIv28/T/KR598fmLFfubk7EHy2d/Mujnd++fCsyZL9J8c7aeSaKPpBHk/n+WFkRQkHcPJ1yMye9VGOnDwmL7vr2A33049fMkdT98RrYJID45YVFPZokDmbSwjJSjHeVCczIkgz5qkPiYMK2aZdBXEXoZJQmZIJudR5K2YASAUek1XiHNALuFggGSQPnQicjpK7JWM66CmD6JpXox4aZ1xjePjfy9txe7PPCvTfz8XXjiBpUNtUqREdbBgNT67Y4CD1+VRLs5fbyol0KpnzUcRZwXg7Ei4eyZnAklgQ6ggl5HMOobxLWBAQ+tN34cdO7zT0/D2BOIzuf7N/3i/29+mHEDtJoPE7pYPBbjY6W3B94aCEU7gZeR0w1d8qVpRFcOfisnGfRjwdc+wVp0T4xlNqxIctIKI0yhWUaiazkzJKLPJyudG7uWuVlNhY2xiXmKEVqY/zz2vN3jv1W81vxv4Xsb8g3Bfb05sftPzFPVF0Mx3U5wqO69bKzLqhSulw6N6ZstFJpFX1cuX7yscOXrFf7f43jVnuSVmmGqOjBJ4pbkF16EGWjWLt4pYbKDOOF+cuD0irho9GFe940/IKPH0EelvLbfc6z5BJMhzCSCElJ3EUKJHXufEBw8R1nWBnoDQobWDG1ytKkBRz9fGQpFHzMaK8Eb0WHEIJAPGniPd/DdAEFVnl8+2zrQP+scOjYO33XCw5dQonx6Xjxw3alsiu5u+ylXzNUv6AqfVWEnSk49BHQ9TrEGgUVHmHSk3/Cfa6+QwxRR2adIFb9Vmno0WdxlfXVX+7sO7G5y/V9rSpHLudyMm1Rq36p0LRPPmTJmf4iwPilvZsNx63xc7T7vp4hx90EZMPF5xsBHBMOQvU+IaT+z0a21sPKeTvL/Hauhxo8r+3l6mf8+HwyTZdyv9F3nhA9YPWp5JJNjpu9uCH03dL++xgRO0nujF7q2OtmMbgnHn/B1K+rC+TvF/J+n2UGfrGQbxgKOQGaDfNeqLCHQpJK82Qy2H8PXMVH9f4MlUpz5jIjx+nhfiHVEHskp5R8v0eobL1jDIIyV/ZzR2XtMbC+OsDFW/L2+zp/p/sR/fZ8p+yr96yP/dcP8xajMy5kbVbchKywag5BEcGEYU+30qMa1BhpVBtsVI4gjwTUoqUSbtiAjRIyYOY3FhIKqtKDjcIzIqIsdP4btTaRg21w+j0zhrTWpE9uDGCYYRK0jsUtjsIzJrBBzWGNRhpklMCEGrImhoboQpIpY0GrFbBFZXHIxjgOwnwyMmU3OmCxtobS6JhiMmikiOn69LeLpqHJoRyM5ISNvaLQnsxWjhk2nWJ/Z+u91vR3yIvFrORKCg+f8XMfgsP0lMcmA8wg8Wd/+4WhmoOS1Fl69TkJ1IWHYbGFhUpFkSqKQtMDb+Ppw/krtx9n78fB3NwTkFHdnl4ERo0raMZIEjo6UCM1mLtoWk3qDGQbFhUpVEmEIQ1agsTbGhJDgzBVVkVVB/sqoCULRZtk/jOj8+hMpxt+GXz+GNyzIpze9NF/WJ/bh2S6DfeyN/j0Y0vgkMnC0aZ9Rss0yxgJznardVdeXLdZ5fa8c/krrpy9ldWr+Hj9WwS8g86rZ9n6PPnAvHWMf4dHRza9/5x4oJvE8U7fx/ne+3Oz4YfjlI/y88CIO4CGrEVbHfbfn+fSYxc75POsq2VWTXHXZW/5p7I5jfw1wzC2juqHCwowyn3JRHpEkg4dDvrLrqj7R5+z2/j+C/Vq+LTq9feUS1CCDxK/oHDi4jJThoIzIBNVU2+7g4C206vXzimP6oWcN/R15w6cF4WRJ1/lV3+LkcXOcz3K6TmsDC0MPL02v5f168JhU1qf39fx/bztL3z1+XZ/S3Xx1S4k2/qRN11n7p/bp75i2SyAmF/dF9oW/zhB5z6fqqxlJ/Z8wwHbnJeGg/hUrjWqH+Tt20RIwzS8DFbkKRbVokVtKGQclYxSnXJTysFRrRIyYMo5B4QVZiG7bGlWm+c1mUsmyKJLt3x816Net16VJDdAKzmy45aqVChlCosKCkkrFCwGRR2FrhYRoaK5ArKVls/2PSo0YRwfZSVt61DOYaBsrbJwxhWoisbowg4NsFGSDIN06SbzdzwZhSMa7chKJuRQVMFKMGQhBuYMo0tmIgmkjE4drrObV02SmgbGMdUSMmoxiWZEww4zCs6VRaQ+II07jo6LKW1zOCSFocN88UkFEtrQQBlBRpr9zrOrWAMNPOkbRLOJOjezWRRobGJiyRJlQ4VOIkerAx+FRHSE0mQR/gaCUWtLBVzIqnIRRoIoM7UVRGFXWmVGOBHXWSkYxjZPMjMg6J0uWaGzgncfBCqwxJBSSSanchIeiB+qHFb0lGYyMyZcjqzHhnznsHQ/j81BjOf4rH+gML5/5HdzOeLLf1FjUigrF7eUKB1s8dNI/qb3+tO49o1x+dUU9Gmq9eHw/TRPXD2/B2Oj0eSOQJD7FTGR4nm/wUPwt0IrD3P+a1XYV/UPXp6NUUEyMyuTk8gwSCPGoPXrZNpzKKVIja5Ol3qm7niFhCEHPD2eM7sw81j1he+5flL4/DRCJsiIidOjyr1z104t68tdhn47fh0uAcJrLLU5xN7Px/c+pzfIEf7Nyvupzizf8JcPkP9UfRIUtD18E35IQgOvkvheJHsH16+aakcYDzN2myofAjimxBpX4vQXMulQVUkksyqqtb2qPqgkdwFoTSA5LEjZYno4d4gJCPgeRxQ/R/jOXJ9AdL8vgvMIh+AbzesQN77H8FSJbqsYdXLz7UQOTWW22NEBr/eh3p5HttsgyTcPmJd/oz3/lDXx+Q1vtuoLKdmyZ0Y/kRnfWQ+obkZEebs6FmbbJTDvqHJEVmLkvuqYqu5zySbRIS/cK16dej38eMMLF65GAd258wiNgn1dUrff71C6SSilGKIPZFFVCT8qsWY021SNjJCOI1IixDUS/cxWwCf5Mum820S8OjsUUZBuxSytKq+Hf9f+tz/3f3env8lnu6x1/r8TSCrfiMZ9vb8sPB4iMl61kwLEIFBSMlJJIsRgjGemubD1JkiK5jmUWX66K0CfgbGZy8aY0MS0OEjYuDW7TWikbRTWC4GYtTVQSLeCMy4ZYwgwgk81KzTHq132UVYZgyFagyMVeSMGsHg4I4MzDLQoNIqMGJlFaiwCr5Hoeji0vEvXgRGJrbyoe6bxGY8jgVpogT6upk298kIJYLN/hoLaxPcBCE0EBu/URkM0RhqwUbyqdzKmPSI2lm7c4jJpBVYMhHF1fAMzJZYg6I5q0PjVRWberTrCGtVtxjbcLImSmp01EzQ5VApKiiZLSbTAZEyxYYgYNEsDRONGk0Jk5F6ROCBW9GlhrEVkbWIyZ2ywbBkO1N1YC5DKLZNtKFUceqfyf3ZMmQ5I74MYa1l5ooVVisMNYEpUoqhU6NGKFWsMlBZI6JQ4LuaPO6KdoThG8ZmB354MI2TCg6cVFZN8/3h6Yj1+cjMpOYBCFCIzKCLOq3by5Pi4Q29wHcujxj9UYubehU7/y2OhQmDIjiYwxSie/Nma200n6rr4kwYeS0Eo/cUOKnE49Kpr/Z9fnpj7CPef5/jt8jlcoW/HRSiejlvR79IyZB5/WCfSfeKZ4aefV6Lx1J1AnqB7Rh/FhOtuoB8xrHjyIjLLII2xRixYWlVU/GlVRAwacYL67vDHuxZiIGpHSLi4wvDhpRjSJU6fPMVFFUSXHUiOKQJGRIkbqYQ3mDvxsarekicxoBLU0JpJX56cood/C4y+8OhrZwsPDaQod5tNN7eBQ5qCOx5CK6PB6NYGgDSWil0tEGiIx4CdRg6G3BsbrtWI3ObV0qq0VQiFTlt4fzfmydddrtsa23zHEh5SoSgsLNctsEiQyGB+Gnd/2D8nn8eu/Z6/b0fv5dUB4enHF3ydekXZavEMk+fEeLz/z8JV7qsCGCLzp0KG6g5FYdJBB0+y8HEmgkXLStBkbi3VGOjtIHzMdzhMrmWCbILTowpiwUEoqUv4SGxqDjIxtMMc6EjHi60wkCDzBkaH2kdbcbe6qMpO0jMuo6riFGzE3HCRuKPBxsPwMCt2PKqikag204iujcchFS8DRW69lFlgaE41rneZ22Zi40jZohmcS7i0cEwYyiyyMyEIKyawLJTKgXIyXSNaYb70rHwBoZ16aME8eM0s1Q0WPWgKsHy3dDf3tIyrlkW2sOMFWNj5kjJgjqVdHm+Ctti78E1EHYuskmRujpIOGmkdGgKzSS2LrVhkRE1YulziwMYKjqtSFQrjfFgZMw04wrGmPqd8DWozUn64Qra8B9jIHROLjcIzLHbFYGoQMHShHkUmWSMYFIYOUjMsiq9mPMFe932NIt3J7umVqaIxvEBEyGXoY/x8PMI6fO9B1PSpjaf6xE7Vec5msOm+I8LbTCsvDPGlWoJ9kn5/u8GMIbB1dsoEt0dt3nzpnEWOZC/yIHeWpC14oEwqg6o7pxZITvqAh97YlCX87utjTbfSMmW3hqNyTKYtgg5glmPQ68tCMmK5ALyQVVIdEaoFtpFkuueMZKc1U9beBnG8Yyy23PH3poqIj0qVNg0zw530ZqNuTckVKulLcYx6sbVaJMIrkHlDiHdkkqqE7vuZ7gS14QGtiNpmaNeq8W3fRe+Y102xmwdiiB2LjJE0DtOTSZtyFMlGYbZvMUgsWKIzJ8awKDvmqvOE1RnbEjMhftUIb8i+DY/vNizVhSCB4jJoqnHtMWbhy+6BO4e8ojL7m2xmqgy4UIZtYHdJtnY3EYW2uTYcDymEISYpOWUInFGQiM13kjMjYo8DmI6hwa4N99/Etx8T0sNuONvKXGwh2STzs+1EdUYrfNnbcZw2zDFw+SAwntYaNuG/MiwYbNQSMmqPKdcz6Ua6BQxLbnE06G+CxvlORuG6LA1Yoox3tvDFlC+PXO153aMdY1rfV5C7aAdNa8Nd2pdSMmK9jbh8o6zGB30zC4hJJLTNSSQLQW7szpWPY8cN35V2CJ3Udssbrc3jcwW/JbYgRiDBDuZgI4G3eEyo2lKLeLfOLZNy2tdK5UR98l04a3GhuCIUR4PBR0ZG4blLwuPDnad6HXgKNtqOo67O6IKybzEslbuFRucbBRzeWzum3w0rpdRgKsJ9tBnFhsBAdtrW+1y46MexdIrVjtCJ0YpuurrjOZ5M7NlTKGlq5ZrEzB4wOzVLp02YnOMxZOGabZYgLTnJecipsO0Zvq5JnjIQiUJc5mtFdbu2BYVp1DGDY5c22MnJIJ5Jtak0MiDDaeZscxl9nuOVjYmvDoNWBb9NbM2TZJxB+0hVBQt+zugJ5CEoZduMfn6yV3dikygOZ1ypoUvEPCqHEjMknvMddjz+W2W1OWIyaWt6OgnIw90e23JxGEIxEZKqN9eObVteGvoaSv/TcZEnE5EY2JIgTqx8sn6mFNbdcbTT8imE9u/7ZComr3bbESkU5EXMw7yne6nddnURaxhypJr2KMLZTcdBDonKyYhiIImMtlTbpeGPCNLWFpI3hTgiqNIU6gbfFIWXtYPdtcy75p4UMmdKRXtm2pyitlQkd7iPJ9QmCEhMkwJvDm6KLP9fS26dKpXTjt4ZwbxgxihNON8i6MMeztm9df+xRVundy+2Kwr37vXXGiB+YbLSxTdoxhVbF9Djqus66rS2nYIT4TzBqHoRNyznOKwG/GpH2yav+tx95REPh95iaVJZUb4O5ODltQabjH+rpUW3lkOma5qkawtuTrqDdItWQqUcZym0YjMglIGDljFctxvTbXueWGDmicM4auiafV6K8hertm2XmY9TTCXRXIzb8jMnzS6W4W7DvPfrGj8N5dnrdGG5EPC6FMqMXCUymZuiMmOnnoGa86BX3XTk8GujOZKMKwrG1A8szFXSaOLqMRgqLFWHb7K7uyvJN3iJv9Hv5jfCXxw441MPkzPNelcYo0RL0y8rHArWmym21rIyZWwSmMKG14UJ/9sZMSdh9+ocnSHNTqrO2mEMo4NgYCtFUEkWOeQr2bfoWo3DxHT3qRw/pdrJ1e8ZSKfaaXDutKGYnbdcyimcawwW3RkCzjIyWpB2QczksjNpai/P5F6x4vpYLnoEOntcj0g5ZODBdSd/mDvpDpfaafEBCaRIUVVPSKCzEYppRUC6y38aVYbh4fcZXUjaoGLFejLHiTf55+SPhq19WCk+nxOduUSA5wCyef8+EYQJ8fpsCIjPUUAdZ61dD4evvLSuUd+Ljq8j6K4epcmwPkPhtdmvAM+DLd5YC50Gnfqf5TGtJLxJMsb0XmBYMmfntRASB3dUUi6C9qiyMlI1KDWttoXhoxS1bi94hdktKMR9nq8/qsaZZ/Hj/WvgJ44eIVpSMlxIUY5FmIVBc2RJYBwAn45333d40/9Dz9d+rc9OxDS56kIyb6e2S7PIe3PSMlF+d/hkx+fDgeiu0GFLYjJtlY0FiTFxlgikrUOW0oGDOHLsg0MbAJZXDorlIf2FuVnaUsaSDLmM+oOXriIjIFw6mAdh5A3Dexk3jXmTjhLsx9jWqp/QeAHOjn8RdcGMDqHW0fqkiPhhouVjU4PbUFSW4PAjdgdpxNPbAZCC4l7wsJb5yYD+Hj9jkjKdhVzl2/7to5jhIgW84PtD1rw/qbooEm8tm6hR14HGCZMxVPlMbr45Q/IybjngbIpSVbsllwRly5IzIQUbTBKsP5GLsIOu00bRMwir6GumIjJh4IyLbhKKCs9T2cfC+x4vpZ9N3UKTJMRLwceGLmIyV+RNvjVmYoeBM76T+JI1Vsqwd81Du1X0kpCFSQqZBhllErEekXCebY2FPbrUT4HTcOCyMlV7A57ZJk/qKup5dW23gyFLuvqSeQsN3R237bTOiOk8KliJxoyi0jbwcWzef+XA/pUN2LNeL6KDesj0nhu1U5yj6ODJRpRS0laXs9W7Pj42+euUTcIMoRJBziA8LwmSTU3lgC1l2XHRFEm49kezo+6d5NegPTJST01Xmgs2KOzDiwjb0TEdXYdCTMEw42cmjPpPjXXmdbv4WbtTQjJtJP4kvRt6EbsUPi/0FtPhHWcd2mL6DyKGmpp5dhmpSNZ8aiuWyEr0TaayT/VPTJKIVM+Ig5DgzHpd3bVes4Q1t8ecmu21PzE0d8UrHhRqGE4Y+k38Uvfz4sZroOOj2ZCZYlkNu7RfUtqo4grk59tYtde+qI/p7e4P+fN7FD8Mky6nBDHeCCEc8j8onBtPCgE/uXAbmfbBnLes6xHDnLJp+G2lpMSO22FBSaRGEx4qCjGKJoOjC89Yc+OB4ZqQtMOi0JQH56mtB4nEcdOfdlvbt16aOivQiiCE0sn5rczbHH/MRlTOWw3zaKb31hecWk4CCMcCMwZornuIUMMhq2Jh7LBZJCCMaCPj8jPGkiSCMmIyZuqWeXofh4X47RIGsd9ofam0MLnI8MD12+zu3OR7Z6uGO/ctPQxgebQubpLaoS20uveN1500DlitpVBG0gNIOH4SWKC+1hBUdgbkZRg32ZPENMbnT30UZv3Ib7617jfoeNaZgyY6o6yKW34fKYzCQJAZKie542phbp3qZriVuTBCGNFe8wDxKPP6sJzCdNwZ5wzmeR7ovVrHDuXbwLC0XdRZS137n6hGvKz1ZqPvK/4TjfdSdEuiYjJq5QdFVPNqCPzesFHmoERUfTGI2gsDBUQ36OOHt2e0ZRgVbmvwnWtQNAL2/5tDvE0mijhqWMtD2U0jqvpMAkOmi5qA43goyql7KHaEW7T2qCYiucjTX7K5jOd5f4kPl/Lpkz4xhjmsgGBkWfwNgDRA54PlZBRZQs/WRE8RFbM2Nvbw8jRKPsHvxHZaHRzEnLYR2KQSzDcV1PdAZ+RUhvoNezUF/m6dMFRnOraBCT5eZZQ8Y7Wlxjq+uuilYtAx449uLTz2X7rqkjcuvXOmzJ0M683JmqSd+HkkKtdXzTVq3hkm+t5e9jrbe9M6wnzybTlbQzP2azmandyjuuFanJHRdMvlcdB9LW6If0cZ7lSKyZjcZFizLjZR0X8XOs1P5F9K6GulNhYqxkxaRNrpRen6SXmxLyehRuqS9PTayT49vZz1EwBwIjJRjIg9GaNaZd5b1R3ceO3chq37YpeG/PitruhbciOg/HjMydW42YytqLxCbCTxLec+quSVpTBkpMqubMkpSczuV8wzopNQKG0zg5VeWIWZhnbft1NDhTpsIxGDR7E07X0RseWtBKLcqFq2BvEY5IxVMHd+KiM5aNjaXwNoKjGWZc8hQj+7wR5Pq36v1uAXey9ncRgxJDccauU2NT+a8omNclHpMZ0ejmtd9uklumfF5je4iWptY9IzLsi22fJkDXd2tdF7nF5N9kUasdx4OZ6Litm9GncXzNzJhttkn2MIpS+9ZPhd76Tt0Wxs5tiEkIFDg8rk3RU0HNvcjgnYGplEuQ7TUaL7NCIyVbeo3oP6B6BhJUuUL06m0XZtLLB4ZsVD1JNJ+56FXHgUZvJesqnKFh52eH8qqcJfHaIyZnzb+ecZtuBI3ofe3OAXaoMWot7Zokonh4H0/TFQFAHQGn5nOoKDzuWRkLGzq6BFRo2ezSPCPAsgiL96h477eR1bQujYs8a/duYK49LOPbiHe2aqjB83PFTZ6KRzRFOJ+IeUvf0tjahL7Ixm2HyWm5wZ32bO3E7UrZexYxvREEu7G7EXaSmyKcVyQ7uaDPZ7PRrCMyijEo7JNPIODhCYb29IvzjiGN6NfbSYLRv812rt0S8N3faHgjTgnfhNhShCWrvzIxcsns9vuOudeO3XMGsTlk88JYXr7cWBytpz1me+KbvVd237dMb6MJD5IlRB3JJyMylbuiWZEjSopBY0ZRCSBiyanhTf4on4RDAiYSdyhl8hZp41xEtuwWKINKPCMImoDp7ym6ofsHB9+iHXg9I1v3mSbrY9H12wXMZLavHhY38KCEJGNcbF1QJMEUydiVCZIik5PR2dDczgxVZ95ePhs8GanWdAKntocIgZaE+3LHEAeEGC8rzexGIeT2m+J9+Mnh2cqwfrtIhIhnR2fKlqexmiwRgiVLiXMGrimps/mzfr9f8Ff0fhN035ma9paCkr8q1PmpCSKXOIUgoC9R5Pwkz561lOcjJTsOQsc8dn4jZi95CSsjJnDKs6e+dLy5VuctpRQb6q1j69ZpSI5wsDdN7Sydh6WhLK41whZYIyb2FhNLota6fC0OImKxjutjC7nvZ/NLRdVBouawuyYFaKv3gs4VEVrXfNxrING0UwG5X5iLRdi5bUwtHlzEIaCsxasnXN0crmiq5KJjWJ0osfrejo2PWeLqYwFPG9Ya10T1Mo5KK/6vfYka7CMmfG9c+asOWjYISlllXIo43xq69dpgeD8Zs4XUipwV9uiRshy/VR1+UKrYGpE0jXuxkNxlDDJ0WebIWTfCF1z9FNGKpXknFJXc8cRwIrHHz+WuvOf8u/kUbnsHd8vxx8+3x53O3fPdVVdOGCuKomRzarf7Yvl8859l7dLtfJLkNrtwmPBr2Oy+YxwxjLFIT1Fnv1HPtSGIgFLy9S/SsfbHlL+/sabtTWddz5X176wHWVwcHlzavnYhNHeybIOlI0smLLojMmjpdzqERBgXkedVG3hVtL7tAy7Vx/DOaxA/TpAlTykplR2WqeVSKXG8lel/6Y+Ovu75Mf7nhzOMzPup0YJ9b8KzxffVT5WH2u7Eyk9zuWX52SfKwulZG7X1V+YSExr5raWIuVzrdDT7NeNORF0Q5mpp5+sPD71S2jg1mq++2zAHjpsBOyqSYUZrF3X2MCrhZR4i67OwSUB1rYvk8SgrQ8+LO6n04ePXHGswwyvCjN1AwtKK6/VuyEhUydZgXPOhYPXTaHVgIzLJV1FzY4szjpsH7Btc+56KnkUeVqP7C9yG5dedG146S2ialnwpKj6zdJivS8+b+uM5l/kl67e72YnGO+kqM0/CJTEg5PUTm3flS+jSQKXbmQn9ywZL2FDK2ZQt1LsxsDbIvFGXbpbmE+D19UR0R64bpl9Mnna6Sd6iBC3sxxBxd8GmyWHrd4/PriZzbueDzyel/Cp6rhcze8CWp1vNFPHf9O1+Pu5szo0/KXHMy8LxH4XHBLRUnfJ812H3jbO0Nv+llczvBUs/JVEM628nzxxoCMhnev95i6glQyMlFI67kXHGwDHJ4v8UrXaDebu5hpO5wWhnrEm3k2zbnlOIcTKNrqPhFMNNZbNgnR0rK1fJauiB38b4nC+CMpc3TB+SO66V0jhcNw5vdSb1E36eLhdLugHQ6Kuwy8FahCurwZ7xfLu42vEjJR/MuKze7FViSN1QyzaAWEpvtxmIob6haR06nSMyx5nASOucfd1gOE9vvMHFUy7or4dM8Ym7KFpQ8d39u+euNmAnVSMyY31YIyYHApfHhCkYPNz7LnvNhe4VttOdNlXTq2BzuWWfkm4ulnTC1XYOdF7CQKELCWgsocydlsoaB4iIzK0z0VgDbNbdkYT/jEGtrDduKxrk+11/S6ybxWY1Uezx4M26zLypyjDS/FYl99V5rFeDuGSUP8jLzUuOi2UXvyLPvXTwlzxmIyaeNtUCcfSoECnHCaYatURUUmkljjrEdePLRKqrxvHyXzojkluJ1xcJknOkZVynjmbS1cC9ajbp9/3418852gToObm3LLTNxg92GiMm+WqAiw/KeUnjFrKkPbI0Aft0WYVfDFiDRs0YCJ3m24TfJ27CNilrNXDgJyysGAYVrSsbIC2TSVcVD3u6VoKOsEfQKRjahSIkdZHGgsr30tnTW4C18lkpWsnMO/fSx95GUasMKLU8blulXZEjJvRNouW7g0qRagkDENBbOemIkltKvjSofLb25Wu2jSMmR7WSrdruu0OWpV2Uwsu2Ge8eaR9+q1cjMjGHij47VtnrOcVZEu/cdxtDN5RsxWJZ+MedNy7BkJALxlfVquJZRhBYMTmh26Y8KxXhenS9D6ur2OvvccHiOTvUKiKFCOJfodvjfpc27DfV4jULUxWDhGoWEbKZbnutjyN3GG2INLovfswufZC8zlowc0XewqGcpBlB25ojJtOTY1ojJrWeumqKvz0Bzn1g4myFWdixhOtr+Y56J6i0p1daXOlvweDe4M14p0tXKMag1mJ0hGMou0reboXytnB3t/Q/L3MG3Zqf5rJPrGwdXmpUDnnMmTp8MSastaN8KaLNECMyDPxlhNFP74qlRgFDzAVWrAa9ID103tnx6TgO07eszGOJwez2RaXkOq4+KiGJ2HO4vMIjMrYHMIGNY3it/TECnaAtISVnnsLVWBfoybOL8IihDJFVNwesrEzURHKnJyMyS1Bg39V+a5YPRirKqigULfa9nvN/kVzgqlxvZLgya2UUK88bC6rLoNtHpCzvpEkEPBILxshqq8PsEaO7KQa+FBxPB4cCPH/FdItJH3CjxafgjpzLJ4uXdq2duz3XXVtKoF6Q51TmfxxDIJwb+BDTzdPycl/bT4XfXFVibPk9TRYiFb1ttWHt9AvdZRbrdznOpZzLGx6iDG1QtOlmRHT6qzFenxjaXvGpThTtUxnn1eKcdX2ccFtm8yYm3qGJX7Hchn9Npab83SiMxHXmZlMP93ByuK8sBEv9ODULPk2DvQdObjjrrbrO3sjjoTWcca+B3wZRZSF3g3TRTWMtBXVS921VtUSmBJcpDM4PV85YVg6D08lI6YgiYbeHSITShfT5bWfTbDZXrRYab2e97Vcd41Uv1gtL1E0pVbw7rsosPQt4U2c+T+UkPEr8xqm4WXycSB2v62S4aL8nNh10hS2MBqKmxCdkBpc8XwVJeaxnRitl/TBr4ZczzFCQuRJvYKNKYqNFRybyL6Qe1Tu7nKvpk3uYSPIo8cUylBe32p5YZuqBvyt2Iyb2xjBUJl6P7Dfs1SZ2zqWpKI2bYub6NA5TSLMZaXvL4NvKYkfZTVaz2z6Rtu6vL3t5cK8jJrBYqTKU6OS6IzL+YVhi8P09jUnEZR/hbkPMRMTN5DEZHe1fZWGx0ygEo/EQry4DpfDLFb2nVzSgJkw0YunYVv3LGt9yqI9UOB5yIPj6jF41UhjigUgINeibCTwwjrkpgpCm+LWoJMX+BGg+cjRNRx0qnXozFrqk4duZcN8D5x5TznLXv9d+mBcihlA2lr+34HR3QinEp8lqpyMy8i5ylBebZs3AQ2N1NDdPUNMIU5rbaNxNiLzOauibReF1w/O6/2L3j2YZyG0jJSqUqNz++Ytmqp3r5wWPSVmhs2bW/TtOjEfTlTWcoiJYBQyqGc0CNEheC4iZoYsg8ZgQoe+El0c0tHqNZi/G3kNNgnP6vMS7HF0fbP8l1OwtpE0ajSZJf3PoeA7Na6glmzPotZKkLzKwvkOrXREq7dwuYBw3nGS0OyDj3q5Bxry6nCyScQTfMYM4FXK9XM9vgeiQnjjG0HolVZhzTG/BtzpOLpixKF3UDmolOVYOaOm1pmwYC/p7q3WC0Qk7BCMybq6FUbyHWvVx1Xj0nvzYoDr4bTctW+C+zyjZ4zO6qCnpTa8Rd6fiXbZhOVIjJXeQ1r9brH43i/WN0aUHfObnma7yr8XYROm5oRWTY/HnGx10WdO1yVgsIzIx2EQjJp71YUkwamy5Pj4QbLzR+OFBX099GAyO1ygWStaJAcDrFigjJoK9aO97+TCCWWZtIyUvWBbS5yMyPG/C1ljc0xLUzYuUPG1/KkHiE5utdCBctuBV1PYsC2plSZ3Vstwsge/C+iJWEFXpVSDjB+zyt7TF97/I5pic5MFI5nD2Hwl0+rqkTPrD5eIfI9u9T8z54j0fpHm1GGvhESMyREkjFPRtGnZ/Aa75ymEJXeuLObV63f2OmcEiUKEXvVucep1MBbA9PhLLoNZUUr73OSZ7mHJuuLBktJeoFCA535rj41AZEmQgD+eLTvQ0bQnNYJyRGOcBZnnCA6IU83O/SqQsAn4d2SVT7I2FR3fzl+89f0nHqYeF5ekcrX1h4rQ9rS7qq1l3OD19q5iiVkhClUJcUPvk3RqUSyMmsr3lqSEw8YJvTVn8z6kjJoohIzIFNx05h2yF4dN00HKO3NdEI75jWNF/l5sGqlpQXhkFSgtLnInyDuIZyG5UUSlmN5JRxy82WIukjRp0IzLAUp0b1dNVWYVZ8SCRpV14x9q0jXvmPOn0oxAsdI1E26MGXOezmcv54djT+2Y2pqRBHXNcryMmjBP2fscduNq6mpISJiMmbsGdjDSXQfFdcI9E85RoSnQdOjEwdhFbyJnA5CMyUmusTPEZo0ptyjeYIRiNoG0VviOUeaVPtyc6ViS5Qtklc8WsnUM2GDha8BQYFEIe0D9PQodhECIdUXgcX3y5oyRn+qAWtsWrlBw0veQ2+kmEQ4rynyw4bbeetHPNlnPjN+GM+daNLCBDjPxgxU6PhgndGMGLnMu4EuRtrxa4a2f5rZkYKqvDGOgpf2zewOJrpNZ7zdu1w9GKG+d7+Ut6fDJF+Ho3CNa6T3z3rpBRaOtrQVSjtM8+vj1X00dVPDOR6Y42JLbl8bymdI1jUVxcPGreXPp6P1ccz1vAbxbRNjQggt1bhCMyuaD+42KYNwvEbacg+jvxb/Eks7aLm7h4Aos8YbNF+/GNyu2d6kuWa17/HDNZs78hi0BdZCF7Dqunw0iRITI3wlbvfobCMTrzesdDnimai7Wqn17RsLbpbTh+VCrGirtS8PZGIzJ4tWsuDwglN1pyp/lA4uyDggT+MPf7+27EVur8+sBXT+2JvMVHq0GK7xHpeF8642x5+TkjMrBMRaHRS34wYTX6+mZ+452hiXHPejiPOCMmrqGNk26MUDse92cbHDtX0468b0eZy6EGyQj6R5/Hizau0+5aBEX0nx63529HxpQzbFaue6c3mpSRLd88+oVavEOnB0Ojcf3nz9seJuY518LcR4Pkh7c6KBJNMjpQhP0f3T1at4Y9qB02qE9mI79zUtkS9jmgRMEj5VRga+PVIyZQa3JyIQb+D52XUihF9UZRal4XId8Bfeki2YaMUMzHGbmQwotHA55achJs9na0uCsc4O2U+h14LacGurRPXsvIxI6iy6dIlG/W5fpVxUCVLzeuCS5iB8JyunhsS2N6LwvtnM9/6+njwxugtztEcr7OOeh01CLTuFPBK8LaxilpkO1KLx5sVd+RIybomxI7LOcS/iQUW5KuIgFMSalmk81x3fhvSG4gWDur3hyqxi6VOHHreN0gZ9Nu7avOA25dGnr6ThZDKBRSUCTvel69emKDymdvHu1ueNdnyx48qNyILFUIpCMlAz2OyMCBej19dwFVbGnYg3/03bOm4BQPb9W7VYg6/JstrbYmjrVBNCE7TiBmmojMuZFLS1NaRq93g+XFe0at/eoeCCaQfWydsdk3vGQjJSTyhX0jMqeKp2VEhJtGW2L3bPmwkNelPeGtdDl6z8g02Ygm5laZ7q4B4chSEbD3b/nvQfH1rwWrPH97gR+VgcO2stw69DZDBVI67VbSpPu1J44OjN2tTDrH8hOsIzJA7aJYIzIZqLC95qdgteP3S63c63xA1J4d4GcR+K8VP5P1Okxh3mbOqr7Q9mPwi/Cm1FAjMjS6jIHjpyMmtLfHj9p+E9ibdJR+8eYFqG3HyuU026TD0/6jx1PdAu+MPuxFGZxc2W1cksyaRoklnR1odGcoZxj7IPYgElCFu2FhiUeVmqBs45MMH1AlNhCDMFn7PSMmxXzDXmY4Ruv9W+D+ggPAPBcvl819fv7vEnfE/Fy6/tnylLSvi5uRQAMChT4epSMlftT7/pA8OtFc9hsHNPdyH65PlJq0cHaigYEB6Q9fkxqd9YoZZ6gvNMFE/b9K4lRXxq7y2F0yX+BuQ1J8v+BSfzwgVKKqCyEIJCd1LA/XRsSkWpNsmxitotq6oND16B4MTiZES0RCiB9elBlmE3lfz+NjqwY8pmF9M69uIyZ9nCT96HR4H3jpw7TmSdiqmNs2Kxopiavha2r88vgvq+b8FGF06mx+OcjpMJ0yev0+BiPGnar4tnLstH7U82ZH9aYbNg+jwSVuTCd/uQO38W+DsUWEfxD7PRv7wj7QomLUCe+6F77CRD664PD8kB+d/cOWYiGGDIpVG1XZV+P3z+gFlUwVQ4pCo0lRtFuH8E3ftqLPA/FFFCg2OVvrRCMyM2hbf9ck17n/KAdE7uDuulRpTWitGCj1EBS3y+dUHZWLa6ZL+34u8cWWQLkYhUeFReO9dW8cza9HBddtfiMl3cEZy8htP72Fv3eZk+z8wHDY6FinqsbgTHRmNsdVSJgbEl3dKU2LtaQ5/RcMa8ZAO8/jpxv+ncw/e2T6T9uLj6pNIiCEnYSBZHHrDL8JD44yYHEkT9H6FTQ/pUQxQal0k1mrgYo9lQMYo6EH9Ig9iY7IsQ6/jqziRuEEtOpaK9QCAqqzLeKINGsOv1/Sv6dPx/cSrmeC4lWhBumxLCNc6snRzsoS9frdlnH17ouMo7QwX+T9jT8+TcPlTnosx3OsrP1+ZO5gpQsuPpdL8ivZ/2J/ScEex18pZBG23MMseDQlqb9W1OxANIiAgYQIUYKFApkWQ1+tTmh0Q1QP2P2p+CE9SZSmByugIyZQN31f1W1wKiMlnSZ0vKCNRAT066BD1vqYGYgZStZxLmqBUZ72RTLAXx0rDpmhaTxZSBuXUkwIbJhEHJNaDjCI9BzEoAyz1Flp1UdpHVbUlg9kXZ40A+uIZSMl2Rv6eWvu2mTtdLWE/ogFQ64pwJ6P5sU9V02IzBPtIyY19r99JXr7YTD5Iq+YNk4+WWgkYQdUbJt5+Chf0d4gFj3Y9ZpruCGEeu0CmZFuUxjnVthVSp3WqLpAu9VG7DWZXo6OOTmok9OFEmrt3UdiOPE6amVgYSKKyp5jvMhSIyVGIyb3ZAYM00IbjFhLzXHMrMaZsGlhcntVb+G+HbT91UTG87PjeGbtIGht+nwpUeCk/DW6N4fNxwG/hNbP45GdyRgjQg8baQI8V9yA/251DOgLF7tn7KZR4QX7CSCePn8MfKeuO2nJl5ukiHeH+Ms/dA/j7o13oLItoiN3O7G4lHDn/bpkdke3pvjMa2umdGsFD66pJ6ypSgULUrAqpqX6Nz0d4zbBoijco9iKebe9Bz89GsYL3dCw6ooB8VVMwGMjMkgS57d76rEnvgml1WmTjjhjbf5zKGsziDh7htNIPKYLRrWplvEfhQwJI8hapjLY+JLE2JppPmAbXOJBw1tjalw0U3kUd0U6M8+i+zzP5zbpfhDGfXXnPKdWRrBQTCHYu9gBc6zUKdkjMuujdkX6tW7Xt2VRs0V5SJCPrtNBn1054SOmuqTeNjK2oq6H2evXluSH7/3/ZYfyoiJWwrZy6XfsAoBgIRQSbhw67fnd0zcGEuDkver39vwEUOrO/8aDLNkOj1/crUMr66ApAntVQqCx2a9WabIyGCiw8/BMy34atNDX7LdG427yxKMJnOntxeLgfujkjj9LQ40iBIagkpMnG27UD8PhvSPCej44kZvqgOH+xM2vMr2Q2E3JCaskFFk1OyqGIzJOSaJQnY8+GLKUDjM/mGMC30AeniL79t3TildXQFU9RYW4wYdXYkIBMzIWl0V4F+giPPsqvP5a8uxSa1RC4HPXXv1sc3C+Is9loi4aETVRGyW7PVMBhiCgiMwrrSXqhUPRwKns7ql8qDwkZ/7mdYTecvq+KiPwyP1+w3t9mK5l8VMhar2seL8/KLUjJZgScOfSHhKcJtyVwKrec/D0nlA+b+x8vCDpi+zO2iMl7uOjzaakMUlzbeOMXSWsJCVzNkrhokiXQIBeVi6bRH+HZ4DPEB5GgZucgcPMyhr7trheZ8hpGM3pIOzzfIgzsjbyIzJ0jVjMcpv+rpnpWE4POvjvOHU9t19hpOeIFskLQLZTBMJu9C34lVy56TabQWKTb8JRApFUtJR4saKTcC2u21D5ncCN0MacnB9FTGae0GkjdxqkgqSC3jxd50LLk/T8rc5PqjV60jhfdqstmFYS4nRFd/9TNWWRx4XSHXubeOZpIzLoS04fXIhDmW9eM48emC8ZKwdkp6b6XuVxsW5UIzLJtaXgRbhYEtIDhjytRguAtHjIckg7r7JQQnqKJFlHhovcHB+jmvcu2GuO3CoeJv2FNQIeV4iDUh0hXWvcgogdOxhcHJyNs3DcLHeBFLBKuTJThMQ7bDdLMmdsBIsDuyYYygcEfFMDnSTHCanM3C8TS7SHvwnfqnoIFQ8c4ws2DNbmvI7JvHmgHgMRFC9yuUNihYcvGdDxtgMCggNL+3Koi4trY22v0VuCDxNfAQN8jLszX7l1OdM9MjvFYuPGXtg7f3fO9hA5seTDfWxLVCKkAhqCZgKE2PbjgzSlIODCWDBHPVFnwrkttuz/hIYzWwOfPlmSc4Oh9Pl83DHi/c69O4/qklHTnpRj6HWC/hiwXmnp83vsqH9btFOL3YafHJZYm4pKS0RIS/mRXg5YXink2h/VSvRzIyWdx+sOa478Xg7aMpc/LEsV2cISEFerSzZMsjiqfv0xgm+dJ5pcOLhggFsBQCiEUoj0x4cLoaQhLwxN7nfqvw9peHaHbWEtWznXJ+dylVjUqxF5D7UqKcIRrBxDgyOFXWIW4PuOseDs4XWM1C9W8/OBMjy2r8TgA123yxPg/DJTMKiR+lLBKsE46QivBzeWNN/SfCAdfCKOJFL1DzXsIzIuKcnRaQ7lVoL28d3YMowdJNhB+e9dHjDTvwLIU4qUvbPeQ9cHGp8tCybolSMl5ZLcaoU0BLeOsczVvv2pIyX0XNbOS779vUlAyDHGIIxJPFWG8a8lKBhKxbaVqAxDr9mqbSKvg5Ei8qDumRVMbl58pwHoDg6bYxlWkvKn+bh6ISC8uPXjA/t2j8OyfD9XO4fI0WiTaglpnmPOtrYQfNutywlBgXKqbDafTxGDh4wdso5rAUF26GohSjgxnq2YuJKAyD8/MKJxjrF1vMbiHHAkVRkFqLue814cIusHO1JC2aDN5WOKJAQm86VQhxRRK/N2IzLCHVXJiLI3mfxTHpT4V9tVNy2p9+ds1qPPM52Ob/h9O2i3yN/a4ONdKtgznBxQ6zgy3HbTG3SG5kAU652CfBGMuxlM2HagSMLzL2TTTebZWKE3bYvr/tUQFtafzZJ0kOIRPjk0j8GoaFDLpxrrrW/Wc22/QbylX0YYh5RtpT/VfBkvqgE+Rp0OVL45rTOCafU6mRAv5DHfvLD7FnEiYzUDkeOSDzb2HP4Q2PZ2Q3eR00G/7dDMvusPieGX02ZhGkzuCD37R7eMqx60Ubw6jnt2FDhjZ7SkoYxU2aUWkZCdQJh1COnfH23FfLOmMJuvBrkzuItPbiMlY2HkesFwqUegqFAMUGCi25AkGMiNOzsvmlKBtnXsQSMm4uzejyMma4EHS0PpfiofNMSmM+RhLpcjJfscFnRkYiOKnT3wN0KaIzKpl6M32KtCSnrQ/3WFLPPu+MT4dMzUTVJh/30t/2kpCC0RpWIZi0pW7d2/OnbtXnnleZiFISlVgf7v+X+/3PgHbVNM8kqQNf83g8suuL9lUn8aQP6NpJGMhGAleR8WSfh599ZZwmffQVVPdoAJ/ugHpX4k6fLieOU4cj83f4JeB/ug98kvze34/UjCA1Xpb/HV9xXi1Mv4Yi4f20COQH+J/o/0PhvDd+Y0fx+36WweI/ttTyMl89NN8g8jJUU8+hUCIzK+BCMl5y2lI9IFfN17OJQmuVXOXjTfvuFR3HLVKdIF0+qJSHp0sdUBLXLcaLiSa41AhI9G2uRDVi6bVuln38PS6Mdbx0cx1+rXYnyr0kROELz3/Lqli/hVOUKTexO7x6saia9Til8vmod7AaDF2G2A2JF5YRP2khvpU0Q7Tj3d6optmIx1bNVKwyIws28hpnZt/BRpfo35n+5nc37LIyboIJVAjrRBAceIefjibE9eoHwTL0nv7rXuNwvUuethgycGktKJJM9lhu38AstBtCMyP5zw0ND0d9FS+mR5nZDx/F4fsnMVNAZOVudUVBUomkoR1e1gl9qhInhEFmGIrokSST4h6CzWgfHD3+/7aqF+f2WcH/N6+fZj65vDaEIeZTCi3AMO3IPxn9WZWnf4/54HSz+XfYk1VV6mP7k1DA7u/3Q3i+5CHCJfwOsLLlnDHpQLZlGhkotQQHIQyFyVZ2KBYdEDDpELMPYxUTKCHVEcm+tsUOWaWFWRC3QBFoHXCykcN0C+oC4EYIWYAgRNbZSwH8cdPOUjMtwhmmspLGZBSQS4Oq5SOpRu0FkCIxAdIzIaBLg1QmY6brC/JwGEbAGNVKBGyako02i7hdLGZWMxB2xYIwLDhIlhUxhSLNIlGCDQYQR0PVlCBCQCA9yt5SAoJYpwGhD0En1d6qf7bdfhf6h6SlmPFmDzRZ2SZ7TupUEBLECPH2y8+LL+W9X+zJocD4TpblyG3+ZC/uWNONP7uXgklh2avCDTUFnYiSOrVX1JgM98+ofmvDfpf3P62pWYqE62mMjMIbLSQtrp31qjjiwyH14Tp7OeONe3UeETSErvUU+91T2g7vf8nNs51klaa3I/jwzkIyWTYGNuaD717LOlc+ZI6nammReDyiKePuJOMgHamC9gqhQRjBQUpkolVYgsW6Cbts4uERN4+zW7k1SCkluU0Ixk5ReqZnLN6RB0hc86WM5GDFSxUhk+hVimhBZyxD/K0wsfA8atNkrsSzio4C5q1EeE4tWIxMpK3KJW7RlBM1xcWygwlMqqy5e9l1UjJtA7maM1Rqsoej/U486p8WmKwJmfyiA8G6vyekw2DwbDxaDHVUVLdH7ZeYJrXWubtje6ex3C0pHwIEOPwQ8Ge150eotalE8C+4/qmtNcXvsZ8LarD+Iaz77Blm0L39wdpsSunyISEMg/XAOgnszs8W4xLHcWA7fBXr3uuSxZosjbRTNNllYYxEGKRe9vqeh2ZFjkaKqqRpAY0VSWOjPwzcBsbne7johnNW022aO51g7TcZWCRdsQ1aF7K3GZNt1DIkIIXvnFSMExMbDqSARngyQigQlFPaWRX3UBlkypp88cNu3fUVPQ8bs0GpuMiJIJBKidBobKI2uJnypNNQ4Dk7IVt4AButSJaE2Cbi6JjDSVJDVTqM8Zk8dpfQXM5Og9RcHCTfERxAMCGqhhsoaD1ECiXVaJN3ZJKQWBYeVcx4CE4SQo1uZ2c6bDmzA0IGOI7nn8p2wg+5GVSlL9/U8Swdips3yVgN8JOVjTOuBGtnQcYGnFwOMjoSQ+M7UU90J3Ymp9GBqiwLhwXiQ4XqJ2ndZ/hoZwV28LHPvUiZIR5D11sBGB0yMly4Tincngj3ulkTigdWKHVlCASgECogOINQVhARkVM5QxUhBFNrUbZNVcqultXqyLzrvsed3r1rrlVfN9HTZKTRgr1nRSMiEQVSmFKMRRm2ochLm7NngD4El7fSBGQdjR80cV6RIDS0eN0DDgc0uENHHBD32ljlPA7PEMUNBk6E+ZrhZVl4AjJo6JFi0Hn3JvPhw0Fv4VyIJ0r7LlDO8pfDq4lqfSVjxoOhnlPl43BFOkk5pBFJJBhFJEWRYwBkA60dA0WydKQOPgXnfJTNXDKezx0DJseDcWTyPTYIXPkGsilBFi53cmjQMeqHKuIyZW2KNqkySSMt54qklJa+FQpMk55HGxpXvzvqdRPsr8NigiTxhMwjszY+Gc1hAk/Lte45sxb2davm3v3TW5tbqbWioTY2d1re+rXn9G9xY2grXvLpRpVSDSwTlbUE1c5kcCq2eyh2ZZ+Vzi9HADBzBURaQqq14dcBERVhZNqnkoyHYxUYe1rHerUKhjTa0otdgztry2eXPsv1rL5ckYxkUPJRlCImyQ1AsGEMpN+vx49E318ONeifw8p52Erv3nRDgMJU58ui34sWY1EofKvGktKFl0kKg2w2BACz+sPP07cct3RqQO058g3CMlm6nUPCMYkkDiNHsINthSPJIrg5bbxW6VMVYkhwzxJrxQe329eq+jtrtSOa5sWrxWS6mmd/VR0qzpk0S6JSskUgPKVQIxOXb11wgJ2TIy3eGudmWKwWA6BhlENrB4Am8Hvru6Z0gXzPPjLIwMA5mfm58lHWPZL7LBv8Bz8LKDKIqaKrxJ4+9BRHihQVXqMYuPbVyXK6lwz15ebjrs1Xd0pJYguhcxniK7Uanv97fCPnIjJfaU+TnCcoOVu3PbMhrA2o9egeoXZQybvwFi8/j1RvqfWti8Hg41gP6O0XaMgw9gyFAzm2hPB8lTRK+ypJQwBENYqwxnlnBusCDIu8gUJzeZt8o6xNAMzR4naGGd3AdOL4InyxuHToa+NHXTAWbevQJGbGgfJjK33CtTBUJt4eUyt6gd3eR8MYDWzjCMIQdGZGHrD/N5XyDHDjNWOXR8m6cjJsagLqjJyIm7hGzJUUxIUrMlhMJpE0UenVk540qJIyUwgqwXMjG2BjNKJdPZm5I+Xe2O+Y6bxyHs+2wtY07nu3hoe3iEOcPuiVH261dOtQuGThA0ulHKq/FqYbb6xe5suO0MuDXoyujiBoCRJAht1tDfwGig106+enU+cwGyTRjpYDvgkEBgvBjYBY9eJh9m7Z3i7K9HLJ7fF5dx3O7nLuJ7T6qvGjdZrGppZT5u1xSV4vr87MV51cfZ3CY3dWOjaYPrEK8QPefV1O2ds2vYzy6KKQVFunEc8kEDr6PdgUIIhx/X2YibRB0hq4Qug6OcUujA3Siq7Z7u7017s6KiCxZKxyMlFEKtIKwHIKpJIyXrgCbaF39pwQGnhQUauTGDd7XXaE9Eh5yO0oH3AgbZlCO+KBOyUg+Ne2J2KLFy2SGCBhBSCBfC739uyS2I0F96HdDzkzoTWrFw0UaJ1BxDypemekTGRxPMxxoo4KUFBiMyqLBciiMlSlChUIpJIyWDml1ATXVjBcftWnba8XO0PWjp1WbnsruflR747y+Tq38IOnpwpCAhc9muq2iLNg5n3vnVdVC48Pzziev0+S9K5qGnlaNvU9oTMHJ0M+cjEsgwLDE23yMlPQ+KC2MSVTqQ59c32UL7ss4wuj7IXkmK2yDpsDuB2eTUiFxB5+9/jcHu/0RXHDta6JzSV/hMEiO74lJfWK8tBP82PNQpbTi+m/YGEwnOB1CYdsbGAxzApDODCMDQaXQMzidCpuJkj3UVQq1stD8C7soRIezTkoKKCy4Z1JwrdZhlHbfMHsFqpIHQQgkgnC9e3u+1kpuk2dAjMpsRERVBQZKMcSkjMhlDBiHuS7IbJ8NjxMaZcUSmUfBIeI7Kqpx85pAD29rxzodRi+/S6MXp7b4d5MxIeEfegXbFqNcm4okQLVFYgpQi9aUEzUM5MmlD2cIXDMNRB7MceRl1K7SjeKxYeiMyO4cFKBw2X0X4oHd5sDSOmyaoAZdrYOiOqUJejIIpxP2rpJ13+kWn+WWyINseI2WY5DWq5LUkffNG2cjFuSoQwy88gydRIbz6u9gboUM56+AcWmLOJr214+RUDwY6anETUDvIDxfkew4XXaFHGBnKgh0RHmQYQyi7Im6c3oRpbrLWTytDOtcta2u45xHYNBy2Oph1QehDMi7bXJV0GAxckhOzq8WkZRNFpPTXbZNJkiDIsxQTVWKQwyHVOLRpG2xUqFUpjJrixNLO+5ufYdC1Ic8HE4FzEIqgu6cZ0Bw27Ae9jAL29Pvrvb2TIyZGKentop2b71NTIfCudqJ3h1b0OmE6aFdsUkc9dE3WWnfU71kHAgeiUbPdVfiOudRk3YUODooEzMGxLoO6HbqdAgbog29q+j9dijV9ffy9AUwMe13OeBwjJTRG3MC9R+wZMSVc4zg0XFeNbQR6cE1Q5GIfgHbP4vdnxKTQpP8r8N56TFz42MQOqJ2xZJFMptJQcPbp19Gzs2Y0V2a6EIH7TviAmOX7fLp4/yag1+6jrsf1XOgmB98jMsig/TFPO9DkSpK1QrUTrxeyq95LPD+D9OgZmVE+VifZv1/dU8QBMsgBNr12XwhnFLjxotbo+CMlMelV0B2w74FpMV/J2kFKOKnpH5ADE0uiPlmzDz4p+ekqHMwwFPq37fhlR3SPpO0Vzs6jl8TC8JlJUE3f9r8cSxbWafiD6W/b7MAxZwI+mMlqpMbe+a/RNaAkwkNABOH9fVX9P7j7/13LyXC9hBV/h/eOqH4xKgSQipIJiC5YWmd6/o/r9Lvng34bh2zxTl47/PFtWW3OiWH8p1Z0/rhSG/ZUMBhWk/GrlJT0xWmPDyMyP19+oG+bxMD+6vCEET0jJoFEDvAfeD9xXXhZom447hthEIAiImlSQoQBERP3f4+T1fj+z+v4e790if3l82C/5f62MHupOVkthYusVmotZM58IqKz/VF/3zpIK+i3K5aF1HM9Sfcdfn0nW3T/YiwIij/4QBIjMimL5dtu2pbLkKMrAwwe1DZ+TLLTo/Hz0TpbQZyS+8QD6l3j3dgkHG9/0YR8M/LOvbt+H2g2k/0yDkGSE4D7xP3/p+nLhPfmCOcEVOGN0te/+7YbTckjRTmQw0hM3Pz9/j2+LXld87xTHHlVXl4n9bJybcrb+ObdLJYqj7yvXnb/IeSebolSFJOr52zDnFPoDOb4/PJw85QCoKSVQn2Qcg+DvX/MIya1PH6jMF01J5ww13oVjEz90D0sOXXSGXfna28QG/3Ez0xhe6onO++4M8UELaugnTQBKZc4+3qGoT2ammliDEqOm3DRLohm8j7P+1eX/q6QXbhltSItmI9fUJbOXVj1210X4bHRu8QjJQgljRMCIyb0ZIlBhYoRA5VAlEBXRX56sCEzGEwOjtmB/o0h0Fez8G3G7/8jMpjnxHjv8zznQWdfSyxFLPXWO28mIxyVmFBR6NY87vvrQnqgaoQU76piIzIs72j2+Pr2ey1PdQzzKqQtL3+fyC48dsCL7pUSBtjQEiwISMQjMmRKHIX9uwOX+3zOXf5YnlLTGMXEQt52uV2vD99deXLOr8qGRqSK/X8njYeyJ3Q8omhFy7zcbdX1mX+MOn/mp8om6GcDbD+pN8UsYiJFihP7jpz6/PT8r6tVXk3z6UceESknEgxOnXqYVkBP7ROTg630bOkXfONt3l4W9/7xLAZ5oo5BE0Zjgieo+jw1oiMlJiMyA61I5zycOvs4HmbSOfvs8vm7ugJBoeP9UOj/DicD1L6Y7xf4/yzRmyuZxpJICTPk9p8sBSMuYqP1B9i4f0ELoQYxuVVFBRzPjiZHuqzKV/BmZxbY5m1sgUp6EAOzr5gB0BOvp8LJApV6pqVjHT6Ffjwrf8v8n8piTr9y/h+MLFFRLnCzsHHnvw8Sfs5mAcgD/YhTNEZ3X283cvctOkPcUWXWsGj0IyYebXAdEzzOJ8Ogptcud49Ffrr3SiOraBR+kahqOeY8qAMRgQbWOpm7vYw29gHaPwX6IzISOcfwf+PJ6O/htEPa5or17+FPLW2PgT/GR61xfFPFLC0OT2BqmLgIFAiMiCMlzQX7vX6ylUO39egv1a+Vjq+nsXd6/Ts3YtuM/VjDMe0RDj6fUw4mNEahCw8sqFoEPssmrP1+zCMl7vRtGx4iB5nDr1+ceXz+RKmaKJdUfo0/IyZDlyMmS7EREAcnJ7M8vdFdMb1kdedsxzEIg1ED9+tQB2bQtR+RR/pl8PTu388h7hjYnm6FA367u72e3b45/jTvsZRz/hrZpn5ehVD8csiem+Wq+FgxVDCT689chiMyxYHBDm0lbkIGbKYvNw5IVVrSfX7vm5n4A7xuFnHl06LUG1PkkyMlL0KCWhRTLPSuM+RmWW7ua3m/M4+5+pPpW5DH5tsP7N0lUTTxEJ4MIhe1mcQJIzJb83Rfh18MJDOy0hM2nNbelwZBoJKjX2w9YbNW6VDhlf2eGS74+59vuV64RCX3cRjbpwNOkZw7arGWuhViJQs3FuVGJXGPA7ff8TXpOpSigUFDIMBPOMhR2bjOHK+Vc8Y4Y6OVYQi4O8GlLn8gxREaSMw2Bw8nmsoZPIWms7MYX4TNQRDI1XxbomsRDO9TI3en3dSfiSVPyfzn5vyPPPMzLv469T16fAeG/s/Svkqh/oA7v5E5cefMOninSdZu27cdumCsIbmUBwc5zu+YinU8KBzIBFpTXYQtWcLHA2QfvkI/XTzpMR9i2UtsgHUapJUjMljB3eXuUPWFziMy6D3zV8jGHjM45Lw4BHynZKtVX5qrB9g8l+j16rbdk+nN/iAjJUE3hQGIBPXqPkgjJttdxwh92jrmPVlul1FAgyIGXnVFbUP8cx12Xea/PKu/S50jJnh9JBw3FOQnW3RiOf7q1ZE16wFCJDjxxy3Y5vBAF/W78v0FI+tRa7g38dnxhh5sWR28Al6fGfjoPmKRPnfUgHvc8/ZRBaPa+rhGaKELb3xs/OwznKeC0orvVeNYwDzWeqXs6At12sXju/r9SxuQfvvDXiJc7pzTjxC3968r5zeiTT4aod3UM8501EIkYl8jJh8HMXcSFZZFS3zbJNA7YrSqjGFIOC6XNg4jMg4jMjJUiGw+eDB4NRSjPFr1a5WLbVrVeasGiagjmIHeKLid8eGaqq8a1Crgn+2sZv+yTPE0lMry1BoxXW3r1PfBt9aISWyZefD7S6KSR5I6Xq84uqT9fa9OivC9vWs5fq+N5gzKvtLQxYTG0iZmHHRrwH0WmtWPJfWvbGf6JD0M5jZztDrZ9yDjfK+CqbubTEV3f224t3HqhF4emTvdukpX9MibhAm3eHhsJpSm2CuFKBlO3jygHkPFWaPBVueGg+gG0Mb38r24WS6beInUhjarMdCqhEJPEOluvQsdSTSyydG5nwfJuElzIlOehVdCogH0UYtWIV5XpKpgUEm/BRyo8sMDfFHWhY8YWModCYUjMlAvf5DnH0PyuGjnpgfm4+jDC5cbV5bFcVhSIyUpuNj380VMQdwiFcKMIwVwb6IB1BogK5Qm74MLmFrJnBzUAh7/Bx70Zurm7hHklTn+K2EJt+6hIh7jhQufGFBcR0LAquovbj02ctP/M8JlbpZXuUtOHyMy6eUziRuqmf16qKQDXbFDPvZRQFQdBS0Mpt0Mgi7Z5NjGkJBVhGbWStuVwxvK3iavNljXyuNtsIyEkzdQRQQsiHV6Zul+OoXfbhRtn5LHtfEO1FkHEQTvWoWzjkDopXfjdkNXfz3rtpxQZzmk7utj9xBCmFXSm8uw7vrOjMeOJ3NvKDHOME4wceUUbn4OTE7viHr7VmOKL8lOFO/lFHXprjwrOu1zqnqDHsg/SM049jnyU338YhMHh5ZkOR15R6Hae2tX3jWv3ZYsMoPDrEM/RyiCcSEomxtktl8hIkkkmRwLNfVgb1XS9UoHL3FVEu3z8oD21Xoj1eZrizQckrqiva9h27bfjuU3t/ecBdQrqVoX3ansNSqC9YLkzCMm09mfmnNHqNMuYvyvVJH5c5tqIzIeYEPDanv/0qim1UWpSTopEOmX1c1CBY1bEKYF2nKifWPsdsx7t/WHNnBMU4jhzenX7po4U0f9vUNMopzUSKEl9x4EWu1Oo8NzWqTv56N87l7X11Gktmcz19qdiKetpfFEOOv1wfWJzxRMzh8ks/N+vzk+6x0l+2Fimndsv5ccG0nlBu3eZsZNSY37Xz87Mvl05iKfAsrYo4d0Ibb9171hxc8cVvxtnwnRbHWnWHChOuU8z0knh9jvOwkYy/vdxTbR7oqcF3l3Tui3O8OhK58GnxNZxTjD2WnJ7n79f40dNL6+jybPwmOEw0pmITOm49IrXcz/Kg505hYd4SUX4P8OP0zEPOMvHrltXars5ECHJh9/65jsUEdd4KcqMn7tZnTCUpLhBpIXpCBbZPYIOkTGPii0Ar8OOiCmhO1YAjicLQHbLV1wuesCKY6rXT5HFkog6pvbMUELC7p5dDX1wadp2p2hEekTvNYRTJoMRpEy4k3x/a4dUVKSECuZIybaX2r3K8ExKJUi67p2NxpSVDMhdxeKzBsOXMijhtpv7B+bNYGO+f3apcIHJnTvsXX1x3Kz3+sPGS3d8zHj4vBY6xgjT5CmqlLjKIct4S5c7q06di/IT8vg9j7L1mbPjVmuO5EWn62SdXe7H4Pbq5xhvVoxFZkjJpZlnqXUenTwRh+esEzxrTg9LeilgZzBoxYcIPhRn4Shi6Yseof1gPW0ucmxHlbXbj/K7iaQfsW0SoV+yI8vWKCzyKlXFQ+5mpcsSpiDXaNO84UFmrKPn3dPBUq9xmSJZ8wzDkbi7QvlIV8Pe7EY88yDPe0TwRAMpSfdo+J7hQwnGjk1utbAzID3i0P7/RFBrss6WJv22cMGGLE2/fziH2iMydrJC0tbfqHEp/I/oPt7fLqaJ2FbLZ7yoXgr7hr51PNhef472fqJqzJ2qtF7WC6YMNY1CykRWAiwZtLdiUejxahEw1fM8R4BcCBLYx9Zn2vx83lgULiG2nNSEI44e/mcWi619rPD6wwXOjtz+dzmwPu+vWyBuwOievyrh3UaDwYSkpgZdh+x6MyJwZ0S2k3cBhIf7suQvG3gVnzzHKde8Qxa2efl+ZXHZyMmOzv1Ifiq6bO2yl3EIMvEE7rPWY5cNsdnIyVVjaR7kgfiPh69NHQw2l2/T74C/LEG7jmfkO0kHm/6P29Jv/FI/zwgwbMaDt6wwa7vLEsYY+fz/C4bYcZZ9WaMY45j8X/N8d0jJr9JF8PmSrDwwlc07zPPy7X1wZ37VE6Kf3kHtgvDkt5Tmk2oSueaNaVITsVRaqLEoVzgXGVjRPhEKA/TfT1C2FhAs4iDfSdr2uNB2ZnESxpdnmQMa/FpL9TPhuQ0QRXuZv8qK37ftxsnbp0s9qGp563viqiwoIi7nFXOidoMhos7jjv3MjTHSelJx9ieRk8cXEeW3pd1c/p5pJjcM7VVyo9V0kJmRoCwDIgYoXViOZJf0o5wz0nGQIxN8PTD8dH4X0Z945Ds3qUnJPgw82XkKOSHYjzqHIHKFXpciJ62YZ5MO9ymjIWk9aF4op/S5BxFKEhA4qRPx4MGpBibuVu5B0IZSivFR1DKpYNmrpFhYHBx5p36sdRwu5SPt6PVYmSWGvTsK8lgGyE10SgjJQUCvrQQC8lKsFimQSMlRh8zEK5jTTchUkY0CWNYR/CCBUBXVVYgJiddUPXAIyYtSI15ddt3YSyDb63NO2IUHr8soGr7Obx5WDi+UfcVKQtFbpkCBYQZ3VBWK98uhzhXGlXnNXUG5mW4xIc65yMGIhhHjEkJ5lnIb79jHaSeA8KPwmvPTGODmn7RsviwiKi4KLwjJRBP6I6M9P4fYPX5cLNauH9yXbt16hoi4HsY4FoITootOez3XtbLIzIcCI3ii9vQfwmDZ+Hs/eSGGCZGv0cUBPb0O41EH8dUYEh3R/RcP6Szn/hxThkUix4FJ+4gELKBY+3h5dVx4/Ubo4TP0EWfpG4p98U1lrAjA/s/hK/na/0U2f3H7C2BNydHq9FAeyqDuhtzkyNh5YEolvf/1n7D/ga8s4W/5G2ygeJG5A+mU4/A/m7g/g+H4FnmSvxaLSiAxH9gNKvIKfAegDr0/yg0PvN47tACeTyD/bzJq7B6I/PdZ7XbvUvLl+iCXvSJH7XDuln1Iya9iufb+f9Xvz6NA7AUkBj0hlI6OkMFx06R5Io32nU+rnzgtM5RKfvXbKav6iMykSBUonD6k936k/l9pWQRN1Bgi8dd7Hh68W2b9qWMo27qYLj5xzD6IjSCST/tKsYMAjFEH5feEiP1ofz9nxy5tunn1U2ICYPUP9T/qLFN1/ofLVgIiMzX9Ol8TAdT1P8CL6nBZD5i4lhQkp5GGF7/s+R6s79K9oGr8+8SH3S067dY+zlXVH+CEhnoeOx/gGA5yoxItouTue17HTjetTfwIyV85Ji8OYIBEgg2/VdH1U9OBcMB0QYPuu1bVIxK5GBN0msDpiMl/WE41XMh6DpH300Ee0Oj+vBW7G5OzxDinKgO9kDhqVAdq8Q5UBdvUM5QUjOOyWfhzcQpQdAITMZjtFtcoSJKdBEhNUGVmMaTIyYEHzfx91OOTfXz3OnuNEcQFiMlsAWHvZctiVBQ69fpKUsjJZ2dB696LX2R6/bqxsx72XwqC+/6XlIjJfuC9ShSgvChVBFglypddIXWKvxKT5j59WDchta4cmHSoGgyQ4pNBJ0cYBVjBjDysZ3Z2xeZJYWTpAxM1lNhYIujPjc7OZRDVLsSfxpyIyUe2E4m908Sa/DRQKU21MedA+OlE4/N3NwQ2/oBOV1Wvdu8orL/fgde6ftGaTuJZgFmIzLqpSwjisF08pqJK8Ca6+97s+CWS2Uo1r0jMrep6M7durgcJ878pP5+tthQIywcM5N8O8NyI3Rn5/lxZQaR9VnN72qHfhuG4mmbZZXE14KTuNnwZhlOw4cZx2VwlT8TA7scT69Bw+nI6gtqTTv5VanLUrkljhDA0n23SHQeiVNSq9oMnQ78mrpPTlxxwuucCJDXtK62H38jJpMi5aICqOYi2midjKMxAUnhiL/PBjCQFDxxUAg3VCxKVAdvWqA5a30u6PEbIyV+maptIyalEcL/Lm8OqoafSmrnpIeteazgOvcLMdwduQPZIoNeXx88+XHUG1TwIhfCLZ2P0xfIicoUHdWUqs28yQQvlpnjoj2V0X3DTcCQS/qX3K0hmY9EWVD58Ka9PZP9W6jtkgWjlVAQ76HHR2PNNSleoq0/MdCBsK0PTjkj/X1dtT8/43tdrMDTvmN+8LkjJusUCMQda6a1h+DxzH/DnGGDhYUlv6mxqv2frUeOSzHgKtJyYP9Pl9w9OncfeR1rwZW3MS/2/cyueCNIjBM9uOmfPXQvLNXyb/MeMYIyzltsH5at51P26mrk7tNrYsr8OxZxo/YIjRvy22HrSixlfpkvi6Zw/iMyT5fimsPdWvUkrCYc6h4tx+cn7HSA9EcYC0KMbXC9J3s+5dD1TBzDKNVlbbopd6iLY0AyuDzKdxGBiKqSRCMdNIwMSpJQoqkvIPqxqJ2bR7k502mW6NiylNOmcIQROZh2hMcEH8OjrbrUEBh6M7Eu8UceSzhTd6e0eUQx0S0QbLIDNHoXPle4+UhCRzOoM9m73ThkVtzteMTW9npc5iGGRSUxEKwramasd6JmT3fS49VssluePhXe0t1wnFNcZ3ijstG425kgWw8gmmpah8VmZiDHsnE71BpBKgF0byMmPPNES+Cotb5NIyYE0uN+qI5ftqLrX+wc4zDPgLooL9cPijn0upsi1dQGpYKJbWdqezlq1s4gsdmmLQaIyGqU89d83Vgi1vmzlXc28572sLqPvfLIKtLITecy83iafbyW61hDlwOGdOIjT9jfPRp8PVggTEo2U4NRTiub1DN1P9sHD2SMpTFKwOGWiVuyM6Wsz6bu7m7zesRZaSwnZAsjJn4X6e6UIyefn2UnF5wlXRN8ffHSy+3tXE+PBBuSTNXZdUR1z28ZjG88Zbc7G62YHKMVwUl1LisjJbfaCQ5rBfEOGEoMsc1xVWkXYtyzjs30WhKtm513TaTeMeHIZF06LiHTTn7NG6IEfeqOnQVHQ2a65ebb3F1xfcOX1vu0ciHITJcREPtqH7qIlFJs/wvu24bsYWA4QJFAQqwOen8mIyZzX1eBY7hzPyohIybB2HmfMHoMK2Mqw4FmVgMiHQbn8/uxZLkDf/R+VtNh+jd+MsvlXZHr69IH8GiX3Xyg5D+fjSxcWWfesyMPrH0Z8f9r5Ll+uW5a9Pmk+377W+YpzI+CKGoOH1+btOk6Q3TDnp9XtaQ2tO2BNpcOSpnmO8OdNuZZ/u1coQi3HVo52mDunQiHfTmPuliI7vnb0R3PWC7px2P6iEBMWuJvU1F5O2eJv5GHXo/LuzlCO0DSSRzJSZpFn25KaeH+5cBOvqWFSzpj1IbP9auhtkvYeWLq4bz7O3BTO3bmA7tArkBIJuK1BTQQPb6aXz/V84jrcBystxQCIyaCDuBHnuF2Y0yFoabb2r663j17qnB5Fi1RY7bRWA+T5fTo6sbqUxJcOWflukx4n9ClV52PLi7/0TGXJp2fB8vGTJ1pNOwH1jzVn6lWgSqqMQSnDCAJTmGlmTz3pP11708vn1365JYwwrAqDwuhxiE2SeX7NZSFYAboZ/F4vCo8BFaCaTewqH6n3/q+JCG+s2qj4+XA0Pto7amVRYqp5rLkgAIDhS0d0k8nV4tm2/zi25bG0kIOKqOQ35uZwnR9+q8bHLYjJmRqo8EjJYNL74DvgPN3o6gjJhXkWkBirVFE0CPOdVbPmLrwkxROoBR2tfeQSURObZI8hbkwjPbMJ1+K1gRrptQOveE2SGT7IYbpwAtwEOOtvF45ZSEkDDgyBsQjJgtmmK718TT+G1gH07gjMvbYgh2nJh6sdiOrrZOyXjlqIDURH2Lt5X7ct98X4NN1R4Ov/a4cIJFBUzC59ve0qqRNByLcjXssWUuqcJYui8KikCcUla8OdkoXVhHS99g6XvB6bVbF/Rwc/JKCOeeLr8sBgbEG+wdlk7ToKXwnTvvu0HCa4O7antBEC8SyRg6to8QjMlj+9RsjuCDGYXWEFdskBzynmLhHMgGYslKHPjZeRGemWh2q1Y7bwNa/mftMM/e2md+enc0liMM8RJ1mZlErJX0zUUvXMQEbwGZyjZRczeylJlQLyKTV0RguS+ho5jdqO7VBPaOf4a1XDCesK2R07WqXEQGthmQuZSMyIyZqG11mZu3qHCJTIxGG3tFNwuDAPItro2zA7xdhG8Sa98g1/jwjNHnRhPSdIwegtTeeh7RSLtbzG/ntvkgrZAXCwG5JQKJAIzIFaA4hk8WjJqCLMNWWx7jhVBng6yCKIzJcg9I5gPHq8mdO/zRtPUti12E23BBJwnYkXo/h73M1hhfxEInzXHc3yv5iSKk7NtCn8auvtENfko0YeIxkS31WiWMq12OlQvxK52xWBGuO+x7k3Lm6EE95Xqip451AXvO/o9b6TVNwIv1Kihdcw0H5wHGtL2L3wYxqPElpv+XkexFD7eTRIyWYhSQ5ps9jzFBUbMr5jQ/xjKzJerQjJqQ+fSMypYRHC9hl24agXaO12nqFts6Kne6xhKPwaPXCm51uEwU7prIE4XWtO6FiuQ9713ibPC+ePazlc0iHXohMzjd0iDKvzC3vnQT29o8LIDKqdDAhJlLwxgM7mfCDVdo2YwsxfYMJW2OS60WIKCvZPo6++yiPot2LYSc5+koIq2COiRaENFqGoiA+D1A06qDffoFcB0tB1CFuEUHOIlMnIyZPk1JOTiKC9CJk23ry0NG2KpzNyCSGx6emDB5MIyZotCMmuezsLyGQKmE7xagXIyUQPq3MRK2XS7m8+AedsWsjJrctvUAZCDEjJkZEdHU+xG2LXvslEWGsUU9mO3S9rFHI20CNWD5oot5brjfOHrovpLyKkF9Wgzq/bnGa9z34v4R59XRz1ZE7oXRZ99/foqhoQ+d8xKfuzZQcy2v2Y7nWw0GSjJ2du8V3ae8M6UIm/qPH7ajZS3jELeIW4DG6A10lY4DZkqJ0FA485tAjJmOWyuGgdGjfljz4nQF3flBwgTXVeUerBRz7Zs2/VrG2KUca052jHlDhdvvBU5g8uztJrI4eQCJSSgdrfHqheMEy/jLFuIS4TT1laJofbLATCx+zqZ69MEbzMEcSJyyAvylqU+BrF82wF1+Ai9cCr7Q6W2GgXZIM6XDQFQbcAotsmxqLT5Nyzgd2QDC8BPEUSY1xxsSlpOFbca2plxRbxdtgJmNieOrquomscFF+3XB3C/UkGN/X19ar0F6hB0NmmzyOVbN4eqY5wZvfGR7jHtelobsjJfk8qLw+P1F/b405whSK2LgjJgNwwEMfEgxJG+HAPClNZ4a5cNgBeEUQ4cOV+AjNRiexUW4jJXhUTDnzuC2gNIKA3Pz8/W/CeHE4WXi2QNgUGZFvZET3zu2VFZynj19UN8NXxrwuWqgaSmoIWQyzXODgwL6zcpAunc5yeO9RNygjJfE0wcOLo6S5WVcXMASmz+n36tn3+/4h7/MPb9WgXkdCDnb8zl+kOn9AKIaKPq0jMgJE/7VlofednSfKwpOPKqeHuPxhtGXWr+OD6/UCjGlULBGJuygkFSK1CViOZ4KpAiId4MCvb8nUEfB/f7+VLRbAWvsO8cQCT+HzVtTyOc4HZpG7mYAPhD4T7eC82sLMIyYO1Z2jTifSZTrkrs/3r1eK3s6suH4D3T/DwHkOs80sRllD8gLtwwMD9xuH2wtDeNbXSzwZ6CgsRPxGhAg/E4YYHVgHogQGkwK1DI5P2jHtZ2OnP4fmBwVYt9cP2i8hIyXydTvW5EQIaqCqdZVCITojMhTjjBllsf6me2vw/6APjj+7ju/EP3fD+KbCT+pD+kKH9aBZAsEjJS5fHeCXqGckq//HJIoYqT/M1VQqf7n9xLqWQUDt/l1q+iA/6WEjsF4BHYDYlFgC4ak4qpEWIyVo/02hDAwwOzULZ/rZ/OW8c9b29ljgfVC7c7dCw2/3TfZNS2D/jUCj9QZOQHajmOAy6OpGF9vPtNwqalBM0Nh1twIg7zpGXOXMSvTmbUnr8ERwabzx3BYeGJQqmfDvhL31lUQrwi/FSjBUNhsoFswlrqqPQH/HoCwjMp1gY8GuYj1j2g7A6wYG95e0OrnGHv93/F9Lm/Uvs/MahQdRrhkexHbFaiv+MVSwL3h4QLuHxJ1iaJZaR0YXuXP5Lv9wXzTWZgNtK1hY/jfVhAH2GsoDXIQTqOf6tjcyT0D7V5DrQf35KAm/7v4V1nf2dtrqb052T15Qb9cfF/4athV3/O446c8QYs1SFu/0B7IBmxAJfEr0HoOLcZlySQjeaZqr1eyCyQeX9t4iOKXECyFAIyWlYhnWEqJXkdIRrh+j/B/v9X0fAr+q24g5epg1trIGzUB7KgJRRs46d/WA4Np/O92sBA/mdpZdN57mLcfxnLoCQZSZJVVpAqWLvuQlw+pI8j9BvMEhjWpKSfIrfH+nbyF8j5hlDAX0L3IXof7hsGELjTxCB8EjJrX6A39P7i4O3nsm/Y1UWjQLELMEpcp0Y3cMJNlI3eYsFfybIyZA0c7BmlDrPKEhsIMDZ06Dcy3BaisUXYgGbSGJstQ/zTwjMoHDdlSHp1WjzGL/KwMd/uqVXG5aHvMC/P8PIPEDvCcjJeb1J1HIDgu45dbbsBNi0Bn95JobB17EbpmPhA9DYP2dpves8bC2NkVBupYSyMi6oyJICSDC1mG8cvIDc9hcF2O9aUowIWSB6vUWzZGBFOQcrmQnQvUa8xtcxynZrsXge0w2xyTqMMOrytMcCwKtrDen1wfvSCtQDnPpXherhpST7foF7k7v7vHvWQxHzKhKsDs2+RaFw75rTfpoF1Coo5xQMaixoEYyGCv6S2rL/qQ/LkD/IBABXTuLrWDgJEmv0xtRzvD+dlf5O/VR9GGQJIZVqgcPaFp7MEn54O/B2B3gh1/niU291Fy5tkSCxYGu+sWYkPSPQoyPDCMmbh0aeKccvn/i6Hfvnfottm2Z9jT/5N8BkorOS4k2GDQmZkkhPun1ePYnQd9JSsMHt9/poD1yq99vhA9+KaivxCMmb+6tuyjj0z5e8/YeUGTI2x0YbKxZxVcMqR+qXOYClifeMdQQgRI4bITHeD4/1+ypY2QH53V4Tn/Hqfpk/x+kbn04Breinf+k4CIIIjEfLM1OhlJRn2ZL3CMykSMm5hbUiv2kqH09hu4uo4iEA0/D95VUhyMl/O8QKUy/QPGneVBJVMIlQEuvRc9Ztb3OoIdSmkTQDpKmZ/xO2SMm5tqXLJxf6nnYix6YwtWS7Xz7DAUu4YdrU+x6/vw5Ba046RAmzgzxjFuySWCkKqqndJJJIV4d7Ylfp68M1sN471XXqH3HUKbEfa699w/vPWZb3lTPaGt5h2uHURkGEDdm9OA35GUjJocjmZrpB3O73aamYdiWbZOZRZhHHohyfzmrb5h8yn6GBCvyP8ISczZLwASP7P+Dt/NvO2fM7DwEpYk/nShhfqv4mAwgrLqfZtkv7G/EYtMFIzXrEFGL17z8CMY2T67qr1BB1JZ/hacCeP0rT65wH4BMbEOnZ+eI2Uqpz/x/b8/3fvDQ2dVHvgdE9522ZEkeBmcMkxAbQgmz5Ds2pCR4g7ryxtHdF+TcA2gJBwsZNj+2UNH6JL/Rq9htWNGlEUGCJGDRRi8ayy5zmhzAfjnzIzKLS1iBUPFiBSMlBoIBwDY0Gj894Ls2h+9EiZG9zd5R8PIMk0IhoI6jIDWEPkIUGf2/b/w5IbPsfp09pBIjJhQ0yK8+pTabk+7JU6hgZHFDq7CEN0svOS1F9iBWIzIQhB77h1hkgZAjJep472sgIyXUFE/OlnvLhsWQ2O+3OxST3SMyimBrfFh9c4q8i9smQth4CS4cjIizdCpUoEdDMKYQIOIpI5aimjNTDHkBMzM1ItNniRnb0Enb3FfAMzJjNkQ+I+2YVAWHk1EjMkTXW5/hwVfQNZucE7PKEeIXLIx7XpzkgEdHmPMwGeWszekLYSjMuphiENA1kkiOIzILjmQ+5/b0/sPt6h/dcvwyH8jAO6DA/7P83CYSejcB/u0TtiCMj++8a8G39zw4109euqTejJSZeookxjYxsGwfj0yySyMmX/b/NcxG52ZLS71G4RYymaJXWRtZo1mnrTInqDZDpAxrHjkgWl1g3jrLMrlKRDRZuR15JJJJmqjTWKTFTNa1qS0tbbTzNXNWWs1mPTKzAwjrxl1DHXrCBg6PBt6tea0EaGhrP14XNyMm4bpY9ax1Y3DBkG0sWVBKTKsZ/UyVnHZ9n3yFRkiEhISoJIoSIDygL9v4aKWB4kzgn0sjJZmIMioPxBfagTVcliMm2I6PJybnHVOITxDF3tT5uqfZ63rnwWjg5h0QCP1ruEvVE9Cxtv9MMGgoRRYsbsq4iCJ7IfiUEtFATz9PWn2I+z6IcaeHIyXpQOBaH2kOXfaEtkMDdxpsOai7iEhII275tJ27c7tq+w+y3h95kZZOlwf4gpiOxELTUNpBAmlO+otkToVXers1gwSRBBAOQpbKKTaPjBkyTp/37caxnJoWTPHS9LVVnAuBV8CrbEaCkiCIMI1KFGIaRjEtEFHV4Dbgad6023qGvThL5ctZuZfiU+B3xidGw84pIp+2/ZqdUXvMysH1y4GXoe7JTaJ6Azf2haxZsbzpfJHMsnbyqQwefKHOMiMysFkYrIMVX7j3hU4zdqU3KIo0ublMpVIEkqlS3z4dFrHD42+JYD5Q4mnzfefK2D5sdRv+/8DLIxr+rspE8+3taQEldv1la6MX+oMgyNSZ5Ni5lYrInsJCb/PXuK+Lh+V94FtZcSuFPsGF/cdT5Z7ZZ5fYVUoqSlKRRFOGTaQ0gcuQHnNTLdKa7iFs0UN0FW92a0sqF4oBgxKUD5JZ0pUTI/V8vqN2nNroIybtK7tQ/zoIW38B9kTiYH7DiPCdEV7SAWICWgKKGjcYQ9smKhaf5mQtikPUBRMUBk6yEgWRuEZt7+8LZrEwLxDRysLq3B2n1XAL5IFGoF1H+eIYEfoQFxZ+rZwwqcPpQ5ERzCAjJUIE+Qfd7voSz3Xn9l/skrk3+XT2H+g/xc+goRGY8P+txs3ZB+tfldL+WcJK+QS3peoRSz6KBFogKJfabUTyLHQYPpkXLP3ieiD6Ptf+bY5fGT3I7TkB0fNeLZ9Q2AssOXv0TZdkUILEIrB/E5hD62g7/2OZx2vgbw+6DnvhzhFjGnIDu6/2P1nWfMIbKpzi7GMD/XP0gex2bO9PwN4hyDvAI9wp2EVKCJG6O8Da+HYoJMTNKNY/eHjYIpAEDz38+mu3wd55BxdzRgGx6D0mnRtCVqDOPCMl7vW+nUqWtP+c5dQ95NyhDhb290Q8hYLASRSMhA951g5+oLOtX+E5hcXuQE9pkUAmzx1XO5OL4ffobnfxAzC1BHyXnEDkkB1UGb0Q6+Kp72q+sCofX1cy/3ZewshXyH+Sj7wvsiv7D6FfQfW+uTZ7qxvmJCBLErZGh7w/LK73Zajr+kF8Prh6PiVfVbiBkF1NaHqUzUCzEJDzxGSSSexAuKp6B9b6RDd/FqEjMrFZCOg2BoAskAfT5fsV/BIpJ9nWIzJ1x2BWo1dvMhae56PpKOrzaICcmr9uhqqNOVGMnIhazMvbnbMe5DK5pRs0qQuTv0E71VArx+nq3o7AyMK5V9p66krAYDUHL5Bpv9fbmFyECOxtY9xVfqjO86WMkn10jQweC7w6bCHtOQHXnCMybnFgsTiGssHMtQ58h295x+86JqaFHiMmESKLtwL1C8HlpSH3GSrIheqtREaVHyko4GTciQZZ+yCXE2qqaUThw2NYVdExI0JTL/XSonHZ2NahQ41uX2/b+ra9sq9b8ASZtLYJdteGzOcjJtummiYlGGYtdYtyNtHki2N7CXO56SuYbn1cPUmzn0OZFMwirwH/IeGqZ4wyJISLJFD7/AKILbJTTL+fWexPA9R0l2JY1CFFE/R2neYifOI1XCguxRsqlYNcNju5IyV5wT3c/S9Z6kTxA5J4mgfVm9QdauDs38JzIyZkFfFB7Taa+yMO/8Uto9AZgFPAptVSi9zw931PF/yvtr9WXu6QqXzC/hiDWHF7oxvUj+5u/aH+y2wD8nGKJock/ulRR/8FUlCv/S1IKG0GWy8jJioOBpgqzptIF8MXJG4zalSiIyZUg1W7MBw/Lw8fU/A9S+b7bvJ+B8KOtTA5xOKBmlP2XrD2HmiVxslWt7+yqq2pI5QMVcwUf2Jn7Hcu81PcRDZ7ZSMynsAoclj64I8CG3YbPl9Rt982iHMJDtISMaokJCJCoCUxanyU8E4n2gZfmyRcwihuuB2HZSnV9hM09Eb8tJOZXfqvbFPyyO27xNOmv47v5tmf35SvJ3qvgBZGBT46jdxm/p6BwfALH3mFIzJShDzChULRw+gi/sMGM+iVoGZLuwsDmZyj3ePPl/JNEDFH8nbuz5nQaAT5mvbTGimvnYOkY/jNbwsjJlLuXK8DIybqnLGGoLn7kuti8qOirIqwIzK1MmcC3BAQ1DtA/XERgpCWAZiAyg+NAWagUQk2TWMmIIopFwGIjDFxSQQ8Yi4gkhBSCI4iUVSBEc11KCZngH6MlRDeAkHRNYEjJk1LX4nXh2B8z2dxp7UjMjQjYyO7vxR/RPDMxmVlJJDNLAPAkZIQCKw2gBSDsYUkinTfahs2J6A/CJTu3GpTM1hR8tZYhZKCg5kSdaNBYgwYhH9X8b+rgHLaLXN9qcbWvVBDtTMtPf9KhDGtq99FVYUwzgfS8BDVB8OuNhshRosSmZRpvl3m18lGuVXpXN0ja10w2VCYgrLZbd155l2tPLrnjXgjIyBd/oNycQ8vr8/szl/gBwTePRBln1+U8Q9b57j1glBQb18Lrp7WYMhfqJAJa9J7iAWc31eTyRhrdiRyIyYjJe0x1m1/NqApsh+sGlQ1u1CxBMVSyMYjIjCIUAUBmQTChZwXOFSGQ4AhzhtNEKIgX0o4qWFrMTwUvJ5SgOuu/odm8DSElHllzOF51508heA4Qt+1FpaXoHaNIGrRu4J1bk/VPpRSTjXCCzf2Bm450PKIAbDgkN5R1EeQF9m0o29kQrcPQ0nLkDsczQ8fVOy/O30tsMxt0Iu0yDgjJg5sLaQqBoMPK+qyjzPX+y55eeTWyTswJ9KzKTElz3EkT9o4bpaXCUxQUUUe/eslT/GB/H6z7GAvuFpWvLzONinu9z6rp9Uf4VEhWua/QG99He2sempUPyIX8mNs/rRNn1C0KtLTMMNMmGGpC8LCMHIhIyboUehZJVkkkfVz7mD6b5N0Mzh26takKBBTVIFPLMFBMwzUKUJIccNZBU+hv4nx40Uh8yBNoR6aOWSR1FEc8snJC+fT/IvOMgQg8lXZsUgOBlQhwTVgCER+oCh8D1Adnq9v6R6SpLSE3B17daPQHWdyGSERpMdXLq5xKGP30UdoSQhHYk/TD5hD9UMnq6Pl2q+vn/rhI8ZcaU8jJbIRhXSPv6BGFaByMnMO+IJFZGMUFJZ3M9EMYDBlcBkkWEXn57o2aG4w2cHcE+JfE+0jMs/tBqrj+CD5X+/FKtiUBkR/XH/J9uMpdifsIU/0+s8/tMXN6deIZ4IBexRQkIg+BSqtFUeY5jGcKDIS5xPDQQZF9whX5IdFBO/BXmGKKxguEZGRqj2IWTJfROFhjOJOHqEiTGIkuYqkMQMIRSD+Kv4pEXD7iBB9DjlA8zl8Ars63t6tLZdHwUhKB05KtIpSwWQQuLgIOKD7wdwXbHboboRYFx5nMQzTvSMl0H8/1hY7Lhrn7IXTo3dps3o8YAHaZ71ewPteQZCpBGwB1+767JcWAqYUEz0V1Ho6zoyU6QyfPbqHqU6Q6Q6g3vOBxk47pIEQsKtw/XZBwqawIGt1PAPRYpem5usBtuGIqnTgBh5geIcekuoiirDvMjBCxgJ9KC3d8iKNvMpu8nX6+aFT4b1UKJs4m/FBjiAVVCmQw3l9uylRH9/viyR83Bmc033kQoK6ptYZ/gj9T5f95muJ/f0dal9DSPzYSd46SkCA2K8Xt9u16SRVJE0oKYdiQxIm0w5bFGIkYx1ohQ7sKeMQJRJ1X9NbH8w5xOMs4jbBkx47O4VWdQPWCKhyqVSfnJsjiiuU5L0lnRqWJl2sKQaw+XcI3iMyVHFy0YfYO3mHx9hLH3C93yMlfDKwd5v4+Hbg7TcYyez2JIq7zlXSnybOBwMJAqawV4tUcz1AfXvEZpNaXU8RQcBXvKDtLr05c+LsROmKyCOxMBmfPTptIJXfbiMyE9VP9XcZY3g+2cQOGyMlIHEeIcDev5bLbOi0zR1bAi8wc1Q0ofqIqawdDvTkb240jEhHQgcCIyZeAjaIKWGIwgFKQOg33orgfCE9YeT0KHb3cSc0LPIOvILODBIJVZFVRLSLZyDc9vVwOHCcns2HWakYRdpTKEeZ+Rrvrqg14Ck8IyVfa6kjMjOeGddu5Uyh/LuO0YvmPjRgoHySDv95KTnMlcvejWyCwUUuXtggL6YmJuczXkyAH4J9nX5eHv7C05f3KpBbJqD3mPs2ev/E0FrTLbSN77gGf0Eczx/i6pAen6SY3Bgvsb3M5/iQXaNL9G0pwK/Br9IVPyqVD3/Si85bWCwTGtF/pSfTbQz+Dn4H2lOfgYoCDmc1W8SZweX+u/0wbOzrK43s41jOIyVzkOH2H6q7Z3/2p24/Ktqy189g3aXb+lhkzc4U58KcVNUjJZSREAm7JAtL0LSzNwEjJZMboDQGw5mGvRICo/UHMsx2+zDVAsE6QoNsiqSoH4ZlobxnZMmwCXAsBHkHUCpQ/bH29xgq9wdvNmA/L8yG1BY/miMjnwiCEixgsiP7+kUe4OoC6ovaG0ehOb0dqZQcgKDpEwJaIzL2CSMlGwavI6Tg7eWrNoKjt+f6NjcfVoNk9K6ijoHKsXnhKJwi2ORXlclnBOYjMpkkH/boZE/FH0leO0rUHah22QNjFsqm3CFCb3IwRxhs7G434hRegPWHAsI5GITsTMDQuYC02Cvx+H1+cPqNXP67xn2yGGRQAq8IDKRjb30u67eduoeK8bt1tp+m+h6N4DN0Nstu4RiP8nH0WbrIG8Cu3myMNtGhGWdFpx3NZHDWsXguUoh4tiI0NRk/U+ryIyauIn0YJUD7o0RzTyha0NTDYXa9UpEMMQ4IrY00ljRQuQEkZGNDNGK9/q1z9jrkSW7usvTPPCxIkCQPjFbu3FDz9fh6B9EPKV02sPneh8tPZ+20InuDBoehBiGYF1V+aWCDj2p3T1H1OnE4gygjJdgfCMmtfd2ey6PA8DimQO2/wSzgP4vOjl37IzKEhJtYFJIVz8L8B1odcdc9QJ4JMSRS9v6b8T/Udm49gHOi21D5QR7Kt4SQiBljx2uu7uyvq/Rebu8kilXU/sr+G5iWiNFBqgH7f4GYTEzlbNj8+1ce2Nzc56xYhoDWEQaNH9esIya09RbpUYrzzt5guu6Xru0mZTb5UN0CAmskgtzNP1HL/nJ/bixvO1Xly76hKaDsEC6nn+vDRIiPzC4/M78yRfvm6e6e04UjJlR8qOeTVuFNedAWgG5ynIJuSzkfYWcDgl3hg4n0FUACogxby+8FMN34ASgQa9sSAn7CAfaXhqy2dkCV6aseyrh8UdqAmDp/189a5shj9kJGH3Pai3O8y7eHu1HGXnGr/u1HE9ZTWYoEhpmVDOgjJfeex0/n1dhrjkqmql0fXD2Jq5UF2mh8+648ZNh9zChVEvr0XIRpNRROMqUTwKKk5+ZULFAVQBhYJOBZDxqyb6VAJ6BAnD/JfH+xPCMlZZxAN2FjJz+vlFiTUDWfT+R/KP4Y9P4mpZ6GQjL+mYgjJndnwGOsEpFtEIEkIwbnme0Dlc9i7gtCJBlhF4bb7oAbkrMjJo/T78YJc/bs6XpTkfT6BdB5XHSB6P2ofUo/t29ZcvpH9VcBLmi/zOVG7kBj80goeV/h+2hO/8+iJjRh+xoIMgmIjQNNWOEmZbJ5SneebbthG3l4neUuQyqWyH5hkyIIksEjMomVtCs1m+w6EzHNDickV0qEWqFFYJ0IPDUwtJUzFK4wlZU80/8jJZtT/B8zNDNSEKP/fMz++GyJIzKa2Y68QYWox/0B/HsRmKCxBD+ayUDaDnWNFhF6Zi1DW2NqzzuObF8x+yrWlxzBvg5MVfiGHBAdoRiT2MtFtiHYruVuQD+ZoCsRs1geeBpDBX30IZ88BoZF0vKgfiUz9v+Z8Pkf6f8uyuzlY8Qcgh7Mr4ipqvTZ8E+7QBX9xqdZ6VUYKxRghIK/k4Rf2y9ShiZAo5kk6HP/ecqlYL/Bp/azObXb+xwTWb5D3d1nwNOfbxNOudezrzwYSQ/lP6FQaFJaLJaS0QlIVVHrhjg8IPxEAt572tabak5/3EglRa4QAWoeniAl/f8jfyoPLtnXO9tP6Y1OYivjQGgS8HZdKxc3FbcQq3xv1rdm9tZjJQJpgRYQ5nvZiGIyIzItrT+TH5hE4/V5kI2ETrp8enhfkI80ajLKDk3Z7cxJCwcZ/XxOJ9cYGfcWb/h8sqxwu7/mfCz91BSBMIAZQDZDqzDKQpIEih2/UfhwDjFMQ0gi1AkiSH3a5i91YS1V6flhfz/ZnbrH8sFD7/lexmuH66Lixv2z7n0qhSMm57Ss/kyd0v0MF2aaj+7nMHgagemIDgK22AQbNKDTejx2ERec++qZV0Mkh3OA/0fzuzB8BTpviSMl+PBzW8T8hiazdEyyTLlOGHvw15E2yb4pwMERCFI4OGjv9fwg8Tb1gx1cRq/xD2kVy2GwYfoL70xm6zkEm9kWbYLaAe2f38Z4anQz+ptiurq3/FO2ExV9YKYQ9Eomt7HqgimY4ZzqdswWIzLw7OQ2o2Q0yWZnvIzIpfuK8C8G0bZiHI8eFLS7vmFNJd36NeA8kOlLT37MqPR19T/Rzv9DnE7zbg57P9Z54ipG6MVY2RD3eFX80nsM4uGcR3oE7n9DXcFExVbCg/onfx2ELyeCJzo96BBSAeGCO9ijhRfl8sPHF/S71HSwleBCYEPfCbv+3+7sMSkIzRjn6VRAHIRD0YpD8ib4DP4fpbq+zrbI6f199UUX43OmHKEqj5CBtp/NcO9875vtwfF5RfAGjnR4fkq9D7btIJFHjqEx8kfHNIAzRFyQJlaiYFOY2X/EMWdv5dQFdQzi92sDkUCibbXKoVWXsDYZ9sh78BuNA8aiDkP1di2Ju4WDofQzVYJ8XG9cbbAY8XYdMFX/1MOKKBdy+ON74D0uDrlRRz8ZBvxgo/2aBvHL5H4mliMm0bcrNWPTcN74U0dbiCMl+7IchUEHIzLbREG5necDOMcj5S4D9jqDs+Pt97WqH+13mO6Aky9HyFkeZ2mFEUDN0/oeJb3RPzz+Iyb85Cjo43KJCdyiTvrKcX3fgvo5C2CubK4jJmC8QiMl2socyZXwDovw0XU1DB7fRINJXvVDlU6VhZetolCNJ6sljq/uvVN1b3/O08JS01dfnIag0c3DIEB1VGZqYlXrdfrHbonAdcMZL8zxsdY9zLYgt2KmJgUG6s2QOOWlUzd+3mYOFqdVlUx8IxsqOO+0+WmJNu3gTrORx0ziZ4I11f3ba6FmfR8Ml4zxiDh1a0maUxxh2bKZertnwfqZi8qvao7M4ZFunlwS3bEjJTw0r27Po6owaF97PQggGmpr3SagaGwr5nieOEmzfF64GovWuKpfKDB7YFLnKDgo3WKhIxfIsmwjJpB8MoJohLPDjjFJvFwHMCd3MSMmwmhdHc3dtlieyB/GdeBD02rptqx2zNsViZN8tz1uebWpwqp6IcluhiMySpRiaKmaNBa+PV00jARAUnGjWeSctempu6r1rdNsSUwqjLCxgjgTyULYqD1G2YUEUhk537FQLoWwhhv0bHFcHgZnXaTAwt1f65ACIBQjJYIhwHyfh5PcPoLvsl6cuCOgyMRUZW7O0kPfIybP1bFUPV5jqVwk2tYM/qL9mIj803wxocHxkDCJHY+WF85PWbu+b3qg6yLsLGlRKTe1WWKNrd0T9cbKSr/09cxl+uh8nmfLm8/ndznXD0+oVGes2Zh6h/pb9adkv8b6exT5LPLnDs4D9oi/Gu0TTu8+WESEm/JAwsDsWjGz+CAPb6OYRyvH+HNtBdTxfZdGly26qMiB5F5QKQPIUSpAS04HjDEtOpltm7IjJiPbpnAIflTUW8Sjp76PTijHRb+nuA93+7JQPoT6v0J1dsKW96o79vlA4bIi4S+LpuvB28bfVzW2hiMD+vu+0z127fToeFeqxiCzqpR/CPM+usPfA9JnpyrQw+GRfr1Bc0BxzNAH2dPQmIhXM5Q6kTM35cFdkLkJwgbIFQEqWPP5/hDo/lccDnxyOvz2BtiPL1nTjypsaSI0e4O6IGmWkHqJdvGYE5P37+PrusEvjDbvnnEntmpbmEPf5uOiVyL2oyjXqZPvwdg2yRQJgL3vn7+7x0xjhuMYeDQu3aYqZMyGQbCboGyL3IH7mWkOHbzswVjTHYejy9X9ybOyWgggPPMyEu4ee7SQHVMyQaxXOzpqkLhWceUTFnEP5eRhbW0UZyCUlTMhoKlNDsByJjZhHucJO3oz42zkdHTi1od8LdF05569mrKKxGkXobCSoTlxHmUUiN3PUdhoSMlUiwja3JhdVkjy5xGIL16OiYq4Jv1yGDYtaZJiOlp4MGoPhp1+TtLif0pJUUuv6O+j+d+udCWZo7iyi4noeRAJGQT5sf8/n/sj4vfPu/P5dX9H9dacdoQjNCkjMvP/h8k4X4f7K4N24TS8/mjTD8oiic7n8/3+nqOGrSMmDoKX/VAjJfzl52wqV9/vt1OWkWREzZQRN4ZSfkr9O1w/d9YTkP4fh+lOIRwQD8hvQUAlzIHEJD+L4FvOqqrD/WelgXUwYD+TMYbF24A363YbYEQdh+egsBt4H+gDbcbscNoHbfAf3A5LScHQojTSElIkYoRGP9rwT+ey7w69JtdDpKao4eJprYq4yeLBrc6HTNpBgcALgZM46LELGkktg8l5MejMUemSWDIHXQFkJuXkNZcScC4jJscttbyqKrv9CbcgqBC6ce1/6Dg3DuAO4d/I58B6A2AHPK+/svQcr1rlSEo7CSGJ6KhvVMiU0DWZ5hZmQ1MrZn9hsd5w/zmwF6REVWMHpVK1VKo1RTYdmbAdTtQahvEzk0BIJxhnvg6+LI1VHi3KHBHof1n2/3In658n8EEWjQFVHEAaYGNVEe47Zx4ecVYh4/nPKZCjo6jXWi3wlFMtPMtJ38yhBoJ4Fweb8u76HY+FhrhhPsWJyV6omuBm6zX6CHbTVmimNmU3qpaGucMzuHCTDBhwMxhoNSMlgY1hiDAWJoRiMRAiAuFKNQZpaAiwHDg2QN9gGUdo0XOOg3YQcfSGcQgzEVgVYhe1FpTaX2DtN62Na9m52kBeOyMl0Z6OeQzejKryQEJUgYEYWNKSWAmluYiyfSepN43BPAFO9SMygBPn2+V/IyaaP1khTrz7eTWTsXL9fx9N7pbk/fCMPTw1RGocfnj9bu301Fmeizu3A6gwA04lQxCEkDzAjYUC+GKNC6sJIitGzhpRayQbGRtoLhStMbZMtEqIJBoIIyYHkK1EMuMxXsBYWKD8CH2EAoUqoNSEIqH9FO5Mi8r+L+T+p7W9pZrM0G0aL+De91heVjazkNN3RHXV/P13SwiT7/8DjD6hUk+UDtRnvRGItXdt2eIQO87gyN7+1/lgBxREFIee8oNTY89OHqmgBgtNJM4EbOX93Ya2/vLD4dg9nYaqsViIjw48naP8869pZ8w64VJLgayVJqWbE/SM6rRs6HIc0SMG2ImCKw5WQkcUPVezFbasIyX14pCniXR/jXb3vDJIIyaj0ZwhkR3OUu6TWbgOMVPBt+hsFDyOQGbVR9sI8Qj1rOMOz6Acm15sOA7jm002jIu4qefSORGH1iIYaTGlsag0EkP5yKn1NYbQTQPWMYgx4+Ovdbd7B7fF3Ibb9eVXL4iXgAzNZKYDYFuMcmwHbu23YLbxNYa6KEtaIFd3FhnUV5Sp3aLgPAxUB+wjsdJSZB5EmJb9Z4N4EcaZdYsjJe4z5hjlP5+GP8L0sKq1+OBTcdUIaCm0zusmRDBh9RZC7spV4mhqI80udTucTMpKIyYru8KJGcCa+V9u1TV3YVWMIzJvq6XiMRcdsMmZznhNAYZCgvQFwuCBJ6Y7SzKulWVcFW6CvwgzRN9UHMDuilK0maPU3Wt53d99044pdPaUTMtFPJZCRbZ1swm3xebohI3Y4nJbLOu8zOIHUiHxQZBtqD3m7hkQuzRKbS2bwazpGicEdpRxYUQyexb3beDzIyZTo0U1lsuJ2GKLDFCsVFKf8uLbtieM8doIE6mS9jiHA0wEuSMmR3l1etzNrCwmgQdY3c1Q+H89U0a+31+3UZ9O0OBZlM6wekySxmHPxyMlCSg5QkTu0X4x17p7ra3BVCiFjAMoVCMyiEAhVQFmG5EtLDe7PB69dG3liTFJ9jLMx7HMzb0UooqC8vESnjMTbBo+bdw9A5A0a8QZFMGVwCZFFe+5SDCYdRC4GM4mc1p3myxBIpa7B6IPMCw3oIaQuTj2s4AyxyJ4e3j4IMQDSEb8F0XPRjWCz3hbnCk13hfDRCaFJjXVtpxbJZtDtwjUOrCupuS5vso+Q5FEOLrol7Cu2JobA9ntPQ9PkFiTUJsjJkd17GIoDEj5DsB4sel6IWjcy/M67lzMawhlhO7RYKIIHD2BoZ1mTgazCHmqUWd28g4x5U6eIWzk0npn6m9ex9m3L2YcII9nr8I/IyX0OCT7nwexGiHT5EM9BWO80mwiIyaPB0HDaTiW5bEzLhtYGnRfYQVnJcFk6YUQDDkUFSuYax4b+CEZnaG0Vdk1XCMIDOu/8KpAOMJMiFPhPI5JpIUPI6dNR5lHc3TYJvC6U2yDKgl6A5Qw7ku44HJ3GHI8Nh5FCKliHansKumhmk4HFnOoHp7zY0NORYxKTc3LHj6+A1ymzBZ07ukkOCMmSzedmmGzHm1i5ySgUCAkRZKSByQRv4a4Lxe9YSGMceFWault6pu0u90id6gjJhCLmHJ794xITrTC7SbUHM5IVCAskRgqgqFh5o4jJqBznLyJQUkFgdd5tKYcNl6x7TuaMQ4G8KM5N8DpQoeRROxid+DicTM4Fzm8SRZTApqkUcrGSmg1MkhOX0Nd4EycSdHQc9SuvDHFpYOhy5wIBNsFd/TmpmDGWxV5mXHmZky5mZmWNsxrKsyzMklWO2Z5I8OpfzarbZr11tDYg7NGrfKEVU+h3TtZijbRpUr6+4jbz0evliWDWLT93lv0mrK82dxdiLgBj94xcnspPFlu4tz193QjbHLvKxHPN0daZ0gSEJncdt+HBSUR6XXq1rOefTExHk9HpwvG2ZKfBp6Naa3OQaxNkzPhVCMyMh4ZokFkTCEjJkzhHK305la3HzzWuzUccDt3ZmBBz1MHQaZO3ZCUCFKPUFa7duZKTQHxGidfn3Cku4xYKAlUUJLqlli0VFEGLwLOmkw9/U+HK7QVjLuC3TIo8tq1I1KLCEyNQYuIWLMzpJbEvpzSMa2bZY1h3WLh1DlrL+aO0NDJDFVrjTLA6uvB6esjJmTTkkOwzEcpopYSoF2rpYjBeek6lBYl/6ACFEOc3uzOEkJJKNe8rsIbtFU2VTvitPhAuHz6zhg1dn/RfBsjJdary1lpKDvdo4RudJbv6CqhiMiDKmHCVLg2p3JZA1IRPRw9UuZaRbPgTrt043M+KfxvIyaic9PmoBu6FPIRo2WWHjD074Fr0EPw/EeqjZsOJHCHTLW4c2Ob2EZ6JZLZCYQ/Fao1bbLdM+N9tBtZ0DaUhIC26twym/ASmzwdGtSa2gOGuLEJIyWJsFoaOvWxzbHlly5Fliw+TjTGwPpXIyYnkKJ7jcpCaHBRpRRF6HGSb4EyZcG6zKq1Qh2dWiaeMJMh1orGtewsJsIDaGszxezRihhQhZz/D8MPIyU59W4iFQcQjJTGmw7E1KB1XJgSk6GSGaGWaYwvqUSdDoqkyuiHPJnwUzHSBwKD14NHHiTHiFohobSItCjDJ4AbhLIeMnADXgmDun3DNdEoHDChv4N3GHf4RuEjjboJSZOTrQ45GwRhJMinkmMwzjcoyhheckP5fuXTI/bt78mme47YJcbkqBGO47p6yQOpq6vaIyZvijhi+3FZqi6ugGIYmJVN9aOqjpPR5WHdxNNxBdWHUmScPmwESiB0NzDYbggzXULKkTSiKdwlFS7UKJ0Ib+NNEGEhfdTplGLIrCQBjJIYnCdBU1Y9uU7PgwncyglDQMJrUdS5EjJYyI5SU1WBMmDMRkG8XZnOb4BnxTcmu9M27W5SXDAwU4hTc7/BPIMR4rCHRjL1TjtA1UQehrnik7vjWfK+QO5XEoASp2gENy+/JgeALEEGyWNommzVMxSb3t8L4SagQLvQWQ9BzHBpJBxNGKzk5gPg8AyPcc66IzJr7PVJa3VGdBr6NEDeR6XqLCPW9pnR19oGRc1mRrKGxsXqID0libaVyk6g3hZw8Aw8HWhxKFXMuVFyTTTYVJQWS76tFfRflIGY+UNlSSe+aKwewTGkkerHs9O2Wc7t1J9/t4geXO0iYiiqGIrd4B3ifPxuhszc0wgqHSbNqYChJneMPC9uG84Q/eMx7uaiYqlN0wjIMEgg8tTQQCGvU8w3DE5GnpeQN5ASbmyrJJLAJbhuBKggR5SxQFBJ+vrRuyPqYByZ/4dDp+ojJcUjJhshISPw0P7j4EWn7msYq0RiWSfSzmnOsXbILo0tm/rPtMpmSYtGxqdT+UMPSPPn6xRnvqD6bu2yXSsTPDLcrwzCBIcFQ84jMrxeGQc+MO2IdogiR+ydV/oR/EhoxkTcEnWHZjPW+K4r0b0YP+1/vcXyaWh02zp3rXPIb4ym8sm8b33d3bnrQeYtBStJQ9njsDM3w/LE7xfiHrstlCBZEk4uBAljERs2Q8KB6dieIChRGjb/LN5CB3SqKJUjMnrAcBQWKkLBlQaAQPl7/e9OKeWZcFda5CMyR49zmDnp/tI9n+5D/x9syzD/u/7pwEOlaislu5v7K+/a6VaKSl+eEgTa35f27VqflqepdSlFszZJRnar+mVZR2dnn4D3D00DIbPMgQ7+qz+BF9hzBafj6+9X8z81fvzSlJqltMlUpExK3t3USb+JbdpmylGrfXa54bMglIu9ylBFLhBAqrtttwvFSQmiT8f5u971y1Ytis+qlyPF2CqqKl+2ygl4r2YMd/by5khDuYBiegsJCSlr1i4zvSUeNgH+v+I/BT+qSJhqgVIjJkAFoRH6R8d1IIBqex5p0NrAeNjnZUv03idr5YKyn/FVyztJJCGrWcB64dcSmdIpVSMmQ+QB1/jFIiDMyoWNiQtW0VyAclVH69D1EJAIQiJAgOZ9U9cuU0B9IsYqWBE0R1qQESMmyhvDmZAHggJ7aSMmpGBFEgQhEA9AdRg2g+3rf1BiOCa3d/nN+LihyAkmVuSYvPO+v1a4zO6sXRJh8XKpTThTUUheKyEjCCWsULo1gzgwLphI3MwP+lsiLdDX19pwh4ysjKjwy+dj7w7SanFIE4nLsUXx7jmKw7h8bonRkr9USiq6/ELq2gkSIHNBggekzOoJZEfzVPki6xp+8SmZkkDy5jQQm4BuBq3prvZA3CMXxBr/EyFcp89q9YNnKjJ6a+IEvu6OjYHafyiL6AgjJbqzHDhBDwgCxFiBIjpt6Zk8lBgRVd0BkUKgkiMlQSEGKSMlhCKPrch3EcCAdkQHf0mqrFbRrVUbWzTW1ulWRFUYjBTgY4v1BgE9HQknqtytvslmNyo0epxko+DChG2lqhZKT3gIWlq1y8UgWxOtQGDWGsKaRiMmJjNAwJgEmIhwgEDYsLI43UP9KjyVBiv5Jr1MXivRUpJIt6u7ePS25vU3qbmuxKLu7QSXl11GuW79fnm3i5umOdHdXNyyVld2jkl8unW6XnIde/jWi6Wk1KZ/y58IEmDUiEjIP95yEZEVYKyEWEJIlKPwDq7ABucjJSAJ7ZkhcNv7miWQNSzn4SJ4iKqCseoex8g5k9mN/Z+Zf4dHp+cndyEaS531UQe5kHGWQo4+n0xsOiMmnZ2l+acg7x557mmLGXZVpHvLfIm9kDWHoCRg8lgEFMB3aC7RpnlnoHQ+tRiNCW2gFEPilSSF8rlZGjbGNf/Z2Fr4T5b5q2/308G0VMmKIzJpBVKgIyZERkScUZdkCBEjGSMlYEgzT55HRnQ5WP8InQPT7schLdgjJZ6RoX95VMjvas1neeivrLenDmYjJrznlQuY4vEyWTiwFDAhbHlXOMKBJsyGTXVCyeMjMoOBkiKzEJQwoaW0NN1Km90MFNLCkuNgLJhc/1MUAxAyIZdUIyaDtHfxbg9+HjlarD1UfyGLlv8oYKcq7Jo/v85u478VhxW8pcpuIyYiQm70eRrt1J7T7vGJ+oLDbuNYQ4Kvuq1WDtd97YQkugL3Bc6yde+0kJZ6O1tYfqDW6IHygKL3h37zt06O7DIZAf8vLw6YcI9jyWlcmrbiDwNn4k/d/bh4ttj2l4zQ+Ynejy8lxzgslWSCMbQZ/TMxLDtu5LM52SjrTCqeT4A0w+Z/Gkk/L59xQiNU1TRSdnX8w6d6dJ4jJhRQSjqETYnpoNVL2cp5OQi9UWQRGgIGsFfdIRHcDCzNQsiAxIgvmqckeRlK+JSc42L1Ukibi0eEDsij0UjvuSEYJcLYrklZ/lVWSpEignwv7LTnpiYwmKpZwhc1uWGWQJ09vTTpXIPZt9/180SgqRWowphP6W2ATog8w8etaUqKfjC4e7CMjCQYjIqEkhtsmtRbJiNmrGkmyiSoxWKzaa1Ymm2S0ktY1pLVkZUabMyq0qUgosYjMoek4JJwnynG31SpOiHHYInihvgDICJFEZAGQQeXmB7YAWAWMQtpgMRA+CA/m6U17Tc9Frtsi3VYINc2BNon5S5kKGA8NDY64qjmoiMmQvUILcvSXwgZYE7wQ60VZZFL9kVQwrBzYjKdMk0zrO/RiEDHhWUJ6r1CJInAhBUgHdDWUPalhDD0oIWWgt6IrUKcBCMlwRwwsQRfIAhfSsgJmBkmarx5Tp3LdAXeIzKeuIgi7dypQIFoo7QV4x8s1Dfu1VA4S9VRFyztaQGJuuKx46QGTEShkBCYRX81D1a+nvHo6KDVlE1SpGIjMhVUptBde3fTBlAUiCgmvMAsJOmeEEOiEIopBoVllt9zLXKxiTVFaubc2SubXKZsKVMoqmYjJkVJWxWOciio2/R7b9O/ZdcyIHGWcsGahtA4RkVWBIQWQBHJVOwBXUodF9fB8eY/Ze+7zPt9uLdFNNG+WkMjDi4RN3wRXMgnm8iDwryO8TtU7rsUkEf0xNZIB4B8YRpDhae+Q9Z93b/1/f9n7/y9H+3/fsBQ8oPlOG+iEUHzYhIrY5dljpja9JGnrmBU3da9NX1t0qrwVvxfDpGDH5mpCIUUwKiEQhREfKqqGR8Dbe99x2HPn0WMl1QZIyZOjSheKGyf4wQXKA/oJCbPpppdRT62L7A5f0WMpoTpjIloK/Sw9r89KAhXJj7uy1Bp7aM1Ej2jL/liOjlOvgf7wcST9VCLtYGYQSMmrEpiDIihnv9ZyGBESD08cdu7MfA7U6W3USMydAyD85QlKGqnA2XwZBH21DU91ggkqfVbAqTmJMD+s54Z48aB0nCa6BsgIzIMhCCaMJqS7Ywm3m9Ccz39Jy+yjrYLs3FAbIppOAI/g+EjJc49hPVHqSh1prJ19CP9XEDbP4JaYhM7MI21d7qer1Pt3v4QOg8jJYdq+t36Nzg+uhLmeo7XIwTvel40BXBQVOouOk0ot9Bv74GAIzKqEmtJsG5+TYASFQie6a8EDyPbUy6nBV96iUNEezd+LXPwrvpxIM+B5yGx46Zgb7t/iS5V9P89zaMMexAD/ngi7OvqCAGYnTAkHaagPrfMCcQyGiFmDvOxIzJRAzbZlKbR039KHEpcRj6kwoxUme+nvFjJ3Ya1hSmYbQ7jrTjTakHnD1j05opRwqnGv683vZvtvtrpoCMyRSVuJQTZY42uwvyoKiS6amu1YUgJrYVy52WQJjxA9ohFIyUSCMAiCe4pKioeofEPGjvAE7X3iLpmh8KU8oCGzq6DlWYrbt/b/noh3yJCFn+U/zevKGlIUGrKaqioNKNREFg/vT7ul9+r7304smx+Iya7u13KFGyWJE5+f7GiOEQTNUMorEBPHNAnV1J4df0+vn6s1FviBRrLxdX6Eh55CEEXVjGB9M1fS0sgEYOHjIin3+NWddDDsFDwMPYmB7wjoY6AfMGigVeil5rIJpAMwCMyIyUnkAj/MyCSUT59HOuwsvavzMpAxG7W1ucYB6bDJu673g9qh1kHhmUMQ4iqHhAOwXfaSBZWQOxX0FgZezHK+yAIyVLTeCC5S4YE+9+XFL5FNb6CxwV4Q3Monyrynou5vjnyeCcLD5jwVxe3viN70azb3tPePM6iYFsY6Z/JpvpRuT3QLjogOYPCtYHR3ejjpbcdO1dl078dY7a55XDnHHFGO2rMdCy9x9mkbdbZKhNhAlyjtw+2e+uetdAvjeem1pUdePYzQ9HVdVGDYbDdul9RdfDnj1xlS2G55xzJA9EHAm7y2DgvpudbOvJtnag0auHIM4b37BXo7iMydmxg3fpi2NTbvn2xanajEzQjMiMyx2rdlDpsR9cd/Yu/qr1qd6LUaJhSCQR8SIowFoOIri5mbRCmUX0R6XQfHc2C+ViGBR5mj3e7E5sOvTefTjgC7EyG6nlBDJjQIa4Df2Puca9neTHrhg59rO2Fx5OOIQccKAjYE09R2kEO5x0Dq3kjMp8ZfeKAEJfSiM+kRQjM0L7PTePZheIT0ZvO4sQsi4ciyPAUq/SF3v3ohLJfMPvJ8Pis9GAfaGKEeZ+RHXp0WPgyMlg9i6M8LZgdIPAQkIuvIyYM+cMGLbPzwQ/OIzJ0gzpHiFDTou4EVEkREmlQMAnDgSi1njWoRik1/LrfLt9VQ8TNAY7UZHn8OoZ7QYoocD0IgOh6bUNV0HPYfH1VmX3XuAbtmo2FPHg8Bcw4XtEHtDO5sSxJyByNUmhEsB67gteTJerPoXcmuN0OGzhXq4IBtb4jpt1XKhc1J08OgdF4NyxMbuc9lAQZbHPgchHQ9BxJB4M4UaOSnZyItVUqWIIgjDIdevjPrz3yRM4mZiMmKKRT6XXisiMEY7NNFZLKpuqE9tYxPd7tzHqPRFAUo9fDe5M5EEEEMMEx6oB6Mk1PHOntrsrhDBjoXYpkTHGMFXbb4jQgBlSMo47drJ0whdIPHzD9nQxrbBvR/BiXYYLsKPCeXZE1dHIbVQwi17NpvDZXrOzWfoPipr5QQLz9WiGKRkocqHKVodUknWpo9k1NSNo/Tv6MiPE11JEnFCJ326XwkqfqR04mPNOlZAErszY7bZZO9FM1QDG5udmSD+/6b7RCIyKavnwy9XVuXnnUSC+IdUCTq9mTWvcoGpOgDu7qB5g8qynKUwS8jpZLFqoEaVpVbttzFLI0M2StdLmyk7q6mzkXJo21NNai+FIxSNQkIiMyyMIMIzLlgqMhY2hKlIUYIULSU0kXWcOtu5ERwuQ2UZrLh27MgslhVUtIQisQDAOm9VvmXtfRotDU1imYSrMqQRSRNr+qdim8OIePEo2MKbOXSmNKztefXkcZ8+fvj7K2v0+lX7Nyfj4ohRKVEHxSkELMA2kvxK6WBk1m2/FdcHysIST3WOiGe2hAKgIggDG2Qe0Ok4KBIQTdPxLkPjZ9r2p3uxXVIyXgj+wSRQkJy2FImONOigsjMmSYs7aweQaZLNPNJokbO2i8PVsOa0UxjiMyhSMyngwjXYITjqWrbIMjJr6lFPX8J0wja7d88QK9qK00jt1iaGYQWyv0xWrAGKgnnDcVI1EtxrN7IyWqx0uw9mmmrjtPHaJ3JBOhB/DJ3yTh3z4JHREWQyMmrG1lUQWAUoiHIKIgKIRIlSkZFAhGnI3HZRbLESkiAQQaUpULIzJCx6zdpOatopmAangQ6n0oBs8ZghfAkCjAdp3DEIpFJVFSIyUoQWB4Yh9BNNAudawsW2ivBor/Po38/ZOa8uA3kkJjf2Bw2z6WhdrLN7ND2TH5LcubHA6aztkvyYF6dg+kg2YeXZMbIyW4qeRHV+hxszXgtyTEEQSogqGNauZtVVVPiegwegmYSYTIZXsxwCt+pvuj1/6qwYnVKI9bwtZeLxjaVOwjMN3W1EsUZiJCiM7WSmB3iSoIR2JzLpYw2lAxQ/PxkCUjJiCEmNzJu2mW+AUtEzfvt+fYaBnWuY0xVMkLn08Pj6fE7O18X5wQBQNLZCpFiqOkeGzWmcMwq8gBdoFxKixHKFCfPft9mORsyGibWLEWCRQ7EoRFA5nnjpQxNXnV03fK5dVTOaaFyt9Ohy6CqIG1Say0rWWo2SMm9ROIlMfUQ+nJ/M0Sm42hhiMl5ygdapCuvTce+z4JyDPD13va8DhCFu6FJBqgpE7KWUueJwvbg71oriMylB8tq2bxeNSajZdKKfTUxsm4n3s0IBaUgsjb3lVTso3n68ath20yTMY/q12wywxZ2KG2k7PXQQxhVVJ7w+HC+6pDPHOdTFQjJaaZu3IILW4aCE2l2DZRePEJCDNAQ2Gt+Ks0QTAYByAuv2aUgZBFIwmTqCDQugeAZBkEuEN8KCFjmbA2l1wDgyD0IChAa6K06EucvCoCiwyCDuSBLIGROL+9ze7K9Xw4w+NEQWZ4IagTEhJljO5XkOZYEkXqIyVqIyWFQVag0uvpKzUFNYPBgto0G4ptLMYDKkgohzBGAyFEI1rAK4mGhpgyJhgoQLizzNLWiOE8ol3ZchOOE3LGSFLSX0JB42LQQ1gYIzIM4pVgNLAEbqRpNRDKbK2+V1dba7y61GGAS6lLDD02W7IIPL9XOcPPF9s8JTD5s+vARP2RI35Jtsi7mTcTg2GsICwDqb9fCCMyjF7uWRfFlG113QQRo6tGc2nx5nxODJN7MhyAfsBKEeDJ3Jw1c+AfRigh9p5Qk0IsWRZvoenWm+FieRxPqYNPQxNDFdZCyzj032OJ980hyAWeSTjZwuJawbKrfIbOJ8LuWSXDIsYcqyPb4eGv19iPqFyXu4uo3OHZCw8uyLj11339OyRgijTl1NiVIcdyx/DpZ5ROknXiHChEwWk2KKBVSqJCUO2entP9aQGRVgxA1A9KqdKNbD3+X16251iCCWyHlDOWBUsnUck74OYZ7RKgA0KN9z2RUVe78O8svoceuLzCZIgz4AaII0TAmKPgmVLwUxzB9epuHf4fnifOhpkphOrCyRiSIzJDwTCk2MBS3RFIIn6koFVYXTULy0XMFUvxELzi010JcCXERgwjJclGQoRkupPCldJiBMSc/XYeIiiYgAhTV587zkiFIGkWmLrihEjveRzc+ZxDrd4vNItVnpTZgJhk3Zfn2TZ8UgPMWKtIzoSEbY0X2jH00YYBETwtMf2x7iGmJbyaih2A2kd+DIsIZVnnaHdhNYDqEKTVCTwLqrFefxlVToSEMGZmEiMEN+1djnYord1JXHWqaA8Fvhm/jUEZyNIxoX0R5wtJukeVfGOBtbDbWUcefGSzAyzJLs0CFxktjMYq5ElULwxZgYjuvkeGGgcgEA9RZSepf1PYss+NEyeFEKzwB1cFnqbrKL/uMSPe1nUnqmGPnm3k99M4YNppb1WUjayBGmx5IzkjMjlWIyY2KaT+nZiMejUMGVtFIqRRQdKH1d9nhnHC4YMPodXTPRrbXgzWsKUcE159S0DNQUZV6ohAkZOlCcwFprGB+tkZIQQ9MdqMGDQG2NrLGyFMRU2Ta9e/e1O8BfLPrnBRBsYXRlPBhyMmYwFvdKgseynZjY0wWI32lDcjaxywA82FdOtVArU5JO+f09s0tyHnGn1db412eFfvYprwboSx3dYiadVLwSIF6cUJBRcYWGjW0fVttYkgMXXncUqVElx4J9nSCYeNpjNHXG2eDi3suVE58BRc1XFpOe13oTfJr/jZ/ezYMa0UR39GoZWTdxqyIyaRS0U2BAXcRSMmYjY3Zop3cly0rZdlvhddrSvmvHNtXxtLiqb5ZclZaOS1V4KKDERqyOoOqTQ4F+XjKhB41DRA4CE0Yah1MFzQTdhk4UbQZlMMRKQjJqtG5oNJNRphuhTowhTCTUQmyTAk2bB2blpllugc4UDuTgxaZspRiB1tJFk4TaJq2RoSoJVRagmwhhLQyIUySzNJVS0jJtDRxyMygaIS2RBiyLDQ3atZFatkwyv74hG/wc8d8Qzue6L5xurqZMySjmnyiUkRth5MRm2KztBi9rm6HWYiUe5GsdC9Rh348jvo0M56ovMjJelc/chVODA8UUjuYOV0JaV1k44chcoiVbBKYkNkBzQSgTalzgkGn6VQzbNh2wjWX0CYaU0jJa1NbdnTuJY3FqNqJmZFFyMuUpURoi9ME1EQkBdvhQgbO8pTYawpHVE4xvG8VqWvq+BAx2QTsbNokGNhN4mTOb3djopDp/koCe/M2omcS2bcbW3NeeriZmvB5xxteeLnYlIx0M4rbju09jtmCxVdE4DONoQlBA+xstYjMh3KfFJoVlzFFknTTVn0E1GXMfhDbC4amfLyfZ8OONsx0qHjD8yc1o5p8nm34bapYcytq3RqWw7uCIGaZbZGA6+5szlIkN9HSdrJciw9pLA0IR17Am6B7DryHqm/gjzJbPWQTj79xuz6TLOx3cxpAbBkAU4oGx2nH7fd4j2wnt4m98OBZ5SiiKApZiFGAsgHcGEtTK3OIyUwwh59NixVAY7G4gWDNYdFmGlhEkKoxJqJIXJjR0ySRzARWImBIiMlWVYjYw8jJlcbGQHrb61sGZtAARkjJVxz2s0DJvqGJQMboZiQKjIUEEhECEIGpNwYQcjIFTJQ3a+huOQ/UxaC81hWmRccxaQ9WDT1PKwVQs6D3/FlmM343dl/AnaihASbZ1rwz0Bmf1ttV4o8kfwRybJnIt29WqlN5LA7t4+qmHOZfE8VRGLwfhcDiZaK07SprzkffVzUMpTgx+RkszLisrFuc1nydj/V7IgzxYAIwBYSBMHqfKyA9CVH21PMCH3oKojSpVr8a54tuILArRrVFteKi25W1sbbWo2tXK24iyKqSIBRBIUjJguw+OofLsLiciIhfucQjixeqOcnWbbdyrlUjRAjMgf0QB+HYdwa3OppxdtzhXTB7z7S4IwCHiLGKo0JIJTJmUzTamWZJSk0xSaotJmoP0OpMzVpDBiommpQyU0RKFFaaNe/bmGTWkxZJRKZWzQpkxM0zJGYFGhFUaYlKJofT3URGxZFIzJEpiklJZQw1QTJQai0qNFEEUwijKMZMlaYprGyEyiaDJSFNQZSozEGmiMyZtMWLBEGIzIIs00dw7kmu/bU4jyArKI94OzDEJvfviwTIPa/OoiepWULdmNe/9+bNhP5IzKIcecQ68JFRuFRyfccrwwznZ1gGJhvpzhsGp1nLBibwXWfn4zg2pixQ0Y3k2D9hjalwJgjCOrM6Ok1h171LvNookjUZ99B6GJfgbdoTbi4dtpuolyxtUPBzMLPPohdkvdiO3NY3L+Ub2cjMiF/sO+zdE3ubnnh0Qlj17dZneGZP3kO4vPz+H2QXrVhd+GJeMJToNibbDHDAyMqmQeFKkJrYG/4lrXwvbbfs1+BYmMbNaCjI2VkrFiiNk2mWYCSUYQYeOzPjw59PYYbt6LeNUuM2FEEHKb5S7fizs9mfaeZOVU3m5xhh69BZhGKSmcJFP8c8HDjEhhg2Mmhc+7Zgv9dcNrfOXsdgovN6fkJAYwJw9pDspGWU7NZ580+WxfvSHdPDPUeYxrSbxSCPSQoDnoZwe8jJqgcub/1/z1YXEdyZ89DA825YoQSxg9MXbkfJvrR6dHX0kff828V83dbd20tdGttFFiJqQQQpouR3l0+ZyMlSOkyKO2WN8UlWcY9znly3aWZ46zKJRl4NPttwfXGMY8eSImIzHeOC25rBot36PV0Vi7E2defIyYPZy/2wtA5MU1MQeDMx8WZuiMypJbab6efXDe04fsZRh7WeLXdkGb9IEXQqLgvJbnO4iJXQUDs75UjbGzuqsL62W2EPOm1yiNYY35N9pg7dLDNPsmHPGPHfejnAQcLgkmvmsbm1fBrfJi1BLogTKF8JjttqO3fle6Yy5b9SJeN5dnzpw8qYrKHYOpbmmncT3mjXil0aGNk2bXgZ5KMJq4fhNAipT1Pj45rkh73w5l4SV5nWVFB1RG506cpG5LRGieuX9CODi8DXoruMYwkhazTPcNMpPW2QIGgxltcaNOyNmEh2+DPrRaUhJHGDBMovd2EwCbEeT2HSgdmWFE/T6ZqsIH7OjXqnlt39rdnd0AHQbKSKBDo3fAnUVb69TqE9VentN4dXXY+r0iJYfEJw+n11xvf9RztJ0pCpIZ44HdHfUnBHLPCH5vRcQ6zt2fTp+eWwx+u2279fTQWkj8g55WnvUGwyxoD1EO7novv13mdfdDYIVv7il+vj7b+SG5EthF+/NBbBY1SO4fZDgdnWPYTsDjfLJV2alSV89hY7gMxdwJIqjo68HIyhLOO2zGBBrOGYXkJuA5PdR7l8voL3ujI2iiH8CHL3adEV0Ov7RIIDIjA1QWQOpXYA1qB9tf5k599HPhuMB3d/00nZCSET11WPhe9zyhVgOGqiaZAHk+hojoyMUeNakY43lZluzWhtmTVRB6hAweVwoyNc44jJupmY2n795mLeVz6o2Ysbmo3TmZzqPNQ0zLW2zTnMNWGmcjJcFkhiwziaNGooqalGpcXGa1iJFlCLC43hbaXOtkzIzJtXVk1Dja2+BzNzjH0ZlMWlJxn4ZrWS5OMMRdN0vFhVOeo4ZvTHXRfpmHOwBhx92mEPggwTMxvVH6nW+IuBLCuJqZltE1szMa0bMdaDGsbYUr9mpp8bs4w7WYyY2T/tIdp6PqdUGVuipxBhcixs44jl0nSHl6l4M7RhaMl3mtRqMCs20Qw1DcLJIMB2ZwxbYknIq0jpSdGwflrPDLvv1MHMhGm/YLJ0ENwoFwYwZUlvMECYqX6iAytD1oYnq7O2nnjTNVG8Nqj7+MDIOnSHwbtA2DcLOqaqy5tGB88SQ70wQY64nobsyMl5XgjTLulWOrDIVzwdSMmNDBpq5vMWETJubG9tGJk7VJl8EOlh4sz8MeG2LtG6jHLh122BCg4xrhbTxGtaBPSzmWe0/OYpAw62001JofHrDNcDGn47fbrxTeWffF2uURwDtLO0Y8jJqCkyKipeGxDlCbZZNlKdTapoxaME2FpNRHj0jEOeX/XJ71nbMGfIzIiIHY2ONOXnEYkyy42ot6IlZu9rzea2o1nGxmuj5qdtVuKQEkme3ZoUOh22NsIeqt/kLbNhviOPTbOM4gXHBc1w2xCfcRnRRCfrcOknSe8CUmFjZzNajVTnpjxkHzteRwSSIzOI124rg6tq0bTLG8b3c01ihxzyrfL45xmG6PV2QvV6hKh24yTp9h7jY2M50NR4b4DWN2uMlD6xHF1HD3u1RRRBnM09N0HWmdWNEJMmMcx1hCY8PQiJMJrZk0CEIsofbVc2PEJBl2yG7ZxbYGkRiMl9CR3aEF6ylDpYNaUTXEaZBLWuDJMkS9vrEh6i6NLReKgoMo9IyYiMKLlqHNMLH46ahTVyjytm23GuqqX71hU5MMSipWKsK4zcRVk3y77qtr2RlAJCEJljFGNVcEGxsz1G/GCZPBcah3C+ZXd19E8suksr51Rodb7w686HBHmbWXozM3CGgxrSxBjpDKaJKTczBWXqMdZIzKhMm32iDmIfBDSyTbGpJyZeC25RC3dxCOUbph1wdXOFa4OmqcljdDkpr1k2qjnDJmpwLgcSDDYmH2doTEZEkuTBv0BxI018ZlR+VKHTQbzdqJK0RMelmma122a1Ezdj6OCW9cFZE+tujju6Zx2h3s02dq3ecQXMPs5QaUwiNPPKbJMPBtTtimBZbNKiSMmn00uwsNjQ8vXIyYdMuVl8u20IzLpiE0ygqL2wOhqPRxdOmGNLgK8wdTXG2phNV9yEbuYtULMpP100PbjNwwpZEbZHbbWi8Q8uMe6TMs4fG9mklThlHTdIjA68Tpo47Sb+yjejfBrB8UvG7YTSZdOfdkuEjIQ35KKJp0kgyMyIcScdFO9Q344kplKasbmXvcHIyZuPbWNy8echrTGMb5TnFtPn3MYNREVNJbYLhIqEk97KEEyJGIciR7W1Pa2+2GWPcKcXMzMYmJvM7ah0yc7tYyvgE1y+ocOjmEWnly0w+N6ayi1cJ5HhlNiiqkpJ0JZsLhQ7qAm0riU9TMIqEqolJ4h5RKI7OOi3qB1zLxgdR39+scYzOFGVHM9SJLcTvEXMy6iZqIo7wamsCMyTSwkHk/A1Mb4fU1S+3ib4jMi3wjV4yVjbckTaakjZXA2ytNoxNYnyDmmaskoOvTG3W4jJszL5mUjMujmJk4ZINHHGOmpurB4yMckfDgtPBykmUG1Whszi61yXWx6ZbNXeV01NY8seR1VlhlMYnkmDshROmi5rRrprSbbLBzhiKzT9FWHdiMyGXPldXOFVSDxZxwY1mODLfHNzmoWO6rSdU4Z7vLFbD2E7O1MScOUUs1c4B4piBnZnsctOK1ipME74KJKfKCTN29ceR02ot8kiYU7bK+IoMOBlChJul6SIOHebUvRgcgxU2oQI4chFOAg0LGr4rRuGEIYgVFdRncsmWObc0KpXvCbWzNSvtaljUbL0VwZvTHleM3j0xs9c5WtPhb0sy4icRHdot3aWa/gxei7Q6ttzlWtt8Z6YEyDb6TRsQjsICIO4t3nIyW4oSSLd4NrUc42Jr1Gui+s0dFApEbRJvspJQUr0nLyxkQjJlfW53A1Q2uToY9PSeolEXbKgw7OLR7oklCOIyUaYd2LT8GCo1ieoSMyXwwUF14jJpSI6wJCG6GEJzFAyLMjs2A5PuKIbnjPVRljdIQcyB48rj/s9lGwgvCLsIcyLxgdsW2NuhWhXyiIxtJNgZkUcaCtd2itKjM5iOWTPdURi20G2g5YHHnI+WjTIyZQ7GFPBlpq0kwkmzNwTVkympmgthlIjJkaYmlQlslM2qlIuUz1rRmcCShQsRzUpmzhi28mkiIWhgQtkPJ1dM1NklMhhYro7JxYWkW0phvmtk9TkTLkYaMnNmOFTgmGQ1ZetSnRmqBowNWHNwlca5s4MBzSYD11OWwY8edYyqxPC5H4gyMyE625sUPB1IgtFpjSBMmVOjhEzgmFUQuplBnGxnD1GeeZcpm1DghsgQYxhsxNp0Jk1NjD351wb5qmJNti1SQitGChSCtpIzLLU4sl1knrYyWzgKh7LhGhuNqvONmY0+7l8zpbIc2OCctAOsU0YxRDI0M4tQQjJrwQaMj6TTacenxqlZMCtnEb6iMmOXxgNVkwGX3XEuYBpHhDbiMyQSMmLm9WmhDZcoTWItweqinpMTJZs5M4rO41OOgoNMr9uTCQxM6OMUGlJFBNaIQwRRUjJU8p7V3vhFj1i+S3LZC6D2RRhoDSkBBQ+kyBDwUzBAZbB0EaY6dxyLhN+JCkvVNUKYRQylIjMhSIrQGDQFlwxEYqNBg4xWJGurPFoPJijXbAj4EuDk7CiNHSI8AOJMsjGNthJGAxs2l18Lx+OuYWy5VjrGlrI3/wyykE40FRYJEdhgUoIdK7ehsFMHGBnH6PpruGZIAVOCY6hfUjMjJPKTDgdB1RGkMoQ7ChqpbOEtiIBDS6ypyKZYSQFm+tMyQUDjGxgTJJqKa51ibG4QNkfbmXpYu8JXAjMqUiIdgc5R0wBsxEjHK6FknPlOhsGSgOXSMyhoHQ44OSNF7saOxHCCGVVDPQ4IAxpAbGIQhcCGbo5m+jHDZwitxiSXbyoGY3dIc0M5ozjJcZtDePEgbDIgknEhdCWKY6MWQI2Gc2RoptmCyZ8ZUEJJsjJehQOBwY4yYjMmbDJCnY3Mx1m1cy6GsdA0NmQmTqXBk5MLJqSkdBHGkzumvEmVuBVYAXU4g6WGnYazQMwwwuutyFvzhQoBVgdIYHYAR5qnZDosEcSA6lrJmjJmrNW39OWutq/h+m6f8xJFIRQTXBE0B3szvAKVNoJrKByiPtSkQYqiMmf36/39Cj9vgHx5uQiHzV+Hbfiu1wNFWMMEtSqgnpqjefYP7zIMxgk5KCMAHEFOQ5vmm0/vNX3W4alKt8FOq63VdhNtgMYazSBaAMAygLqkkqQd2WDymIRxPmS2gTJCMyEP0wsEk96dsqqTD4Z9KD3c7xK02h/d1nBj9cWRw+nH4fYh8J2psxIlcpTNaN4ybv0ltgtJq9IcZw+ultxSrC6YvFuoWEWPMEIzLEPqCOMuVI65jE6TpuXkgbbOHj7LqHJVtJhoQaFsQsY1iRixCuJ2Bx5nYcA0jrzLq5yREyCUnYxvrzIyVjPaQD3bHBGj/BOA6GPA5QpOyUlIMSQSMdyHBCEP99nXYBIyUjMhpqcaO1yzLa/aTNW0m8lJbIEAQsZiIUNkXf4xShsqBxCLaYWA6hMUhfp7+lImQmA1vPQqQk0oFtZC1gs1CcIyZ44ihEoyaXKHt9vcBrUyQ7k+MPKLdDby+Wadir9YQURVd3z3KQTEB2ZGI/ljIEkkiUTTaFCRNMjddN2wWubJX8K81PL+bu7I1bSBUD7zWecDvUHh1D0EsChQ/5TkP+kjtlMNgjMjvAHcobwOB+vCKr0AQz6DihyX3EA48emwycSLVqQOkwo4Ip7j20CftV2lGY+Y6rGo/RlJkXfvP6DMRboO1yfrbAHrwbP958Pewy2jzzL5CNsiedzGkcqyb0JzFpUmm3kuVRed1u+DzzFrcet0CWULwPb4TGbgtGv69rYNDRpMY0GRCmmIIGLeojMqlNAo6Yjha0jDFOaTOkXMuN8oJkKMd/6h5ccjNIEizraEEohrGjsPzsTMA/cRHWHyr4/ALFEtW2QIWB70mVcl7BxPmfKj8WHkyEBkFZKS1jWNGo2tG1EmNRExNjNMy0aiMyi2wMkga9EEkQoBHwtE+Cb/WY8NK0VO1FErqU4bOnuXJMgyXeXR1HZAE1mrsEPSA+EGUMH8LuxETXhaILJYiJGI6zGCSxjyMlrESRFajtICOURbYDaDlQGyYDNwng6ngdvc9ep1BAYEDLB4zvotfR1k/ou5O8wIM73aUHInJMVZTKFfrtRYgpIq5nvyKsN5J6QBOjPUEYAecjJWzuePPKrjrwzK6yD6aqKZqDDJlluEjzqUFv8TiiKwGNLHWkiyKMT37WOXprVyrpbfJt6l6behFA0wVYi7JjFsylLIDYgaaKwTcYVpcMzRCMWMBkc/qOMpEzYxwZxXcogrEOc3vhF+R1paMCPrI0xNNDxwTbkjQcSCyQRG2kwYBVfnpbxxMoLp1hyZUu+/CHmTtcc1mWlCMmc5zVDJvWaLcd5pDIaG80OJkLXG+9YZtMZUQFoiMmQckjMpHL3qlLketEK11dG2C7DMRAUidhborUGrxNHSWhISMm/WjAgtJE1AOGPJnEXGLjWVHSJjBGMAbQLGCyguqJZMhXXIzVlec8Wy8P0+QcUA8U8InYfD5yLCGJttJJsYytBKRJhTERIwW42foGqS64LrSfcSMltYRCorJeKj77LtiIGaggwSIBocklgjl+eAGQ+2Pi7w74mTnrEQXqZle+iYsxaDDuk0qCflKijbBrTPy3EHCjiDfSLkYVamuTgraIyMJkXH05R8PXXJn2FKackUwkB2cHgbPGtIU6Q34ZUR3z4YlNYbu0XREXEJGk4aceXYpBS1igymLYa2jjIyZNTRDVLi2EV/k3CScIdDmdYHZoVSMyiZ22aRAhS+Fix2fYzDw6TmszLSMysSGKJUBCLUFiVvA3NVIS7icFoHfCd0Tl35WAVunfc2stBlaLfCDKIzKP46ThmmD8etkZykmO5F5mFkihOh1mxhurYFOFIyYabDuE5ehrWuVkpTgjJuxHL2agbXeV0YoRSFa5LCtNqHLm8uCzalJvIyZrnPBcZo3RHEjSgnPLvFxDtY9kImp1tNIs3yztW9MaEg9YZCwsNW+kEEoxLghcjGBUoyjdursYZBmJDAGt0RSy0DwG4EgjEqJVRNBASokmxRpQbGpkIgYDHQnCFiQVSBAVQUshJg7EDDowNjq4tjPUCam2aGBWgf8wQQKAgruFCPDXtCwGfpDrrwj4lUjb+G96v6m17GJFIosT2UDB6j/MrdKDD7CB+aUCmH0E/fnQ2K+FHW2EM1wx2NbGX22oc/7TBtggUemQaIfZIyWusznpTE0kojIeaPFfOyduysu67u7l3LdvprXjX8arYsVRtZNtWKtpNq1fbalpaRISHm9ymaH1KGZ5eWvEqqyvWL0eEMrUeuZJ8zvKHr6H88Blb6KXz4ria3x0tnUrV4X94NxdWVsLUdVZvajlsOVaSVyKGyb2dNOGs7xK2TTLyZVqpmB0ZUqXFLLWZTrWXvNtpNlDaQyVvi7Gpa9lRiirpSiJoZDbEMFnCaSNIumUvE04PGtvIzJAiBtso+LczeSYZTjDDJG3lbqejmZqZFqcYb6+PGcPtyRJKxTTkRJnmXDUm6Im5kuhwHQQeDOhvtw81QiLuUaMZ1tTrfQ4x0Hti3Z8s8qpvfmJNITGPsiINoNSnfYT1gQ7lh33LrbXZwMZpPh7HjnN00beb2k2kjpGuJMzcQyM6qHmdPtERiGhhMleDmHSSp9prhJrmclfM0+mUpnOPtM7smPb6QuMkmQrCC4hjwxyLrncaFG07psbDiYPBIQ96VS+To2TYooa2oc0wX6mfwZyhtSZCyFBmIEiMWG5ORjjIGN61bpSgxrGquy2VS3NuzZlW3vstKOUjR89dvsjapcbSxkVSkpDoQYRvFWEYOqA0LBloYNCRSwbBtKGoKkoaUCSJEiyK3NQWc0uhSpSq5BEhFX8oYgtWNUiWC8svlkf+tInrA9c2UHqQgRMY0CQXhRxjd3Ftu0OdsXZXTbHd1eknPKVqxlkqZI3CEJZB0dsbBmA01ulmm5t0Ku2rtJrBuld113cUm8Vy167XJlp2nm67zKvJFiQrdTW5FjXaapFJEhAIWZT/ZpkpEjhwpRTaNmor224tbeNjKW0zbJISkyJsrG2NaakUzXUtdK0spaZNaWZUqqNPm18vPCai1QYLFTNFtrQkEgrEgQgpCG8t6/IzehU0FfnGxqItCatQh0sUEOKZF2BJkFDAgKFRNpubQIjMl2JREoFBDpgIyUyD2DEIybRXyiO0iHmdp7LB6c8T0kIwuPY9Or9bClh2ccgQspoGhr9pt+zMO/WCfBiB2wnE5x9QooL6AnxQLZhBYC0mkzgauMGHZo9mvHSxsDUxYtwLoARIxGj8bOokzJU1LGHk1Wm2nHNMVTyO7O85MwDqHmF6k2GKVOKfa/hZSMl6mLe9KlVQjREJBag2UiFn8aUC0ZESze9kBUZWJBGl16neE7dpqYnenciFyMmM0lD/PkzzqCP3YbIgg4dv0QG2kAIZA6e8O0EdmYjJbCiD41wtamUyK+EDuRIFQMikgQIrRqhr36er+R37ejWGx3MO0jxIybjwxxM9QfZV6jRcuFR37enU7Dafgxk5j85PVhvfbhLyqhkIuRARVgDlxxujxOqV/r8IyYWN0xBL5YsBaBiKJ2RUDJiISMmeSVKUuwO5+jZIyaQlXa8GfBn2KEuaH4MOmHDd1yTlckM5nIlyuCoFjSQ1Rtt/voxBK0dD3HFeC3zjcXiL8rYrTvsiXAPlvp4/KgfQA/bIgERBiKQEIEBX8Hx9X1EK5nuPt6TY3gjJ38LKP1RUB2XxmUa/X/AZHquhfwTQVanfg9W216ZenZNsbUQH8ndUVZIvF2FE1J7duqiJkk3jW1yLMM1ErJMVvN1WuTTaVjKW0myjYtIimmWSymSlUUxSy1ApRPwrrClqymYbNoZGmJNoo21StU0T04o2kW2V3XS1CX07Xa3avbt2NFTEUEzNW0xNqU1qS1iIyZNGNSq/W22618zkSxq9+7ZJsiirGybVtsiSRNsta3LrS0aTKpJqW2887wpom02myjMKmrDbaWy0m9nbaqW2MYqI8bdFZst51dedySltTJoa5btpqk3gus1eK7YlMSqwkarwjCosUIgSDFZ/rTAZ5/k4q5U15nuxpSVgdTHhu4yyB+4rSyjnCMlOjI9/v669HTpuGN9DmTqExjdCetxTMkmEUOn0aotRGjkSj59+8+KREPqw9jlLqopD2MlouidJaBWW3LFiiMkMuvGoSQmpJBUQfDumWlptLKaW0W1KTVSul9vy+Hlr7GqvdaQiNbNK2iRUyiIFEVGQd8pgMSFmkqBEKi66oSwQCMyIisi1FkRkVUrfSIFlIiZh0gjMmlNhTVtKQUyWarfK0tuaqoslrS2ajZilpMxLaRQlGpSapS21ptmmbWTWyMmKaKVKbfFblDCgIky1FZtiWglFKNNKSFFhtNspTSJqTNGwzMZRsFiMNGVsopsbJkSyNCxsmrFqlLYKipTZUpTJVJWikqkMWSLUom1G1m00qQoSUmLBSZSYTTJNMlSzVTbGNURVkSNqKWJm1JkkWWrUs1kyaNKSWlLbLK2pKq176rXdWtKzW02ks1kNJb3la102bKtSlVZNVaLb2avNnsqubV6zVYrbRVKWwa1Gq0iVtSpatorX3ZJRp2E8g4OsP2315PA22V45peXKg6yVteuHYr4w2/TBjWq92gBm/sZwYojMm8l67Df4rtacWj3Zm8rzLgbiIid7hptRT0Z0kqTI8A1Hj4BSPRG5G8Dx66lqiSEPnhx5X71FZltEF90T0Xunohujrj0wkMWe52BoFF2GePfz5dCbdW1t14YtmgjJltZQTMeUujs2mhkuhkggStJQ8HIIqUrtMS6r5kteK93bgL/m4DbR9Gr644PXsyh0oV+82GLIoCgKEl4RYMJIybkNCR5AU5nMumRxoY0xiZycYKVYqiCDKMFXXojJXaJ2kD1wa/nKC3kAVLcqC4PtEHyNmq5uo5zWGyCdHQFKgdQgqV+ruKUE79ecE2Ryh8SNyBCOMpZZp+j3k/B9zgUSKYqYjA70wmSpQ47ttp2a477wS9dIzK7TUrG9mxMUumnmHBcsCZyIyaFIybU2xIsp+pH18ysS5y+xkpVuGygQGlV0P0/Flz+nj79C7XEx2BUmcKgqL+qofRUuRg/IzKnRKWn7pVuoY+VCfftjWcjJqxNDBe28ErOcG7kKSebUUWBVeNwgUOrXS34Phtj1bKNxRxNG+azWCPpJEbNdYVDQzLWofN3lI2V2kQML2LED7aIb5l623t2nARYqSMlQgeXcCMlIyWsW2NVRiMmt88gqigjMkVwNK5aCcySAVkOhRuyYBH1gxApsfu9YlyjzOtpPZJ65KSppMYP2Po459D4QLhJEGALJ03PEtR5BQxU447M7icjJgjbwZsjMrd2V3wtOnZjaNvTT6DV8TQ3wdQlPy5bNvuAQDz0DiXTf4vd2LqOHV6HYN5y9jY8q6tvfSmDIyx7Q1hqHmQQAyzA+3tuyd75ILshJif6P64tgVctk54hQoojMhTKRT5Yu4j+1vLUpIYZEEWCFwbSgwf80j4arWalZbFGNtDKyyAqMWjOKqJoGNY0QyBEyMI2wK0Gh7xENSTW6i1wwbAbSaGPTrFjMJBSxFjUjSmWH9etGIhnIyZLSBqyMgmjnFFWNnDjUGDbttUhGc2RDFQUDEQjMklpbjF2OKWKjLdEMYaJVVIsitdLpIGTBUtWh4pFJhUx+eoUhrikb9VSaoIwa6ABsdL076CjpcXOi9GqUeAiEj8jJRDVqb5yiEU4JrtCxqPTognYgOQbY96G/bVBoRaIYlah7ikaNUlY5gU4Pho/FgjuxDR5tKIRr2JvJHkOn9ftyYyUux9EebSdwrkQkgMjJtzAaw7wzUXuXvXcwXQ1Dr8BTTJTGlalGCtFBagrAuCJfX2Vu0D/TrVtF69TXOWIkPgD9n1BcSATmdIqPKxc3cNu1tv5fV9Ycw/ZkfFuhDGUx+uaXrI1LePZDBKYxeIq34Hd+dMwryVtxafF1qrFvnfJCGbzAr4bGpO6WkuZXwObdKNZB8I5ak0pIzJNDPA2g7pggE1eupLNkVCVlTKgQjBW/XvQ3if1ZN8aH5/B64e/ax4oD0BCPf0+qpCoR789YpWPn25UH3vXQy/OWHEyz+KCOjE2k7AWmLfSAYxViSp+mGDQVhHOguL+O8+CGGlpIzWiTsQUN0hbTNrOQv6JgnFMC9UL4Px+MrYDJrTI00sgicG1ossGDGSC0gxA6SY0A2DTUpKTxaPdqIrIaG4TUCMyFjkCjTJlAjR7pnAbh1nYzOvTV2VrVzGZ06oDri3CA2uWRskjMi9iM7p4D1HItdt4x5mRUGm204nCgzy9YnrKFcHMnR86JdELJCPhl1xDMG1QbDURNWtelZLNdK0O9TsPrfuggqoInU9XEMOzKJVUvRlBQJxeLUZ0cueN35SZ9RA8RMBoBgNJAxHBsgvILeyhVinCUTQ46TFEPWgMq0mlVBjtSd2u2enHEgchn23veRxJZRAV1teDYby8NoIyECMy56h4ZClgEMBZRkU8B1GSSyIJVU50WFcj9nEDEzH7fGE5xaTwOWFoc9+azURjRO6m5omDbfTRIRO0R0iSQyGz5ZjVOG4cDO3P4YhNy2Ry26A7G7U1EDcQa05I1jJjVjIhdhmPVMYyt20jJrEzjYkTDmwcjElgENRMgGOYd3hQBw5KrEVfVRSrwJPQvUWAeJ6u04Z3dZvK2Z5Khcad53QmbnnRgN8HU6dBikSosUoJSMQjJkKJA6IhEEvQ6clXtXaETQ+g7QNxMVSy6BSZIB4ueUzY04LAiG4uF/RjKPwjJV3bSRQ6Ud4jseRtKCMlTlG5JEKSNIqcRiBQRXfsLFQZBSRhxI02msEoT1GZQUBtQk4cbScZG9rThl67sZzj3ruTG87ru71m9lg5xTG81T6b7mpMbzYjMkVNqpFUVVQ2YtAnqrUS2BolJFTSqddSbMwMbTQ210hFYKJ8tcVEySQgyyJthKedrnNxMCOFw8rtbks0ueedaDxPHjPyt6y864nV1SRQIASSIyaRnDWsG4YiRRDGvORu1VFEZlKYZi6Q3QZaciEBvJizz4GQdvEhKhXg9S6zt1a7w6JLUYDNBfAioRrogQUc+NqJrCBNbWEW6I43X5aVnYAlL0IMbCMltLqRrs1x3yNhLjRXjfYO+VtmRycIopsbuwSx/F7+pMRQ9G9NQcKUcJw29/ln0iVUCRvfIPTecvVkeYdKV3PUKbVQTq4jJjtykIceoHrwicDbjOMfHPSK3QIwCRQiT1dTLY6Si1+fQstJNSAqkzVMFWRhVHVgmTl7vUiFCyMPLtuWGBLwIyYTdiuRoZp+NiSTY2IQzIIMcZSMlXUm33W7ImZiQnevK9ar1q6SUZurbR1V8LttekWxVa89TwRnt3lLx07txTJVy5gGaYwZUyMlqGrRpRitKQgDSakjJZs18q2F3CRDoFHdFfUXU3dmmxdmjxmY+X17eI6JxAEYg5cztENZruSd/U7+MeckLjTXGB3nVkU7Wu2gYgjHSqYiB7xel4E199dZkM2aLb+Y6fJctrDCFq/RrXsaNWTaqyMw/4JAsFSdKpt7TfGeW23iore6ppjWJlFFtVcozbNNJpqV10XNulyYksixtFtGq/GquYxYitFa+NKKq9L0vU2tWjUjJWDF/m/01aKsIKJFYiMll4BKKRoWhijfEuGXIyWCuaAwna+WKHNCzKfmxpYTLrtZnEhlIWyChLQjMkpgURWARtDYXxlpnkwYD74GSRzed5CSgHbuWWkIkYXwW8MRVYZgF0MEIyZkKTEHFhG6Jgmortz88zXxhpOOo1jcILCPr3ssFCMmg7zcaG92XrinskoqGpRf7gZpwJKkKJ1TdEZwVkLSkkm2wqfjVKoy1VPVRUKulkk1eYZlRwObDLIHea0HXrcDp3eijJD+Iya1IzKNRCopEiVV2xtMio0m0VRqdrbbqBNYbvZuleI6GBhGuEjZAqN8sGL2E3DLlm5HuqHCuGArtljco84jMoEVCHNIJkGLKDb0W90+PF9Yb3eTjgtaKDOesRZBYKIgDBjBsBe0oFO5avUjJqP29/IEziaZ+GPs/6sCuEF2ukTWFwLkW0LiqE5ez4GzGFBoyEAjMoCCUf3xNQN/4rZLNDn5XPpfo3Ng7zuHiqMsNw8BRFgjJXEgkiI/X0AmiAnv2a4IJkapIyaAl8jU4/lyPQnz1TLbX2/13ojn8h+Fr6AlEh1RdsPVk8BmIbrsm3waE9F8WHb1DK8emfgFeCirM5J+/xfERyCgKzsfO+P7eSREkIed+/WZcXp5ob6eRR1wzGu/RiM27N/2fAOnXsDvCGgiM+8HuRQOybHEJr0hTVFNiD3+IyVyPzq/H0PmEX/Odq4EOv0jJZ+1K2tBWK2vwSrad21yttXUFVkEWECoqVAjJRkUCGaO9GxZgiF4pUVkQkQgsguSIzLTGa4YfC+pE7sazMuP+RDB+jjcYMyV0YKxQWmksWCnAyjZC/XntF0OAaNnwOacz6WPo9an5fftHo2Kwd0n1jySDE2p5p7Eo2PAHrOw3JOtzSMy0/vCdO4O1VQWSCkDsBhKGBDrfiWyHcYR9zJapFC0lIrhpeRRIdv06vifPMLvFKoxMVn4+nny4ol1KDCg8guHUmfadSAZ5L0PrPUxQJ12HtqB0jdZu8ZQFB2jUGbSxXxF2aglNSMlwRUhIyZwuOnuo9KfnQidpFQOvIkISRE5oBGZhz8g59fNAiMmJT8YUJFHWkN6kU/dIyY0fqZlJpoP7S/Y6oaMM1QCxUVQqgmf6bryOERpgRgXRIxEajaAYqPo0jCsAtDDLSMyH5IGGCMyOtH/aS9v6bluqsAWlSRGSCMybXUOWKkizGKkvgFSm2rrk8MVJMoqxY63vgMIC2khogY0LMIjMjJkArXLx6jcSxoRGBHIbsmGEdqhgEyiyUU1KrERsoUUFtVZYjDIYxtDYxmVkrBRike67370jeN8m5qedbc2o2vdcqjswraoFIQWKSZZIzIWs2EtNmSnGKDCGIkXZLM0EzvUDDAmjCmSIzJJSsWGWWyIyBaRZNMVIF1RhAtKSk2xbV06MITAkDAmqWk0cqJNGYEwlpawWyllsgOpvZeaXNXS5eGEBtkVYVhjDlhWixN6qHrKsCbusg5A20dshm4kq2xsbTYUckH3blsXNaNpXdGiua5aMblua5iTGvO7xcaHl11t8WG0RjGK5xRbZwtQ2dJBcMxq06wWMxhMIIjAdGdSLt/n1mGmWEjTfDiXDB6gUaO+Qbx90NInaJcvhjYG3JDGWOMTdGoEgQHChtZWVh3apqnjlYKKmtSEpIjAljiZ0xjnpwsP8CMmvM+AhownSkDkRkFAyy/ObaHxA+dLbZJ5VJgQuaJrTw4Oshc+j4SHhBojPsjSBGMzVSazG8dttd5268mW6zTdaNMjJboxPh+WP5qSmEY6ZBmj+jpytwOPH2PP4N4d2jojJfR0IyWj0habAqgnrDcftH6p+aDRCzCKQKuIr1iRGAmr/CPcRQSVUajcvK2NSpZKizbdVRilRJkvFuktjCxrFFy1V1KxqxRttzdbZLTEUiZJRAYIwtZUHUBG4qrAJalSRBJFR/Asm4+xP4gyApyLDtRNREEUhYxEhBoH/VvO8/M9fIsBqP2QVIgQeMs47/s8Oz3eGVp6x1tFjBucvp6DRckjJg9GpUDEAqFJBVoqhGpVfx02C0YjMv5UICsTYRjF4yMyDKhwTp2Xl0OWlsgbrrq+OtxmISnM9qeLm2jjyEgEEyB4GxCg/OUgQjmskjQjJqGxJfnk0RQjJcaUaIzllQ7JbZLeddTKlm25rm14tfcW15ZenRFFsm2sNkKqOmsWK6ru2LXpq9rvXkS9dbs1c1Xya15paxq83dRRZiYUk1qTbVJmlkvb36qvcUGmkh6gAVRQR7IRGR5x0WpWPz5dRpJZiUf2lOMm4sLDbYWHSKsissFfkkZVFLhIqeczIyWKF4wgGBiOImYjJoyZZAMoWMOKsLEIF8NRFi1VeSh3Nx2SOCMlTUCBbIszUfk1MiMykEYMdTC3aD/aXYr9HvonkPBJnmlSIaKJ7F9skAdYZolx7urM8e+nYYgeFtQvLTP6H6esZKyLq1VJwRrOnf8ff0NvbtSIw9KOtUJ2HCpthWO0KmLhdue2g1g0GFFwUN+XHOuafXF6YKVBQ0+IYsCAGyi/gHyPp0RN7gauZD1ACVQ2cdO5F2AdgIeKEP0W8r7Lvxy1451dt3FJRpS0pUqsbUM2mveV2xpqs01lPUrqNoIxM0VlJFBaYFvZc3nUbjAG07OPdYMRAujVdkDsjl8OV96kSAhAwlXA0GYeuw+z52zqH2Tjqk4nSF4fkRH7PKw/Q9aM4sSYlzZtO+ndaR8mGDRDnv06pMTSZk20UIKpE4uH/meG5eYznGb02hrIYDW9WkUFhvvnGBOmtXtJEiKGQjaIFlBjGGmAI7XKgiMmIyYwNuDKkXso+owBGFDhbRBvrjQ5BWAsxHIe9d/tEE8E9D29aKwOokkkkSEmgPKAKP7I3MnI9Z5HgWt6N3RpkZev7r6uhC+vXNY5bBMYNfLZxXKvmsWQNd4VKcoLIG6YYWotNQkLYGZP9r7eRCBy3OSs23Oggc/kvQzwwZ1HSVcmzmmI/ZY4FFDUxuhk2j4+eARxrpa5CSAEP3nTEYjUp0s2YaAWa4I5MW+jbXc2wgwCMRMT/FqKTYo2YbIaMMkMkoBiKCDChCMmsRISkuVM72UoyqlD7iMlgZ/S8cdj9e02fPMcDCGbkGshnkjvQ30emWOGuNUa/+ULBMwP355XKMZ2aZ/B+zQxJM3MqAbHNiHOJc6WXtMzjqz0PYUZ2M6k+uGpk6ekT6k81QPS+xNWgHRXIyZmSh8fgGqcEBI1HiMlW2Nw8UhLY0Wwi2ItlBhakpMlmmY1qa2lqTY1oyMZTX2yuiCTRMqZaWfpaty2pmapsi0ULMrJK2UVTEsW2VVK02s0y1mW2WJLWLSiKptTMTZqs0TTVNsbW2LYEJEgkkjFIsyB1H4tKPzphE/4P1NJx3YDZLY0SETRUcCOQA9MU4fxJRCFbm2ita6nNbVFtYtdSq1zW7N4NvMjMowW/n6mvTav17wSCTghE6x6Tu6uGgJwIyUDbRsiNRCnMatyjGS6l+O0t7VV98zV+JBdkR/IvQPKK+rbQRkJFyKokGMqVFsVR3xKhCx5tBAue+9zycE+ORM0DEUhPhvOiwPTBcFHXuLtopeJIzI05giHfgU9Hgn9bp0DBQ4wAkUjMiKVFX2QA7hDQ9adCGwP4mK5HsD7SQgmJCAURemI2iIpUCov3RbkQS9qW6QCIHClT1oTxC9nO8UYtjOPQO8+HDTPTabtuDhksM2AQurOxySQ0I+CLO/yqWnBG5Sml9Qtl7QjCC6MbQLGOoua5peszMwd5vjl+qXRXAZ/gpYWBoXULXIhXA+V7e/1KpwInaBQ0jPFwyReIzLzTqGiFHAjJqdFqta1pCLnE0T3mwu70UDg8+pXN3kG5EAIaiMDNucu8sZQdWCby8Ayk7+NGSczWiMyEFKChCMmrA4n1Ddhqn73N0V4wIRWsYQ1EVgIaGEkcI2sSZ/U7sRwapVFFFi4sDWXKnc8D9XuORZ8YpR60Pv/IuoffDLSs/fqyMYUo1WhZH4Z+imvXVejUW0HjD6jLajYTT3IOEE7nS/w4yMmgb6bV5BMF3A6a6Q11/PyOjFSIzIhCXv+7Xhxzxu38n5LzaedSBIe4A5TWb8ja31hZyV3VM6frN/Rgc0CfNv10BSTVIVTQmC7IWCMVlJQUlCWxggjMgYPh8vA0x2bVqHzTevOLFeiMZZtEMqMWMexkMG8X07zMGL9nenEO2lvQk5Pf/qmDAujOJA6VQOtMaassskIgiAgkYz3QgNiOIRhuWyQjTTCp2BINUkViD417fZ9bgswuMeOAwMRdaCkHLRA2Qu6IuVQpzVBVUstwyGEtkAYICMhMKF61Q8DEMyEBAvSpSKCa1ae64t51PZLxDDUS2ZM81VpDM0CaBHb5NksSCDl+igWoWZFIrlnSXhGKDUOu1M/cUIOuOIiY3WsaOcaJEiYofXFXTBQIePIATXpjAU1UtVBY4VZOnec/amzjLxqB4dmwyMCaJI2nUskaublMJTYxYEizAwpoSMyTBuXjCMlQ8YgPWdTqnECIzLEqJEoz0KgXGm4ubaqaBBA6/qI2g85sO3ejRBIg9BAcgjwCI0oS9TbMl10u11vLt2102vLTULIlMBQkGUnFoLOIzJQeoE8VEM4np9HhS9FwTWqOY6wD7/EzUDLq5g+l29nhNfi7ujFRvenYJlr3u5q7eNvmqsVVHdSexP0Jnl2iBpssoUajXt1hswlBaEmgVppgsFdSnQH1oB2iBcM2OzbNWiodGZqIB13FOsXxHAuLRLwkUKkgCYSKybJV41yNplc7EMjJnA+bf0zO/E+RDkJJzZCmBSDdUh5soZJZWJYIzIEFkWEWE8LC44mgJS546TeXKZKQu888yMmv2HQRSOKqKpaSEHJjUzYe7XQsmKlHiziREMPeVQpBSMIoh1nQYy7taDTTOmi0wGPISTl6WjhgRNXcoOqyDCEp+chieiC4pooboyRtinGjSc63UiWa8SoGoGfX4h3NM6paB1UfiLkVu1SfnBhUfTSL6oiKuPDQ2ygNpXLlSyuRSMllsNvWk/fu7NTIyURPlSCRI+QqEoP7Ubr8luIVuJCNMR7LnclPyMm/q5yayMmwl9M+nOtngMbbAnB37pISxMmzbLrRBkLamUgNQ5WV0W3W9EkHkallH6SVjKwo07EeDPxfwwgBy+0iNjnphzvoYAu4NCO+uXFFEzuzg6ENU6VNofNRF1J0oNMQJiNWRknMMwG+U7ZNLIGAs+Q7sjekpYlP0Z07KMBGae31elWp11VTqcS997wxtzdU4iFt6ar99Wmuc5sBgzgnL20hZRgjjBLZQPnZ4Z2c1iTmqnZ2Grb/g/ayg8vX6uuIyYs4Sp1GuhAgoFZGJVU8TBYBXd1VKRRqq9ZbrqaXa8beFolIyWb0sWSwKkCJuMYBsK3A7+0oPDVTIKewiMlWYA6hF2b/TOr6IivQ7zbuofAg7v9Goy2YVqATL149mrbm8DkfmG3SxEMjfzNXV6jIOiIqSALIQiCHF46FHND3eSEhnLQvf4aJyEBuWUdDlZbpAJaUOIOcG6hqD5RTTnz89aGevademZNWwHpOkPuzibCBCL6X2+bq1zPJPIU9PdKIHgQScstqu3XrqvRmCWRLaXnbmowtiMmQtQSuJEE2xoQ0hMYhBJttLLx5KNaebW8u10vN23JlgggUGfh+XtPadyEC6Ni/zQS7+E6oYvFJNCBLCHIEK5jRRVUwCCP6gX23dn7/asRWxpDGgJitEbPpJWtOsQ2GNYwCNakTQ+jJntLX7usKbd3tvXWVjd0XC0y4XFjVGgQ+sQRgxhUyp3jRSVXNvLx2rpb4L1XdY5tWJhygNaWWzNVlCLbBlU2iyLQwY6EEWkoKES0l72TbEJhiRBTl49KE1qmLCMy9QI1hDZArKHMhy4208hLd0w6PBN5EozbI2GokQkCSNmS8AwgYcNYhf3bVoEaGww0Jb4lYDlnduJRTdpHARQu60oDHgxDJstmKYEYaS7go1bl9MBf8+c4odhxUz8TVBRzxuFjORVAoSZ7gduHbt76fb7/0Vr6b8g6f0BsHMJ9vopaWLrFHq9AuZHeNYl0lDTAJVAsAv2whf5rrRIiYaHWNRhXhOYvh5QjJZ86IUQPvqvYWjVflVt9ja8ys0llRrJWxMtGyWk1bGqU1r3oHrZIIxCioAPutstiwtklIUhURkghEPp2p3JEeH5bxj9bDnGx5XLCUXNvS2qYOHzDjtBVRWHn2Ws1ZCoe+ag6IzJTj0nRx3nWae7LLiKuZT4xr1z4lHW0fJUJ1ImQPMQwQ6HbZ70nwiMm7qPLOIVeWf9ltvVb4E22jU4VX9L8lkW0Fl5vdPhYak8FrfUzW42mEk2TZVBhBv0eUyg0P5fr68eo968fQb3fszfWhhhWAziawOagtKXqogJoSNyBxOnCcMUmL22Fxxvjje4GERZIRkybbGJ8+nIOYxYxYoz0Vm83h2Ew7smYQMyNg1gcZq0w7G5kqyMmBAKCVtzTfsedDMFtFMtEszSmoJ7T4lL3y72+rbFufE2kEhf0eOPA33tuv5Ebnajgc9O5LVdhk6RdvI41tAIkidffV8sFnP+zrn3YaaqZKHFHpn4jJtXkxiUmrZ0nd4+w8BTXrRHyPAVR9uCjSFwjJptPX2/bcPbF4wKTsMwqB496GIhlGQlXbGCKwhivMSm4udD+amxmb+IafJ7kxpnXj3pd2k6xnOmtXnkjidVlh1imtDNvYeH3MTi+qiSN8zOabu4veHOFRgvlBcYPzcJfVueHfgbOT3ITlwIcu1L9YlDr8TUPCGSGatiOcam6JEohcKKgP3QRtpRDUbn/jr01jO18BmLw65gc+S+MT0YjwluBGMYfFzCIPX5u1XLajvPPIzLFo113b023NEjIXxyWTNUS0VYUApEWEJfuKkcEHZgtHH3amfIcqPHnQwwHIW4wR7jhmyMl/ISFx/7f4F+vBbJdUFiICxR4C2qLBYsCEYRDK8soyxFRYJBIMG6xtEBOxSOCkcJgIyYCUGIQoxQbwBKIiJ8CIzLCBeDgiBCI2JcZRNRlSDjaaj5XrkXO86uroOWXM9KdA8zzXTkqSTD5P6f9nAx/BuEByTVpbOySpEeKHrBfbuT4ZpFPlu2dHRjibpo+V5c5HbRx62Bn7x82hp0abupMENtaiy5AgjynJCkyvJQjo/RQeslwEnXA1SqHIzJMaFAIB0nCN3FyPISWq2IvxDxaORr2RfFgwCGrLoyVRyDqRv7UOsD5cTUrLHb6fhtCQBCX9FhoaOwSBmaGzkTe8J6ZTSMVIzIpjOjpVGkiNycyorQQSTbRG4CIc13blurrNU0qym207dtXUmw2tsy2q6rY0VymXi5eXdpW82rfNLKLIzJsttZW2kFAgd9mwbA91U8PAohiB9PL3JStNehSgpjWZukyt1MjhwKwtgJHLX3ULCMySbY9d8BgZSbDwzqfJpPkzcQbXX5XY6kSRDjwvOGGcRP5UcM3AZMBgEidzjMS6eDiTYOQJzEvtYC6nSMy0a6/uqK0+0DkdGVgtaiRoZwk1DIHRhGjVhwHnyHc7BqzqYkUshZSgxjT5DXHfQe7+nwD1Cd0EBziBlseHRbeTbmUZG3QTK/ahuG4NnXwe83C5MrJA9oMQOB65v91dht1j4CgwBUnkXNoPpb+j1IWMi7HgdHq1hbx1yvhz9Dg8PACOqiBEvblqNBrB1rVb2LdYK9Vjf64yECSYjBWYaAeUqb7VCk/LOukmuTALjerXVkjJcMfomsUmyMG0Y39KfOAiGcgKM163/b/u/8r/Z/b8m/hYBan8yEoUsTnVGuc2ohzYMpGUWLBIwUlA9sE+HbSWqQoTao6Zaqurd0jMhpKQojAtbYmF4yCpD8DWXtAWiQqwZ1Zaaz892PWoXCFeSNt6DYjJdSCg9CfAa07FuAcSmG9RcDxBdfHDxO8NreFOjqHifSdDEyLEHOcDvQLQcalFSqqh5fe7D43jgjaWnRuHQUDV0sDqID8Pin/JtwweMeAfbc3hIDGB3HZT+f6+s72VSSSXizZC2ZYO2JDok+vbrq9nBi3yvwqDkaN4uE1syM3VBpgdd8mBEL3hh6BTG+rIyV7QmhVe2BtVzAh08njZptATYvbaG8fxYjCIw7w74M7l6dLbb69MZRMaWGSsYpGF+Wo7GWAoz4hRM4dJIYXd9B+lqAvxwzWG7f5A/c0ntyydlCiSRYDxdRlwdkp/fWCwpurMY31xNW+9BvMzkomYXhIaOOEiZRJ9+ajuLwjKIRw0/jWzVo8d6ldCxlHH8z7saQzpsSwjcg5MgxzG+7mp5iIqp3PYMxZumJBhJhshrC3Euguxh7aNQGBYw7KfXvCHlubqYoHPl3WdIY9kZGOZrvj38wewTZ8V6ICr+G8rn9Wx8deXmAYg/UQYRhFXqiqFSQhDDxJwDB38FMlQC+fVruOATogASFDzrVc2un1ti8bRasbVG1rFajaLRVtjRtkxqkrRWSxtY2tXi2tzbG2uYVNbDKFyOs1GY8e77Lcr3K6KjSXIhLUlIxEBpkSD+fQtGEmQqF4HYEFbYoPh07Tgdjbfdv24ZxE3EBBuWcHaeksUF07Kt7DJEMMQUmtWejUrcPoccbTIyWZ/bRxvwhbOv656/S4QfRTHvAOumroeIZDfx2owm2yWamC5eeBvDdDtdSIOjmGPOTuKE/d5h9DxENJsO2Nfp9YAkUJGGo8lfLbmHkghtO0EJEQu5A7GDD0CMnqO+6L2e3UfUHtyHP5WI0mHX6CBtJsfydmwiEG5gdt97nMTgtkA7JB+ZwDjl356KXwJDyETqHpoeytx6NBJxUhBuZl1rl6Y0mI+OrezBtJstCapqlbNKLf8m1666YJQmDZ1JESuHQDyNx4KBY7TJK0dCZF/OkQqJsglYGq/XJVVJQeDlHvkj391XrwZxu5l6RM86Uo1VKSbJMpLZ3IB+SWyFprBA4MMSWUoZXF8xjruEGhARiupzJGwhAjJRP+dEgrQUbCthrCgzEjc+Omtxzq98wLpCbIBE6oMcBkZxDeGJGSCGzKqQTRVaoVAcdmff8fa77GU+Zz3/DqfvsY5rwMMSMmYmkQIDjYSOQkWC5BtsGLEZCapCKE9aelezOMF8sXccVbLcjn7j22V2VMksjuLDlfE1MbC1SwjlREwlkhSI5jnFFjRk4UYxzLDhLlTI26Tmnnxj8vma0evXZStAcCXxX6aC7Jb0UYD1AkgwQpglqoIx0WKA6Z/m09C6qDf5OoBPJ2gOdUJtAExeB4cpt4cjEjMieo9iMm0Nnq2F1OXmdTpkenMv8ZUuvUlsl1QqsZrpRqga51vRLVIUyFMlVQosEjJYfcmwa0FJsllegGhlxrJ77j37rrupsj1N2RTxXlaeddvJu3luutnW6ZVu67SkbUzM2ioaLRrruo16ap5XefcPePEG6Cyhm8MDGwG5IDFmhUrERiRBwlGAyNEsmc0NyUU1BBBiGRxuDNW0Tj1RUYhwdGtGVMFRhEiSMljkiiY1piJWg+6kGkNCMmpnaRs37twQsnmmfolsERB/HeApFOzJKxrVma6Vc3zzcyLNkq0lXOkkZ5u7SZUhQFIIVxuxuI4GStqMWgohGLByMyIiaG26QgM1BFIzJNaiK0Jpg02xrLKxAmhlmNUowxotaCCGk1MpGgFQalbKVmhlMbGNUkkWU2mxks2zMkyNbKWl67t5dtyad3Lm3JizddctuaduvaXNebzvImihUtQyNy3zeu9nszYZIMYCtmFLKXSppLzJcUWQYIFWGrgeAjJoarN0wGkxqsHhNmrVoQNI0RQYDddjxPT1ZjGNutQ27p2TDWoq02NxoajRwmGBr6aq1jCRYLbyMaHuK2iT5ceDSee6o4ybTYoEDcCbkaNNcMwxQybSMm9MA01TGm44NPri8vVvN2rFUEhWvW10ohYiw1qkIwESGrIzIRyFjhpzZmWS1WLbecXVUVZKaEYlIuWQtBQMsYMRazYZIlYkHa4aMhkBKQoGbMArSMQpFYrDQ1hVXJaYtwrIisKNpMQx5G4wLaWMkSZjZaSVlaEPRBFaCkjxkTmtsYxsSbsiGNDGZjtqYwzfsy5xwiMI1jeGIZW7MpG7Gy4ZmQY1OIHGbVIybdjrjylalhCYmgrEYOZcG89lrY2tSGSL52R6Z9lgaZJsKEGjo8PRxKPewibs29KZDwgc8qZrdTVI/zOa297zxYHemHs2tJY1jDx8pjFk8qEfaLsNOJ8rEskeGrNza2jBxwtnWkaXDANWNNIuG0g1mMW2Y3t6qgxKps8MBSwDAoQ95Lsx7is3QzMYLiBxtDfsPQzLM/wNGEpzcjJjDhLoGNhG5kx9F70AMep/N7IyY1kTu9jHDEJZcDsn3nlYX5GLnmZfc9vDx9uOlpONHGIyaLGqMxtvJywruQr6MVkMewhZowzzKBbaZMDhhiISZtklxVLTTWtLqPVN8cZqE0lOJxrJDQkw65yqyEWjZtYaVWrhFVHLYqUL4LU0cb6CMmjODjaN8Im7b7fh7JyzQb+D4BVoRqIzKglSD+zIkBicQl2gaYdRpaYmweok5UrcLGUGZVW7YxvyE3NxfJKPvp5ww0hTSEHJSiKgYjJcaLSiIEIKDEhpe681G0VdNWbeXbympXrVSoViBgpRsEEbKLIWAwiS4Iiqlim7TomEohJLiU3/cwDoEdOB09R8Q8WfZwQTiQDn5ZPn+O7tiUODo1T+LgTT8tKffeqD29UWrDhH2YsQ/dMpo/KRoo0EjrB7/lNMaJk17a7t1ij2Nfa0oybP6mlYjIIhPd4FNpUipTRaQu6jKqPxd+yjsXrFc9k0PDWjFIzPY2m3nt3dTJSyN7e7pOw5cfm5Xm6avA96eb1c1k1cbLnVkUshpl4wiXeDCk8uuh6aHfttWxmlt+x7N3W4ozEQkkOW5mZtydRs3lRXXPHkbcJMIxs4zuOK9wtOhwzYydbvCN8zV44G1FgVDFhBDzKdPuERA7sZVNpYTZEkXVcluVnQ4jJqtr1iMjMolXHaIhmUMjMtt4NxYTDxPCkAEBKY8X0GWNMmFH8BydESQyY/A3C4ODzHlN409z93RnZ15JuN9yIV5cMFwHrmoSSxTwvvg3DxZQ84KepNKbsqImWgEbbLIQSG5p+fOJDwuuKu3MiC1xUhcjJaFpI5ME+ftzNXAUSLKScyMlnqtLfFOGVoJpeWOI7MjUfD/IEfmD0hET0/SY82XHzQ4j5gaoI3hIJIrJCAEB1B70GSMlVmCMKI2FoS6hZLAH1wJARNTZEj8qRALCO6JkIKDfIyZHVKORsikbSGh2qjojMrk2N423Za3C1ulqktXeOixVjV51y6au1tzbu3Mhy6vG1FPDNJYtI1IxUqbc47qu7qsWpNs1Sviqrxa8ZNrSbpVu26883jFYottrQgskwQ80toSUIemhpfkxbQsRzGwjkikvuxTme/CayLaSRWkjJdCEyqDFFCokYSMyEaYqsEtYQJ5yRGELq3ApCCC742WGglAUZCDV4hOa12vba8maJbK9LUYCBcLoh8HlvplDWKyFIFCVJBCrXs1qIqNVKU1SL+o6qKbKLWKzEzSlRrFUVGzMVGxqLUWxtZlYNGjGmapNksyiZkzVNGI2pmSpAbGts1ecgUSPGpAjMhhJBDce/pwjMh88jIPj8kgiZEz562teeoNJtUbQgEJIkiJZfgc9l/zT83hft8nm8VvV/R67lz+vxos5vqLD1yMmzdHPK6u75MMMNEOV/lR2HeEDa0sVrfkamm1pKZWjfgc30b1dQs0aq/HNb8Ctbha14tdP3+rqC0aZ5uuitO7t0td2kpatyKjbbRpKo1u6u0pWtK1leu3ZrNRRiqu2i00fZZ/3SGY7cU4IxJjIQ+oo8JJPIKAEwmRA3EMoI3SDGSRVCMDcaFkESbyccyQlqqApIEE2GKSjpKoWENp18uAW1JQjiiMmpXOYhoC7YpAEQhqYDy8aldpcwxThJYjs+8PkFT64lPvHW+XFr0TYB4eOCxrkwezDPlXZRTAs3CrVlCGVEWE+zNNgEPvPARgbNh51Uf0M4azNuMG9qmZjMbn3WWDjYxjK7mSaahMEGMBTCQsGbU03RwSaYZkjzh3Jt9HaZTiUtrvGIybCUjz9O849vr566DGNrr0laOoTGrYxNGuTx6zgOXue/JYcd+AqndYQoEGtkOZPuK6S7Gy+LveN40YHhNCm7MmbDnDjIybyOZhBc9uTa03D4sITLWgetc8ZyaM4dSy22jtdEtFSOamWF4TuMGDhgylkw0xLu9nueCaLBV/lk7aFYxIsnkTowFJ0hg69cdu5WQ+rsN15XA6oIzIm1TZnGy2fxY2n7fGh/hWPDBUDkxVi30cjJoqZwrSqkjIHehvdCd5pRR5IfQQuPrDQMxThBPjERhFYQQWQEkQEtvlS+tWrpqTGk1/l5v45t7+ulXKCLYmcBGxCXlBIrCKoyIJIoVABLBRbb42xgCVs671crT8BeAb8d3Ki4z50gSAoGGIgWv0Wb/AqAbyHwhi/k4xJDAiyBQkiJIMjMioOaUjBFkYxQKIIWiWIILwmINgjgjREaIOIXypZBwSNVTgLhg9MyMCfkGAuAkXMBbgI7ZCAIzLGEIyY2TatXNNYvj7ZKrzuq4iZSrQjMoIoosglMLLKKZO7FOEqxgWSRjIRBiMlk4CBnONLwWjgzG1jbIzKIFpmIya0Eto2zVqUoMdQlqwjMoJm6LmUqQliiwEMRCwokQSqiFCoUKxWMWA0vAZUcsAiwujbIs3PuoCkvWABGBS4LKgbGIBeuYesPz3riaMgoTg0xiIIKDD1ksqSAZ5P7uLr5SoXnN4jJXCj3aHlSXXwPjcv1pTk2M5mYxR6TvDZa0mM89OpYuyNmDccbHC+BSMmyCGtMmTKthQ5xxn7+mOcsB3PTuV5VW2vrmtVRttX4LwmASQgIybEOoC4iOJASIpu/R1h36Z/WfAhA5hVD6R/NRnajI/DT/H9QeELZF4JqgfZDOFz8o164hxOFD9P9yMlIKIvI5zP62BpvRVIhVKDaqspCxYY88KjscrzGahhHrcjJRm0LjnQzg+ctCongWDxaHwdTqIpGgujQsojJaD7ijMgYoyM7IAMVFm2+9nR9QVRNBwkudu+cb3ROl1kBfZFNMhuIzIBvaERMSrDTTYz5DimmiAQTb1hsTOZ5XCXvh1uGD6MtCHFKYY0JiGtUVW8MGkoNrOCigGxdEWLFiMm5YtFLEBkkVVpYi86pGEDNIBhMLm2DBYPH86ol4v3hFXXBwxC8p4nWdxGrs0gEsC3gsgqqCrdD3kT1Dpe6AdBpyyHUZ2TOvVe9XhJE4x6jh3vPDbk09TVBvT4n7YB8dtQCHn4QweAgqlVTRTAIzKUUaq7tZbq7sZq+9rrNau8IyUSz/Vd76ShIzKLUEMjtTGfH+Cz4XHejXzvScSruq46tsJlZ2Vrsi/YFyyE6H7uJPkxZFkEMaRu7iMmXVGRly1cNKOu7xeQ2JTm5l5uKzZZEpJqE2UtR423Wm2TaKSk2MHjcNBhLm3K5tuZw7pvN5duOuu2Y50Lld3bpFcvFvHk2xymy3k8lurl3NZljQ7d5aptqJHnbbXNy101WS2jUpY2nW5TZmk2TWed3RunNXdmdNckUqd26DlXWXOs1Fo0ctUWutNtyja0v8yhFdzYBS6IB609UAuGzCbASIK9e307waBxA9gdZ6YDYh4wHCMldqP+rtDuheACwYjUIQECQSlQTsYiWFsREF4faCeCgpvTnmoeH7ZwntBU6xwQQbA+ZSDcEO6BIpBYgHHN9Me3vhPUFed9hs9tr4mlaAfCJfYIejPuFJ+ahCMyD8vduT9HYczadR7ELAi7gBkRjGSQk1ajKZml8+vVzW1b7FWuRaSqCz/tLln+iAKxgCZzp9vGwiMyYgQljWyasVq0KWhlW96avcYfI+bMcCoLD4gEEhtSVBYsRCm3bnWpx13dSysWMN3bXqWKwoxr3VVNjTSBoZ7ghq7kJYcSKWgTt+ZRCBsJhgSklCDdEmoxRjHrumTJM0GxF7rVr5+t1zavf1a16ro8q9s9KNJESFGvF6a1Xki2rddrdtNnzNvIHIlFBJUCVGIIpCICTSgwG50z+PcuYmQUp8RFKzryhRP7OB6wyvxsUiiYw0AMjGKwGjB7z+P+Kaj11gNQG4Q5hqTOLvFVV64gsgEVSAhBizWs02qVRW0qzZab7lXsqtuXzLiOh1EBIyVzEdFWIwgEUIRpaZM1Rq2oWtRV979q/JlXSBuAQZyPw7NIIzIjMgjARIMYsWERT+kUJGIkkAjEViELlwxuESMl/wg6Zmu1M7KOM1xdiHpgpIUZxB12KFNAD/UPxO4jJmNSSTYGoo9Pu5X1A63mbefn2+/bu/XdE+S/eyME96EDIIFT8SXvfn7q/RflhkCbl1sgGsDF0a4jMs1+hORcFWIgwbIkDOJNAk7Wc8wjJgapCfdaLqwjJjS6vkY2IkikJJODbIpDxpx0OTfToLk8BD91B+8bC/EId5PI8U0nU8wC0lSeOC7D+DTT4IXaNAUpIYYMAZVVJhtKloohpUTjwgRIkTagkbkjJWwoVGLRSjAi5c4DCWQIiA/wbSwoZCmBQiIFIGjbJFJnSoSxbZmQlRCESSjWIyZjMZit2ygxobeY7ly0LhLRYSLb2sAtBTCBSAiSk0IyBC0ISWMIoOZUkb8nZsUkktogipknEViCq9ziT2+14od2dlVYOA/YGk0EQFMBJDVAIoGjJqcBwXpiBAemZZJXr9QrUGjTWCw0ajbBWJNgjbFlMKsEFovUwWghAliSVqxWo2ti1a3q21y6m5RQNHUED9GSaRB0NRsyTPIE5KuspN27cGwLhBjR+ehH9KbuZUSQIa7B5yMyQ8Sr5dydJ+YtlpRu3BgUkhQgOPpcCwtCrlUBFolIQFI4GqFujdLWNPH0U7GH1A7Af9cjJh90UB4kjGEkIyajEE6F19/6VuubZ3VUqW2s0t05d1XIRU6AiKfjEEygshIkDpJEjEgUXElLFSoIFmDZGoLVMhFOcCzrYkYitDCM0UW50rwnrgbgzTyh3zOZAWKfIp/wFETa8ecPs/cl7rCZo2sg5SlYmLaIQJpS6TjP5YaDXxlXztbXBFDkcZ847IY0YIGRwI0xggaI2m03WRNt5CWTJMcFCEkjTCusx4MjxqZjbdkhFSukHf3wrF/pyG2aWgIq0M5O/ZyNR8O8GzhGqhVl4VW1Qt0uzBa/pOJ2yds6UTffbMJ4BtA9YMgn0CJ3njrbw2mh2B9EHTBUE/yaA/XHYjdXwlRE2z9VUGkQHYct4KJuQZH9ERZEQAkjMkigJPVQ0xFVj65UiAiegJJKYQPAEpnmCFD5O0j2mDapYdb98AcW+0E4BLG0Pr7/5ZwwbNW3rQ/t3fekyOx6tfzqUk0YNIWCpmjT9OE+MRWE2tnxgg5qIzJqPkqKag/aF+rs7lH2v59PBuyzH0K/X9axToutSiMy/cMlAirHRfHqr0Ov97RTGt7hLKy7ei6Y7mGDX1oSEDOUI02frV6MMHAMtIaJUEVHgLbFEMoM2UG5v+LRqTKXyFqNW3uswuImNtOSFujVQjcjJlkPtZzEOPPmVRuOuc3RjLSeqXG7ru0uQh8UNGtkjNKD9ONJPTicd6AaXEoM4q4jJvSDUCMlMZhZMaNGREtIW+ean5d6d4CG437mxRO3HKIfd962uepR+oJoBiYitCMyYoPehnd9PT1GvK/dGnhtgv7qVweSiRz5vO/aK8Zx1itsY9cb2nLcwtFUYPlJMIw+7sjhVU5scykS9kVDvNOQhH8H2t2t6/lHyTFMfYRZZ2rbhK2hC3uOcj2ND1L/NNb8+2Ww3o0yAwUGAjBIsUGCFdDGEafTIWQkcurRsjxjGMZHA8ndAgSK3ZiF2YblOC+V0vIuITFVhiMVNB2PpndwyLJzSDsz65fTJrc9+yHSRm73h2JHRCUEXJtGc41EZbAmZrRSi5iD1nlp2s6U80vX+D1pPNgYBbyV7zqVxLBjwj1JN0bwPswfR2a0Eoz72TtyLV7eHGfXbYKcoGjeBpmum8b+PWV1IHng271gRhN2l5ZRj2/OomrwkaggjBEaWl1ZgdEk91Ib3b65DD0Gg0lKcUxCC39I0iDZjOEjJp5qE68Jinpu/8cFNZI7zk9r8DtVwdNY5IjluGMjMtEIhilygMkl1sWU9TYsRCWF1YsxHaRQFFiIkdmI3hNI6BvBW966WUFV6XvEfRR3vL2kwVYvT+HiIyXhuZHdw8A9vj5eXGcjJSdf2kN3QmZtkLlnBA8yuPrzb5F+I13HQnYR8DYmaGyAe3mIgNHYYlesQkRgXyMm5pMjJnqCZDIRofIO2f73hwUb22C0isGPrnUqMDaPE7KncrUbglRKjCLeBUkBDMdhyKOnly7cRNgmcGxkTFbVk4Xd20RChKH/nUfCqdD6MPB1YKzNUI+KB/EzXyMy1GVVWpVVWbXy9daTNBofcMhSB9G2LhhApWCyEsSIySIlMCmsFRk8KVNWrS8ZvR6WrvFlfu8yE9k99ZO/ExuzIzKWg1rSvmVlyvHGdVnD0Vu8Q4J1CIX97t4qlhMOvAcJjy48fNqk7aTXdHIttdjQDJO1VKnYveNcdPKOLMDIgHFbCHESn429WNhCozkMA84iKEIqN4AjMl7UJInWXaBoKsUxEITZct+ev0zOsN45Hzdy0z1zVZLhAlAjlzn1xdmsXo1OgTtwZ6vG70dCjkOpSM+fvDXNY0qoyoQ7GE5357dw6JwVUJmTgduet4Ql0/cqsyYwWyOnt2NaRk8MNFUoWmp5QrFgL3reA9h6tEmKKkkmp7d3hwvrSHDhrukI9P0jJYA2ZYaxBlKKTe4jJihCBGYL3Zc4RAn230A19uDB0nM5mXr/l9/5aBWJsqfSUBDeHB+QXYMSCSL8yK3gASSCh3Kd6Q+SPUF/hD5gb+K2y3rfbNWrRajSa2NNs6d24vV1TYqfLf0YKkeuu4/NXmeaZDMzdQEU4KG3rODGPIPeOwh14+h7k7JdFfmeZuYagtwDwiZFunMtvSMlR0PSdPQLjoR3/LeHVtP4zUFj3ziY7Q7QOPi4igHfZW2k0yACrMJWxl3c0dsSZDkyaMWfYmiCIryKBRYb0NobU8lZAmXVQoc15USQkkg6Y/KvfwhXHlyOBxhM+zoBEPXyo8tp0KLyo9dk1enl0W42tKPs6DsnI6Mqz+sWcYDrVcbZ8LY7ARTEVUhAIRO2IyUQBiFIxHMO/iarNTY8LbGAns3OOok1HUIDoFfzOyMmxo7g7EEbDyloVpMYxSEgOIOVzi1r6ef8L+j3syspIvbT+SMyY0XpEgJSNgEH9TK1XzY2Bkch923Z4BkjMiMl0qVUgOkiRCMlsoah4g7403nupDBB8uqId4xOj/IbjGs2WxYIUDunEI8kl+MeyCipmfqoaZ2ktQZtvdT+o4o0pMiM9CpUon/JNsaGolThAYibmHeBVktHui03C+zihw+l4uyt8ztoXshfZCMl9wZCCEMGdyZvkPoyWnEBFI/4cmpoFqIsXMGIIzJErml/7+m8HZITenY++7dLnOjY2oqs7PAuFSAcfOKTpoHTARoMWJCJOhaJNWkYyrthT5cJXoGNAmuCIkEM/G/4P1d53Qahz0Bt3aBVgkflkOR74n9Gfjf2+cL0VRVSA/2OFViqY5FykkcyJfXl1iUx3J7d+wd0ucJcuNNCEwdOnBAL1nm0eCQzyn3dLkmHCD9MM9y3+2B2KEkg7ORot9FUIyafnR07lnyXTJj7+q0713aJqVNSJnQhxy7rh476MlAUjpQpWu1lta1MUGzph+qoSMY2fqy6JJ1nDyMm2X5XjSMyjIPoSyYzpXrO3LMflWEZLUKlRJYlRkpXKu6f22u1UmjWIttls1mmqabRLSVqmo2qbPs+n5/Jdz0VqSSIEAxuQ5LmsXLusafHqPqgy1VJRT8S0zlUajYq/e/f+fevUn735PDzIQNozKM2SI0ZgLNFBNNolE1EUmISY0SjERpTZGTYmhSEmzZNhQkZgJ9i7Nc8MbEBPnF0i8ySR8yHri+uOvnRr9N15H5xSkk2bdsyg3MYw2Gg0TJgyyQYYceRhGkvm3jd0tnpoJZATEAjJrQHohqu4t+yrmOX0PyMc3oUwjrwaaeT+04c+glb33/I3YFQFe2pFI1KrNRRzUYMS7ash6cnNV4vIihQhhlCVsyGB6GJjbbvnEzG9LhflhsBbXTSaqpyEPm6opPTcn1BjsJkmQe3YaxtMzoy200mrqtYsTT0rEDLMunFzI21ScZV9mge8+PfwahyqUMqFIhAiPV/3hMo/JThylUlQOJJt8E1tYHPGqSRfthAyZf+t/hzvnUfbOHzIVBqTTfNoAjCfsRAkDRay2JVMZKeXgzObc6q9WbpsLeE1FaIZZm9AiMywHkE0RkBsAjE5CMU3K27XdLm6u1dI72vO8htZEJKUaM2gjMUF4vEKMFqmFIrDGQOwGhGMBBmoBGC0wxiRPBoiSBmKGDEQqIfIzKNuoRxqlWSJKNefr701sGrRtGpNaZV4q4SAVCiFQZVIyZEBWkvnKh4Xws0MO1mVGWmIvudQKYRAitLhiCJPZyYhjNMbDTlTjbJG5E+7UTUysuGKQnqXM00Rf46YV+1+4vU4Wd4PIRlxNi4gXlmA3iYS4CFCSo5EM8g5o86kv4nGc4htHSEbeRbaDUbaJW3khGB0IjxbOzWzSbQ82VLGC9GuDg2VFs3HEIjQm0itAGJoQndNvQU1IGmSxzmRCHjvNt3LKLrt4tfWPXdyJEo6ee1RsGkZhaJJpQjCBEe8kKwXLqKc0VBMNpscciaiSxlltqabU04mmYx4iCM1NMbGsTcJIlBpqwjMsqGxPQ3JSKDVUTrlVadKS5R2YRtldbawSAUNsIq4tCdYUSrqkUbkEKhXCstoxp1tDZWmylDZUbzCUow1IY6NxRKGoGDYMSwh0ss0Dezo8sc3ceA3j2O73S7B6irm6q5JdrUEiaBIyYqQSFAgelcy1omJTW03RPo4hEoSKHy/ZjKoEkIaMOKN45uIybEh2LnKUrSK07I1WgyyBIVkkdhkCUZlWNRqA7wY+mYY1p6WEkF2+PKpx1GgrUYPn3WsxZEuRkEMYNrqxWxJ8HWFrgOuIeiBvRDTVNMjpZiyKRg40bUWTxuDNMcIQZs3hjJIu8mtSUG4MchSo425iWkDBPCjThH0yDSrxNLxUYjMkdwlRxgViQDuHVGEZg3ynBiwJatJxqjA0MiGlRboXNEUBkV2Og1EKFETQZKzVJKYdImNaMIZjE0SUAxMX7PrRB7bDnkWMy7C0F1sakY1GtKtAIpCxiwWmBvVGcVaBSUyxKVzrQTIkwrIoYbIyMmM5sJBVihhIEaIxNNGWJBWhMkSasVYKppORBBiiMmIxo3uCDvoqgP6pp4uC2KvlIDNvDENvmTTg8EciQwTYqmggmhUgiJtDSx2OWbxSjbemKC6Q+LRjbNAbCUHN2ukQYjpRm5U3jSH2oYt2lFLxgmNPZBNggcEFJDCMkMVBRSKCIauPcyisj08rcGt0nQwJkFHxJ5yNbaIyZeAqJXzPQw2s5UYmyXfIRfJQmSt2aSAhakMLUsOzUz4+lFBodKwGN6xqIqpCeqUSMmo9MGqW1Xn3SM3MamVigRastgjaZETTGeLVIMcAbF4OnbcRg0bBFUSREktEI2JpnUwpoiIJGktBsUIFEGJcwGMEKFIyagokLElRQRRkVJgyMlaRsTFBovaSyl4pIhkAOFpo/MmpIoUj+feHr5g2MkbI02iVyONtSRVj/pspBo1Rk1d66ulv4OuJ6uR3U7krHfK+Fvmr720lBtqLbYoWqLFIxYMIwiDrVqoIWUQ/OPYBSn8A4Xf6DGQrkjJjqU0rw/TuwY5gFRBYAiUHuzgHfIBY7MCLqP35Yt9t6qKPuxTDO9D8KKOH5lqtTAQ5E9qpICJCMlREkBCJGIxUo0IyUdwRQuW16XsnJWH2U1IzJA6npXuBhNCc3XT7bOMDDSoLBXAyFQiyffOkSvvZLOeXmKMEuUONGHeAaaSCh7iOyskHCj/oaWZI3ou7tiMbGt1dXS1t7a66UbkiMm0GhAz1UhRoaKoNhlMbQ6CCOKKtQdKKYGtVKmzFlMZAfBhD9allyAdiQjMiMmTc13ZhywYjDZvG4ODpxgxhmjaqIGz0X7/iMmYRGwsNgPOZtqbjjIpMNi3W/XUPCdeq3r2blW52BIs6KTAbfF57LWnk4EWQSs2eJqsR9wdEkSAb/Q3ZBu4g97ayXvUjt0xfSMRwE+Lacji+zV36JXpQEraPpUIyZ/X/DEVJAnVtJEmTtflnsMFJxMS5a5REzhICdYxu5OhJWfA7kHeJqTEaO38Ora9uh3Re+9iwWL1QxJcouVezelpDXabZvprrOip8urX1gfwnyKY3QM9fVd/Qj9Dqy7RQOG+j+D4PpdjBAMuzSSTu197svOqwLOVrdGzon9TFk+8l9ddLb8ukc6ELF4YERycVfurTGKH7T2CDERCVDhmj2mSB3KkqKoVCKBXd9SdYmTno+4672m1O+QyRTpikydrQ9qHnC+IQ9UkiHCwD4PjN7KeHoUPVAEqIpuYu6tWs11ltsdBQgTv5/MsD34lU687a5GKEHeFosDiTacjNhYaUfG0vYxSjWQL91tfnWr1r33i842SNjD55Frn4MqqNIq+dzrGsi1VWWQBkTcQ0+eJhBZlIauaopDDAl20yI/SVjaarmo3sNpwQl3O+MsnQykEZBQ7jEbbf9UcDHZGHeCIrCDK0lBjXdtxWSii145tZLaLeNW7EtyK1crFUaxo5ubXTa26ashrGxtdNtc1k1y5ra5s7vZuRo2ybUEa0BSWkaoIoB+8ZLcMMobnayy7sN4bMbLAnlENUV9wZ5QXeUZmvjprvhmYlZh5pt9QeJkheyO4i2M6RupIhEDdBFR70FbN6B9T/HhciIF2kjB3dm7fVdH583wNVBxd9VAX5xehQfY0o/BUc/uRD+IigdAOaawPdP5qSWPgphHQImTugSDGASYWj7fLLuNEY0hRNDESNpKElSUlEIpKKqhO3uLhXjSiWl1SAxigd6DYDI1oIYYIzKkirIoIzImrbqtEra6TYLStfe+e29CXbgQUKDIS7e70FRd0SAivKCEso0mskaKqpKtjV/RvtPkiCFg0FB1B00I/9ojJZ6QBNf54h5e2I919hDVjJo0C+keNI2kH1QiBo3jjqei9rSg6uChziEpeIAjJTojJXbkzL7jtBQ/6YJIMCICd3mbUrJuhyOWIzL51IHKh5Hr1BmwDtgIHKBIIyImUCnxFDrav8KymqZmySSlDBYxaWSMtGk2LNDakorFjZSkpJTJtGhTbWitRtrFbUWtS0rTNU1GplTWsWxtJtRqa3n5b18a3W5IIMY261mQK2QRGhuPGkRsrkSJ9WFLgMbTG2wjyhlIRkbjSjg4Y4N4xRO5BpKgRuwjJjAuNR5QEggVpEBkkBR4wxjpCYlXIzKKxNobIxjIixKSJjJLWEiChVAo2DowWmGkw0IiUaCEBKm6bW6ytptVyrapNtVJFrqMCSMyL5IoSIo1AoYwYBPr/g4oYhJGvhEitgMrEyDaUGgakg+7MXDtT8yu16W6vXdmteNV1EQirEhBbGKtBCNodYHC6Am2BLoL3WN2cIhGfGz+YdOySJ2VPPpbfb247qys9eiilUUr1A+whAVJGEgewL24f07GyITaLPgndfcOLhQFMKaO2z9TdYWPu6w0NASn32y8Iyb34o0tyJMY2GUdHuUSxDAjQPCNvw4wIzKBSBDVOD8vHvrLusx7Gp1xS4QhkYKDEvqsUYECaqpHCP6sBR9IdkPOB6SQ7oiKgo3TIzIYUrVveXbpXW8suypszKF+8u9a1c1FtYtFbapyq4Xqt23kreXumYWd4aJNn9af4KySzBU9MVSaPe4bZlICoUlfV/j02rOILs4Z2YrZnxutENLXgJC31H3f8Yo/PFZRKnLs2ZfaX/ox9orpjBxzcz2ibp2BmoJS+ivd8LM9WiNJUvIRXUKEvCmrNFVKYG+Ub5rKWnfs7YnkgoW+/43O/fD4SHdlrI5u47S8Q8PzIyYCmR77S64nwsnO5Snnf1W5tfRCEd8GPiddENvs43XEdD8tl7+yKd+C99wHVB6jpsp2MH1zL+nKxwnDgHAgPxgEQJpGZ0pYTXEuph46KVDk88VRPn5u0aTYuCMm0VT+C27M9IqpeKRCAdU/qjvxTSiwAuznz48LGbDB0xTceyOtWYMVUs29S+Do4641tuwBBacjJuXc7Zoz11j0zKrUrmE+SuOH8VXTAzP4TCwz8HFzgFpZTMSSOJxuXbSntp7ZAnW2z8x7fYbzXVzvO7ZpbonDxxRAJDkMyFPEqgiZahCR7VW19JII7QnNTPX0e5a1w3DUISY7+VSbgl0yEPxkIEFnlht93cXRAeiYfd58/bMpM1/meyrsGScRgkTs9NaWycGKWKWVCSHuuimk5CQmyQJsyLg40E5JCXgerXj/sjz5YlHKbimq3JXU8HbXCZ1Hs3J2WaPYIXMumBo+bkeFUbYOMvrwAtiZpBQMNrCE12XKwKmw7yHbooLyXA6cOi4PfUptdiLazEovXC1cTAwhJGGMXGaXjmkgwtWcyjVxrtlJGKRKhUUwIUESuCwa403AdFZCWseEEw8LabDaR79He7xIwoc6CKxfgpFzc3L7IMtnrHBco7jmPdXXp0zjd0kIpNRMvnxpgcIa4qN65kpjoSeyH2s4A1kDwocG4NDKCGYrZfHw4zweKzxLm2tpyJlNxXNSuPlvtp4bbFs1jJhJB0TMxG2/EDVxw14emt9JjYr193XqGGJtyuSzrOjhukqcWZswI1moSSSQ7ui+AT5nmdyqrNvOgQsT33tRYdAixyMmG+gWBiXEGO8cm1MxTE6Gy3Y23N9C0bOOJeVm2Y1inapsQwYitHE4lZZiiB8o2bvhmDbGAWnHEP0eFE68M8W0Zisy9LMM2qffK13kNFK7d1tBtJ2baeOHM87/8f0rdD7Yl9643O0JySXkknl4zNNG8cUSbafEvSV9s1HfGIkQ6XXu4zqQ5ZDOtrSc4ovfdFaxmA8RbZEyRUY3NlM816iKVPeM14Row8mD1IRFelaOj4TGuy2lsr8+Z7vOfTMV177Steoporpbm0XBi8cSV26xs77ZTOudfpOCh1pzxl5HdxP7Oz+no92sx16vQu9q5h3t/MZocXjA3Mx52ZxnbjfXhe3g88med51nXXRwdMs+2ZrTx5wRLu8957Yd0qRtEa6vKqrrenvbGeU6yuONno3MIybUsM1xekO/BzUwmxu9y76/vBoR5pu6800mXwmD1nG1fi8pQ2totGClgkLDEGhAug/U5o5NIyZa469QmMsgK5vQExQQREiL2M8XxxuUcdljCEHGyWMbdacUdjOEyMadMqTT3cWfIZnXc1zsLwwUNqML1nI2nkR1HMMZNspjoU3qLKbnZ5U7sP4ckeLVTQyOXKFEoaW9ZfGuhe/CBJmS11JcDLvVMk6ecc7aMYZvNx88qjZnxxiT5jZpIM417k/KHyagpqBRAbaKC7IVC7xCXDhiw3LtIyWMtXTkl4QxA3miOrTY6NmM4NnI4RSDuM/deBBcY8cGHnKZjuvOwjOJ7OMOhrQqxiMmi5GrQh1611EgRzShVoWEdcNd/MQzaHyeZx6YL00oDtAq7ALyJjGYXRTlkDpM2MKUb+z2axBswwPuFbCGTjBkOOOvLnR11jdPDnAenWFws9hC8F6YcxsWuXZwCAPBAsCY2cMjJZ1yqnYMY2g5IybH2hQjJsJIHJJGdMIcY7OcmIfuVCniASMliXu4KFUBARMGsGwjJcIjMiEYDCKlqR6N5whqRzMgty4V17evLLPSxSO3Q5FC1LN0gNKseKOe8xkbeEqc9ErqNamgicsjJTYZqgKECIFzxl7merG/do5WRCVozS4CXM7qreJsuYc3jDXxoo/CqtfRGQTXB5RQqGUHXF2AdeuiaxoQLzd5OOy0ZWEjMiSSpt2qwlBRpGc2DjJUNvDFMUVwng4IzBMHCKn3mEzkkq+VKmcIlZz7c1SEZHhtl0nQcZ502udRtLpYfhDt4z6TxbyZ2jmeiIFxx1joqWlJ7HlwQ+/WOaihFFVNpRFVNTTkb8GIpqLFT9tucTY6YcWy2W09oPcuyNyHta69K2oaDDd9ycnGPUbKK9nbgUiYBiXOixhLtRPKGdo+blXxx1kJUPWEzMQ1sJFGJf2GzkQo2feuQO/PPfiWi4WRzLTzNVG9BWrXMYbI7dbw7uofXQ78lNa0WnbRkYokjVEMHPjzKWwLYtP4vtKrFq+qjh7FDM878SxKBemwRutKs1qJaZHN8PvLmLcwIcTpmjjitirEYZSsa+jtZM1EFj4iiOx0y0Z2jBWPC6ofglgUQAv13aYuhYQkUD7K3muIi4HA3ZqMSHJuYwdewawheCOusM3Cl9jbJNi6dLlt/QxxR132dQQdC/24q8ewjo55X0boWZDy3fwtzvLm7vxfaNVMMHinRriu8ulvGcvm2wXKjxK7vGpNHZLfxUDvVT5OGIObiEvGR3274JvKcR7A4TxwzfeMvE9d3v14OQTPCD6Stq1QrjJ4mVGGj3fKcsy4aRGrUtWoR5RcWpcRBo8y+rDMBTxiZQVRIyYt3zFmwvJGGdRzyU1XDosktL2Xh6A6yBKc8OA+LsN4W0ONVVrYPe0C8jcsyGiot3R5UZO7eHQyfFzg/E7YZmS70V0Oe529aDMInqZMo5SjpW/W9f5WHEOAVO7gdqJsQ6MwsIdi9pHTgXLCQhncs2uXO84l3eQYuTMcG72OuyPLBppA0KOTsa3B145EDHlCwsuIxnCaIonIY93ctlUjVXUjMoaGvBR5FtPXiZ0h0yLPdSrSbBueQT1HEDihjEFSNJ+BA6JoKli7gR7qBFeyAcp4iMxZJyqPWMEV0OivDE7w4nI4GodaHQEjJWAcQucrq6sZFyJQd3IHtL754zabq4MgSTIgCWIgD6moFPP5X8inX2Ahu9FZmHkZFLinvW4iEHhYjrCC7dgUG4YUKRbPuCuUcsyW9hj8XC6wLjkQQ6hPBBJ5PwXgUDUa/XysttuNf7InYYxizfr/dfVyk1oYiXhzQ7/YHUiawzxigEdB7EcyopVSSVOq/RmFeI56FdObFMoBRx4eoTh1p0Inoibw4Gsd3RLmzR9hWlMZGyMymvzuFY2Nt+5m/cKXlbWjSJLMPW7zW0WEWyaHpt60nFU220RmhxgSjZbEoGkY1AhINsCNEyBVlaFWhBgwbAIwKyjHIEaQNlZCJFUCSIKY0hIrSUGgD2v2a2vJNS1FVjWt6bUW3KwjJqQjMjEhhBtmsIdaZSLIiiB2BrBY2msBqKGFBUGRURBVFGQrM4MHozB483mes5v3meNiFtbEMzkjJRkwH8OJ2pycFIWXbSF4aTpJBURYznNRYX4edxXpvG3jbkXJsa0tatflW0VbRVauVVFW23puW0NMtfytyMzf1w51A0qreD7IZr6rrHjlstToKW/y94qxjGNg0sUjMt1EGTKGuXzwo0sHw3Ag023bXOMM3CMmaMdIaf4Do2YtEiuwowZXEyC+yaVT4e7EQ6a040YJVmIZ4ZXVtgQjMlLOfDMeTQSxQZCQpBiroMpDixMqgiNIr5caepHeMu6bxrMIkSwTIkZlIzJi0mbq1JAbcc2Qwomo0m02ljUkUsJd1FY2JppjRDCASuWio9yq1mQl7Tq7d0ykdJIVYLy+2WwPuPabTCFQUWybqiMyQFkwEwyahM04MQUxdO7lwYpmsuN1hkTcAox2Mbdexl6alNMrR1452ss3uRmpoo00QkNRVrHpta1qmQbkxrLjyTrYa1dXoc4uc1bK3wyYI2xIY2MUSK7Rs3IigMbWtQFVixwXixtLwYisoZdalBaqGJM6S1+O+NanPOTs3a0wFhWQzOU7xKzryUQ1QUIjCCOlg5sjMoDKEoZRGOOMaY0Y92PFXWMWrkQLIgMGiHMjbTKQiQ5sNLKpvVzK+GaVkyUrWEl3rY8Y3CZdSiYwZ0gabsBvdILHHt9orXNikSdgnE7CN04aOOuo49dnxwwDKkzhkY85bHeTCJyGh4Gf1XGJ76Y8xNjU4iC8qOcjJkuqENaRoaZydEMlY41GoRbRuGUpBUoVYZBo3BTQ4aQwbTBsYmoQLxq0bebi28mSyyu3pzsM2thNy6fGghkBlaIbIqVFa6vExiGrhKuENbSajDDKNUM5sZdt3QVGPxdyAQYxmNB1OYLTn/AeBtvr1ZOFenIPv0rChEbTRHU1T9+UbY0VyR+Ul5VG+ZXerpEwJpZpsbOtYN0w3oHZzMaYIzJFe132xQy2CUrGmpI5eW4OFLClIzLTarrA8BgsdaMZoWtE5GYzkwnfRMzm2qImblxjp3gYgoKJQsKYNcS0CUyKi5phQbPSSSShiIOYQIraz+3KUeIjMtR8V5mPhlAZR8BAoxFjEo9yLRhI63ZTBRdO0DTQY9WBuDMBzkcxzKaHjSD7XNEgRE4em3iwtmUpgccQuyQGmGrGZ2TbRouA+rCtXBlkIx2NM7u4SMht3SY0Nx0szRbcaFqGjhk1QMEYohZngzVgrmZWJrd40TOSpo2zJCoYJulQxGDNanGlIyY0tPGd9ARBTUDYyNRqQb7azENZZyF6DHWDOvBhxnI+YUosXnDGLYZqdvgCr1vY5eXrlz5yqaiwYQFIjBSjqWXdQ4GDE2145M8PQM+7X+0Qr3VuqUySayybp+W1fq2UmuHFKGkqBUhJEPNdPma4UO8QOvfPC1QhD9JlId0Cp2qp3VYzY1q3IyXSGKlMZbdn8hxKDCRVVECsge70KVfcwp7DTXg2T9DjdWViy6dMZhwxMir9TyCvqSHg/hJIQN/0+oOa+qgYqiMycazipKQUmBm/q7PAH7NCd4Grw3pRgCPEm7u6++qxv6Z2YUgQpwmt9pyawYGbS4g4P0+X7WP5uzFWNpKFLVSuDy5TM+HGb3PPbgY3hIxtIyZIMfd3JhERAdOTu3Zs3dz2+gMPZGEljr7q57XjxHkPlKPMDidbIyXcGuCcqo1Vm9+FFCWU1RvBKBP04An6Dw6eiaGs66NROoenhPCkJBqPaENzyAEMIc0JXobmNbdltJSVdqmUtWGUhGgTaEgg1WhAqQIjJUJEJfahqyMlbv4aGs08BHkRH9Wzsnt7KtwPvJIkliItU1QpNtbDYxphGSMRMlFIGomkoWqZWzLYtk1JrViko2xJWTRhjNlRaKRloU01I0pNklFKUQkqI0MaWiMmRKRLRmKZoqU2RSqUYWkmG2GGzCJShJMVIwhJIKp+439J3leiYEB5YPYcTkbUMhfZE4wPbynYzo3H3zcLrsZg+7cjJb8zi6Gr8XiSQkZv8BDgQBN4PT59ttV50G307iknjLq2gitoeQKg+bIjJTbaDmDR9yMmBeJDOpLgqy5DhwNOMGGJxDimu2DKGUmxqbVufDU++9Ndm4IfsS78DtFBISAsZIjw5bl+RkHA3FdZz29SGHRuRBTKMJCWYno4htvJJIXUORrtbyPd5+OaIPu1dRuefbGBeqjO7OkHEJ26Mv2VELo356NWKWuxzC1OoYAXtvP5tX5bVvsbUVUSVsm0RFZEojVJVij6mq1zaRbKFJqNGK2Iz7t2rmVMEIWKEUqkfWlhLIDLvxDAnbeLlhSKJBhUoZIUfh7Mi2ZuLKYPurBXv4lwbBnyLhKFRHYUWoaZiMNz7sujVY0Q+Li6PGodKijgyVimpI5SYiKLbZg5INiY2FsemlNQ5YgrIyY0hFaAbBGx4nMtSWNBWLAaAuve7eMdN7ryZCTs5Xt52vM0Yymuy3tK8pKNE2mVvFueftcHLWago4F0XB4YwgFbi7O8QgLGkFYiFHBBBMjIrEiMS9F0PdDtve14HxojJkaT5uGRYHJnyQnJgt1MXCMmmWjClB33UosQua41apFJFtEaZICMYohSQpRGedSGpkwP9mA2C6B0P0TYjnXi8bebkYpVInRxkWHsIaFvQIcIidEwkITEId8DIeYGEN7dWQIwR1NSRtbasiMmtsUFVsCAYhiGmCMm3AKTIMkci3iySJJJJHCoocmICHr38t0mFMdAAmmiZBGlK4aNxS09CwkVWvT2NlPN+/G7HdkdhCsB9PugHQe7u6CeCGrH+EKYe9olx8MUTwGCMUx+zOPnP06EydULCBz51bN8vJAgSxtDpHuR0okBqqHTdcsFxjoaRIp4FSC1JULJhGJjZSha1M08Qzz9BAhD3iMlfGb9+yMy0MiKxeYS9qLQ8fjy8P4nhKr1XKYlXbwxkus/Hw8cZVFG+/WzUyVVFKm2roD4HjdJQU9J8iyHIyb4RpMBU0DSwjoLvONq20S8w2g9BJ11GTSvYbF38sn3Xk5mkwHtMxbwjTVIlOrBnBmc70abDkNobS2wQo40osTSB90jJS3HoXXXgj0WnQGWq0Ivq9J67BqidPiHnxXYpsr7E6E6LXJRq8j3UCUVywZTa9pISIEUZF7znrLDry3cCd1ujsk0PT8pNy7ANiJpNCP5iuXvkMGUYeuFRVESqFTkehr2E/3mqBI9STIp7yMlOgXck8iD2NuEe4nYLYEQqG0fj3hIV7/Qo1NedWPLEaDlhATtEZRJX4etumqaByMyqGZMGH3bvrRunriAOUT07jJPt+h4MghFQWSRERBVTBp9Y9C99Uo7iYl9X7dbsVBlIyZIeJ4XR34jMrMFrdvq+kyM1PffO+cRuLod8uYzPh41IY02GvSy3hVdNFhgQyRLMdbsqa7vxSMleZ5s8XMeuD0GYRHMrGr3ntDeH7J4WfR3l+4jJRPLykfP74F+eQiP1Ra+cqqTCQS+YlFXSXHnnZSlesRh2KyILRuWc/w14muuG3C4qk2Si6FpmnNPRzksRkjZcnY84bextnVj4nbIjXsjSLa7hYZ8WbCJSndhDqIqreHH6YnKznjU53cB6OqqZ0EgWgxgyCCJMCMlhopUkVSGy6XvTAlDQIEaa/OZWbQVgyCX+qIFRUWic5EmG+TlRdi7k1o3s3wGoDnJMxuMBIJTKhBhyTmKy5AGE4kcMljDdKQV2lFGvOwvjUJkRmy8zQgBjKBhZekMOAucQDLO1GeO3TBJce/Z2KddAjo0uCxtIkiA3GTSK4G3TnobNQHWRG8B1nYgpMQiVCMmpPjpBByTkwN0PJsE15VALiSIqG1SpEQDgUGx6j9hkMAxQMQEpkYmaoRgbCDWR0mYLKB2piFMDrWKajFBZOBmVBLeQ2wxtOuNevFqjCAmkjGkNEBTcKRQLEOE5ci5svQEIMJBi2B9s714Ub5MQEVtIyVAgoQwyQnmMoHBU5p2map0MghCQwaiCyMlYvUGDKNVc+Xj677a44XAPx0swb3ydZGfpm4dpMGApG73BhFMhMiwzk3gJqdQLMxLSRUTKBOSYeDgZUjDw/qHSNKWM5JTe5nXRq5xRFBuuCxAKGKgJLy1t2UmOFknz8A35JYOWHtPUOC7T0Sig3ZrYpS6HpDGBgN45ZSFqzjnLBKZgy2dqGFDUhSQZCMk7Nx3zVqFgkWQyilJehKwlZMEkVGEQz10o4g5O2Bnu5oqIyWFTTMwQkI8YqSaeESp8ahTdu1sVOHvDHvW80enFZeDTKDsscHgxjs63lgjvmVcJNI8yixkb65iOc6IIyZh3V2QVvEUCwnyPHo2Omtj579ZwiXDBl74UE2yjUymYdNcuaQDHQtpzJhO0j4ULBSHfSJEW06TIyYjMtlQSzsD5HqkjiKnDsajNpmJNpMgQbttttLBTFyVI9CB0c6eTEZlpSWXzG7Jk+h0SOsdNrNjUvqMic0uSYjhkbGHY3lF7SGk0p74caDIIzLVdNirqwzo4GzUXXqaxWQxDN9VDgMV0w6vKJxJY7IdpcuXT3qy62fELbaYLTy1lzKIzTx8Uu8jX9HTC7TG1v0k42NSvY4DHDceFXHWJFusHHaK2tzfE0wqojd4yIeR6IqbOrvEfSNwejixWA6cEsyOl5lswwJInoPbJpFnOYGlGEK1r0mlVXjemsU1zDy6HnE1zwxOGu28E+uYDorxcybiaRPSHKVrjpOpCxaBGENWXhCRPNvOJ2qinAdkWIXPXnUgSQzJUqOLIB0hbr4861bC7fkWtrzBWbGiXxTyt2diYDouzuVA9b11xpHIq6HJrpNIE0CxWIoUajdmJG2TNg5DinbcxzwOmpb5dMDSpcXM62cEYBx1h3MHIr60B1vUN04mMsDg4b6EQbklcRBLDuOkfR0S4ajRwvwoLwazJazonAmSAwFhwSbFIploYSxKCW0jIGMstEAmNHOIKxFhQhUQBGDepdStWVszIkzWlkSi2gL2ZggfRJiFqybSTZSCL0dF8KOtrOs1ngtgxsmQ2cDYK1GLG1CMZBOaGQm97gXl2RZAkgPE8PD8VxxljTmn4GNmofjrdFJutnhCE4E0QzMmhs1EdrGsUvZdskxE2uKbYIS4xhiEzUS6Wjazhrc6C6jpm0jhEn6r/f98oh7bLmXB02RS5DWvLF8jJs+PVobd+NfTkHpJIEYISAtw3Rz6qeXKjZeQJ1jyWHjrp5EFNjUEO5WfZq6bUPpiU98RcszIpz0tMUx9Xy5CNaj5ib94zh5JkwRssLSDIzLZNezhNtG834iwJlhdWSk1qCGbBiUxYe/LcYwGGw+8wRmsKYIYQEJhWTWtB565v2b6WMDdlRCUkKBWTeiW3RgsZkMDRVwliuExxzXJ8mJTJDXvDO+ukFz4RxVZIZoHJd7l27O3VWrQWYSJwUJKF0pOxGsbccWGmWdslaqyYN4ZwZBSApMliNJEaIjUS8Q57cZmXEjbSUZmIzJsHOwIHLTE21TTQWWXAnpiGtvhUyBVzTJDyfV88aiL0x25ZFKazsmuAfLCalNPkzI6cmeiJ5ebduXAdZhoAygTde0dO1ZQWZ3qWKlnYcQT0zsThMyQRTLo48mDN27JppvvksMcRxzlDNDsFrpDQMJFaMnbc4PXOtzTnKUquVi6tY4RHVDFQiMyaDnSm9uO+xHQSQkGBIDmjZyLpWqAVG4HQ10SRiYmZ/FJHDTJIoNtRSMykPJDGKpoReFBRhpIIriqUNU1kweIHx0oK3WIcHXimtGUYCMyzhgc0wUWXv1BGmgDr5RHZcB4sqYg2YdRYHWJUZIUCREghuaEu5qLs1TQmveZhC0wIyYjJgRMBFYwIyY5kXNTJ1mQbcUUiKxiGwhbFKaukNCUYNlkqDOJuGjARszMsVUSgEwcIzJYVTc1GggFwSMEgSCUKUVIULBz2UWWVXHRDOqSXWjKNCyoNiKKdkGztQ6A+RmxcEbDlFQU6mzMBGk03siCiYdAxKG+3dVkZIRqwtIquW2zk0DIBoOwKCAMEuXHWBZiZGswm1okYRoOq6KMDsEOTSTBNTAbIzKS6RETEdDOKNoZgEBTRF3wKcHPPHXu446mCIGxSBRyGboQ4sSigDc4hIVF1TMqFhcYTCJbIWGNZxVFIpFiIIk+pPLz6T5GPY2scoqDKKKiIsBjXq0eHOEjJuHLb3+C/IlhqGfr2iAQTyDUKLCJCQE1qihUBEORED8jJv+0j5bzIyUMfA8zv9XqPi4/gHoiPVZt6dqIY/Z7WetJaX5jpjdZOig0/yHwLRgqbhiwIb1DlL2G8hjvUcWzwNpMW0cyO66FcA7Wm2pvwSYICw5EeF6biTNIZry7SNIwwbYPBmxcjV9SWa+fZzVV1566uSqoPVaiL+mCboyGcuZREr2UisiLwIb6kORNfrrCXiVKIzIqEdmpDsYdAerOPZtZog/m2700ycB4NKrhKiTuaiZHeXKkThysDLFDiJkYxttyB+NKJbz1Q156I+8rSL5yJpkycZN4tC4JYzDUmOmlE7o/cnt+oyY2ECEczFQQzUBaBr9QVFYshylxS+ubls0oK8jcbnXjIya5o+h73PKztZrOWmNjaTerWytgZbnVjEDqBF9S+qv54+kjJUSKp7KMuHB+B81OZ0Zb5EyrM5X1bI9qHuiqlgZ+aIG2yG7Jy5Hw0yXoCCMye5QghpHVCVSse9LC6IgjUoUaqNCUSEQ38DkTk4tRS8TdwCp2krRgxEbSwREYVuLu1vNJDIlGvE1O87przdwjJrSY2EsyxJjpBhGQhCWSFIMjuGIEKoBpoCMWIyXUqiBpoE0OGkCUaH56TMQIB5JjuZHXJNIGqDrpbmKqJrG7tSeAlomowxRUOOzaoZwswZo6lWZsizFAlI4GjfPR1dc7H2dviEPhDHed2rXuVpD6kB5wROhOQSMlsZHdGEMz8gzUIyNZeSrJ8t2ttGJ4RqAPCDE6SPHcwtsRC4KtIyYVoV2SJiGSly0udYYuGSRuKmbXzIma2a6eIlBvKE9PMJsE5HRwZBTex2I8GWne9sdxA5zwseHmjbh5NsZtqSPyiyknyaSL+Pumg/kIcgx0DHr7yskoPuCw8gMVrFnIsQS3ZYYVOS85NTjjTUjA7u25epPno1Gq4MhcYFJlyz2TLfamp+ZlTMm3KMm7lhuHiBYgHTAhIyaQnKlUT3+saeYCmOezbg8V2pIQIgL14FzQ2HGjRwzHwsHvu1gxZygZGuv29vdDWbhpsWAa6/s4fH8tIybm4rFUjFYkPGgqE9pm7Lx34DPgZUYMZVxEeyMl+qFMJR+62u1FhrX6lbdWopKLWbatKQlamV9UtktaNaEEJFRwRFhFbsUZcaUBC5AhG0qIl7GLKtRZIyVskBbpBcMFCJAWCETWovTAB2ACT3ZeeVFIUqQumX+OBCMl9oIJobPDKtvcamBwictPV9O+dti0s2SybG2NElW+V7+Ph8nyDm+xTUqsGN+GHGYB+wWDFCMlkCMlJEVJFQNfZ9WW7d8dMVPDjRv1eN9I42bOYbRdGi8Zw1qHrHeu46kxbgdOdT5Eli9F817FsjiIMcIjSSMyeKSA0YaIbGEBNNo4EyWJJsKyXKq0USRRio7dd2XDsyzultybxVwuvXeeVtyl61sm1mbrtWLzLXLU83SisgJOKnSb9VwcszOsgkDUVHXjJTNVdylhaUNlzIswHM0tafcoJ2J0vI8+DySwwISYqx7OfsPbTM3JzcYTUOVZyQSCd3lRh6KEP985UMSq2NmYKxRz6B6eLQx6jcQOQySGBGxQBIyACXNezhoHIS9NSF3yKPwalnwVFm+hiQ4D6y6ISKAo61CmEoEiiJlJIzIZpxqWwMhfXRUOSG7BFVWp3TYYgC4jJRxaEbKgaWYopJ83u0UfMkx4WskwXYqfF0B+VyhiE7xIdBRLHjGtxkKM2mloUaUmlRUjMhiLQzjZaqNRFSvEV13ogcSkywWOkD/DfiP0fKXgf09GyNhq08dN3ESj7SnXEO+GrOg6j7PWp7ISIAmw1xETkWIyAkElSpQklKGdeaJw4DjHyEwLje2Pnn6k+h6DtB925IxWyAnmKI5eFy8kaazW0UzaTUk1LLTGKySlBW2sasw1CaEUbNqYttSbfraK1cZzXUkSQGLFKHc7zfEjJrPFPTHFiq6MjMDX260bDvUQ4Hdzm/xmpzHRIyXtPiBobfT1dICufksTrc9vRhwCbIJIsgLmz5kbJ6cC9/HmHXsUtN3EVD3onYJ7T3XREzICKYgjJShL0PbGmZBJIzGjn334lEc6tdzh0kdKrCKNwmMuGXgiTUtL1BBQDxN8++m2ivXU5DTYLUpbaHmqHRjDs7iSRSIjJsed8NQCIzJ7g0ndxQZIEcaspXLuSwfOiJsoNXAxZrrUDmybMwhokHWiwYcHW+EjBuSTIy2W766uM8A9x15cuEOSTdA4AhTuhpqtvFunTF1hbo4q3y5ox9xlYVsaoyt9b3rbKXDG21OzA0RuQFkjJRQWWtiDaUJViyhuQy0JoXWhsfq1u3zipvPXIyU+KCLIwEX1Bd1MmSoHsEou0oyD3KUa0G/zq1oYHwejWlutYcnCX5iwE/WmdCsJdVN0pCzY/AswCBuORFEwHV1+l5qWSyC9pXcs7uaEBSgjJa7fmoJdRQf2IyUsiQcQQhMj2hJDv6DCdIdsnPni+DkxLpleFROQbBPAIKBIwIjAhzGAI5qoAxVNrzjyulj4Hr2h93vKJAK9vadPgdoGGCrYqB2kyNUnM7wGjF6xRUaGvVvnHrCTlewXSiFBFRAxyGUg6qniFvfmfP17fP+jb3E7zEjn4ajI2eJogP6fG+p3cIInUYi1I2lmYH8h6yMyLO3s8NvVgsQUI8EQsCI3c/xYoveJ7iMlnfzt33f4kXP4SUc9X29rbquBs2PnNQEPEDAULj20lmzXwP7KGjpdrHNfQFvvKKh4A3GhT5xTYSMlRzHXFCMyBdyjyoLNlidPXqFBgFj56KMCQyUZk866jURo0ku6ugkiyNMr6O8wLUb96c9eXnnruLZw0VlFNkLRijEvJusgV5GyWLRVFoQxiNy3U0rSIyW0wi/pBpWFR6wQ/YkU2BFENplt2fV7Tu75RQUVXxK+HsseBgvZnpDuJKzVMJ5G3442QM1PCAHd4h4eIyWkUARWEQkWQYoxUl0HwNw9SCGXSSCSEEhRIVFSkbG0WSMmLMlU2bV+H8sVG+rVfr30GkFGiGKmo2xVG0pSm2r7NVKSQhAhgLRPqIAXIqtoiZ/SEpa2HqGORcSF1PAiNhTbBHbUkIO8nmoq+Er1pu65simxrC1lWKNY2ZGKxlaZRbNBievO8W2ktqVNqU2tff7aryKBF3qFIyVe3EUTV/x8TR5dhPY+Xx/yGHXkSTvV7wgmvWHBoye0fQePy2VMfPMqarkLCP18cAlxgJPcCaRJhPIhPQWRieYb5DggZzoFHPOYyEkXvPNE8sxx7KKrwt+V72CxgSMySQUUnRpnzH+e6EGRPEzc82GBMbyFQKNsBYjFIgwG4fpQ6Q493D13IzKIF4pbQNb0qmtQgfoyFKRMIzIc09qtQFCQXkghSopTmNpqaCg01qS1zdJWqbak0pNRBSUEqDQZNNkjIIDc1NtewmFUAf58pFA1BBEoVgOouF5Up7ilWMifO7jcnnuaeHzOPdVE+jPZ4Z2ghHw1Z43Rq/UYawyvTmlgTcTHodgftoWzsziWlIoDX0sjMtZDafejBxpILFhRNrsBrjo0adga8pmvJYwf5qParlvaHTpL14RsY/rpI45sh53MzRD7Q1BcLHuRB96Hn/Cr/YAJQeO2+Wl+Tjdk0WpZpiVJGkajLYxUmCojapNqhS0b7W2/C1eJsKK0UbSYMQVVkVASTv7jn6dbOss0kI2wUKQqiRhPMTQq6PwC5tgLGEDlUjQhCaNpkPphFB8nbuQ6hSMlRAPHqAeb4T7I57127JeDuu6lSAL/UBCRQQsljWoxbQbUoao0JViwZCQRkQQkYEEYp6ho7DXff3cDf5s7t7aVWWSkgfvNfbj9bPtQoZIBtGf4qyxH0xhilxQimGqtYohHLfTUNsV1eFBjS/MSfN2JMirGwK0o7Z97w8Este2ZYhtKOCwsjE6MGM76taG08P/BowNxRRJOEELSyKF1AoZbRN0lEdJqaKVLes2FdtO7Nru7K8a83la6ptFk1vSrkqLebuszdmZVdc3bUVc7UMtkWWry7saaJtd3V3dbSbKkAaY2MGk2hWQFUNFgRWEiSpwUqwkMHCMyREG2oxUbGqMENNuL03ry4iqlNLZNSZZV6Vrq3nV1551tvGotlGZlrLZS153ct2u7dZYytl010lcgVKcm+DI4E3iAYqi1QpgG+tBLYSMmIYCbNEE/cNeNVWaF0GqRYsm4fW8+br2rxsJgpe1o2Z6oLVJIFPjkqG1H9GmkyltGaKUPzJMoMQWQLNtWC5fLPPPCrmboFKJtTZvq0qP69DYc4GTy0wWS5GPYi7P3uX+W4AXD1QkuwknIj2enUnqwnbGElqJEK3ae69yMHUvaaZuyMGBSpTbBDqjWNjxby3EuJC3drxzye/9CIJjEmPUiaGqqVOLpfCdGdYt4NnC3veBlGMLfTxMzD2ZCnYYfdt5RBkiijiuUUjOJeFwb69hMbxctfsvYQkmp0ESMKjqBrTavf485eutlu979hsP7OW2/7C+KVIEbxX7SNavodPnJWXddKk9Nb2DfqQWxLem4JAuKFC2FLVGUNMVIx4/aGtY7arN6nPfJPayB4CQtlshTMkxmXyMyp8Z6zcNUoQPys37TqVDfHccMURYjJnTIvhn6unmyTdiwJ+OSsPGGQ55uoqyUKRPVAfzHzSicWYFgaqblBoFyNlBStJ1MtiMyikLHIjqGY05MhsmZ7E6xNiIGjqYRCB17dbMjJYUQL9MjJp6JU18PoFO0+CO5Rv2yxhUDGxMyCFeJUtAgRbBEojRS03q6s0rh/FOOrzCv14xf+8w9rs+jo5BHYnV3dOrBLwc42oH/h8XMTdM+Ca1FtiMmHCMmzXuNpsIdfSZPadzwmIBf76EjMiWI41Bmg9nm55lSlhMtKfC+u2uIZxQoOapGjJ+5JctREVDPbUCdZ1V8qtbebag3A4VKGT+FCzDdFTkDJLyoiOLxI243RbDUKunenDo789CoHGLQzQaNQNRiFbSl4HAx8i+TZvNdQ3hRGiIxTudA1T2iC996aQbFkSbSHE4WiBmuRyEhIczwSjKcTPlfMQzLUFeWlx0jJSMlwGs9xobtvBbaj8DzIUeRjHck42CQke01F9qvI6TiPSRDIIrg90LOZ2nj7tDIgb3MyztbeVtPZDajO3qt+T2/f7baeLpr1xPtuBkiiT7cQC0IoD+GfwyAuCJpAr00Ko4SyoHOAUAzu0i+X5FolnKvblMFQCFQnk9h7EfCr9QBj7rv27GDZHxrWpnJIzM2GTMgBh8rIiIjEAH/x/09Xq/L/5f/r/l/+f5/8v/jP/Pv5+vX/0/8P9P81/9Pftp/nTZ/6Wf6f6f/35/+nxf9f/PlLL/v/j//v9nq1/+a/8Na/n/63/5/8/7fm/9J+P/P6Mf8/X7P+v+m32//zzRH+n/Q/9fn/N9EJqAR9Cj95AeQwN4/PEcv6DSAgggCCHnAKVKmQZlXD+j+mQFN5CoO4gLhwapc9j/KoZQrfQwB/ukbTQJ/ayMl+CqKyBoYFN3n86/0s/R3O7qJJAkzM+jW+VsSR6MjJZAOJRHLPdkJBHo12hBdmm0Q1x5HJCpkU4EC00K70f4qvHyygtJJ0ATrH+3fv2pkOm0oLmqH+kW3N4hutxAer/Spk+jJ/vkHRCPcM48ivCSDEgh0BavndmFZ4ZlH5gefkBWMlUfp/3sCmd2t8zwP92/5Rkcz0Wfuv28b4eR72TjHvE9Pgh7eEZdKVy/50dDLSiMyLBdLhA8EJlJAI67+7Af8+M3O7lOSSi7Xv29X/8ddnyzhxvjLWmOY6VusjO5WzM/s4uwMA3tSpqSIb+hka9u6zTGxrdmgkccaGy0gOh38Ergxhhs/vYNGiEUyqne0b1t49+Wlg0/UPM4GvV1gOKRnZqvfXZu4aarK1WmhhZBUHLD3tPNmU3ooFHatU2G3Vp0XNZZYDNuNbHKoM1FR1iMm8XgwlDe1vTQ2DOLvJ7JZsLJdyRgkMJmtQ2+rz6PBVi05vFI2d3OdEENaHdI3UIcQZWEby90Qz3mnUPZDQZfOHwj/Yma02OTsuQbKFcVMxZIO8SSLJGIxa4ee2LyGQBjLhAGhz8b5INuJmfdlnhlOfiU1bVrxKDfXZvFdBGdadI2NGts1hqMVQGBsVZE553LZ4m7m9h/erFDs/uoGgzh5ReBGoF16zZqnbEsTTfKxVN65wbGC8WNpsTHxiTwREw9Az34S7hSTgUuSNCeFKy4P4+T37Hw24YY14mCqotJM8roFf0ePp15+BXdca3MeeoWM7DNQRUFWT0xUgoUmOnLt6YJDUnpy4GoGQJqaIsUhw5O6XDY5iaRVpYIjJT3iyCEQPA6xKMeFyyQMqiMlCwYkgKgmnqI1A4u8od+a5UVYUDOEgZ4e4ge31XtdL3vmmX/4u8NJoZhfpsHLJ3GXRZ3bJAWIxEIETAJ0a6RHM35mst3c61Cc4QgFRqJCJbSkTGoXjcTUShqDbFqyymVtiqSqMzSQiyMyIyNTXz3bV1ttvh8Ota5REDv0PifAimcjJf8CIf7YAX6aqWoq03AUii8Y2+5fbdV7PW52qbZravdz+IAm/y5PzP8JGGkF+uW8bfG10PrdesuZGND/sxqZz8h+xrNercqqYjEUZ8hKvHw7KTs/4zjg68V7ZvV74WsgeT6wyR02yWM4f/Tf10Ns+cZnr7oBekI+WORcdoD65Qna1Nmiu+FYGvLM1buAYSMygMcwygvLpU9M/EOL8u+s/OJwUZ4M0zpks2NUIyYwKmjwzfR4VJNs1HBGE+eiw1EJ9Fwo96ucKr4XdKxtFui8jWWvnpvT4my2gylKb2TG3DLK5QMJMFvitvnbssVvFpArfW1zUm0fBtuWsY3jbb0o1ey1b1NEgCMFIKojJWkYQpkkylmt2BeatBbbrhC6FBxYckObkUYkNmEhoafgygn/rEwnPrYQ6qkmQOZpNyMyGHlN13ph8otGLBIjMpkQGyL179xvM949upzrVa5GRnqpaNwUHcQT0/9h3h537Ii6l4UGuSLIBIzcOYpX/D6Tt7vpKPRo80dyOp9nQL49BRgT/MwCuKh6B+OsQf/TFFixV2u1HcdupGiSlCosQRhBEjGJREe2q7LV9KxNmpNer5tVr80ikUkUIEUHITu9nu+GZ5fYB/j9IyXVFIRB38/OB5zv8JR8PZMsugw222LQ/GcHYBcQvEOOp1ME8onyliDInf+b8A/H/2ighU/5a/wg7SaY3PikILIpEZP+rxAoRa/5jbh5Lp/L/wFUn/5w/ygCQVT1AhiAmUJ7//Bsf8gt4/ttv5G3SLPEEuWg/8vG/t/+//wbR5l+fx+78zsjJjx0JzV6o5cSHnS7rjzPeO/DroR8XmcPeB8pAew8pYXej1ebkOBO+Iz3jkv/jYPJyGr/vECB7innIYo8iQgfn/10u6J+iXgBnAKPxNkWfDqydf/bpVvYsISzexcoV1E26f/36xHZ7wyqA9/lZif/xqBDXFS4kh/cI2UftqUf+Ci1nA6V28TiqIpnBN8tVwuMs5g1MO+RxD4+e06dtEDOgysrH7+csTeEbhi8thLG/DwjROKiWvK2nMJBheB3+XDMHJWGTTY+3SEv1Pys89FGy8JcZCMyT7vj7ymlnw8OTbyO0nr2Pdp8/+esjwKeajOLFDb6mPXLVWMQTzgaaT+2n+QhVPWPo94kI/F9D0CIAn//F3JFOFCQE/wYogogIzw9PQorIy0tLS0tQkVHSU4gUEdQIFNJR05BVFVSRS0tLS0tXG5cbmlRSWNCQUFCQ2dBR0JRSmFpYXM0QUFvSkVFbTB4bndGSjNxcWZtY1AvajRJVEhHWGQzVTh0Um40aGp2cExMa1RcbmZUTWQ5eDloQkV3d1JxVTBFWW9BcDIreUlvVUt2YjVKRVJGMFlqR1VXb2lacXhFbUdHcDVCRlNPSk9yWWhxMFZcbnNaSUUwMXdyUVFUWU1uMWpmb1hoanl3eUxWZHlNcGw5aGdiMlo3RG5GOUdnelVzZDViUFdtb05hQ01raFpqdURcblNhUjEzRmYwaEFPVkl0L2ZOb0ppWFlKMklDRFJHNUxHS0Zsa3h5MHlrWE9rcktEbWRhaDREVjZNR1ZCL3RTM25cbmlCaHhncU1jOUlMU0ZRb0VRbUZBWFRpZDhFajBPQmorY3NBazhudmJDRWlWK2s3NEJvenBRK1FWZlIrYWdYK0tcbm5mL29NZWQ4RjFqS2E5dXlkYnZjRW40U1hYRUJxS3p0aUt2dUNHbVpJTzN4S2QrNDYrNU9oNTF3S3haWU5zeWtcbmxZQkFBL2ZIOGZPWnFNelRDUkdaTTNxNkVuS2YrendHeWY0bEZPSHVWemVYSGxmY1pBNjJWMVRjcjlhUWZzcTBcbjJzYUk5UzlKc3hFcEZ2QWE0Uyt4N29RK1ZKMFdNNVhMYjA0S0tGZ0FNaksva1cyTnc2cllRMGVOQ2RCWDZOQ2NcbjZMV25tbXJCL1RhdVNOc0pTWUlmSUNvS3V2K2hlYmpiU0lRYTVuMS96UWVXWXQ4REtaWVM5TGt3bDM0dk1NZHhcbkR6cS9sN1FMK0k1WjVqRFNWa3pSUzMxL0s2VDZSV2lZRnpIZ2Fid0QvRE5CQzhjZkc0UndUWklFTzNDOHVMRnlcbkRvME1HOHc1TkZrTWs3dDBLUXRCUGUrN0JLNk52NlhvNW1MVEorMDFJTnZtZ0hhdmhnSDRiU3lnMGtEOE1iR1Ncblk0Y09FTUtuVWtIWENwdlhzT0x6XG49OVgzYlxuLS0tLS1FTkQgUEdQIFNJR05BVFVSRS0tLS0tXG4KZGlmZiAtLWdpdCBhL3dzY3JpcHQgYi93c2NyaXB0CmluZGV4IDhkMWQ2MWYuLmQ0MjQ5NzMgMTAwNjQ0Ci0tLSBhL3dzY3JpcHQKKysrIGIvd3NjcmlwdApAQCAtMSwxNzcgKzEsMTcxIEBACiAjIC0qLSBNb2RlOiBweXRob247IHB5LWluZGVudC1vZmZzZXQ6IDQ7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgY29kaW5nOiB1dGYtODsgLSotCiAKLSIiIgotQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUsICBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKK2Zyb20gd2FmbGliIGltcG9ydCBDb250ZXh0LCBMb2dzLCBVdGlscworaW1wb3J0IG9zLCBzdWJwcm9jZXNzCiAKLVRoaXMgZmlsZSBpcyBwYXJ0IG9mIG5kbi1ncm91cC1lbmNyeXB0IChHcm91cC1iYXNlZCBFbmNyeXB0aW9uIFByb3RvY29sIGZvciBORE4pLgotU2VlIEFVVEhPUlMubWQgZm9yIGNvbXBsZXRlIGxpc3Qgb2YgbmRuLWdyb3VwLWVuY3J5cHQgYXV0aG9ycyBhbmQgY29udHJpYnV0b3JzLgotCi1uZG4tZ3JvdXAtZW5jcnlwdCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcwotb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAotZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotbmRuLWdyb3VwLWVuY3J5cHQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOwotd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLVBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLVlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKLW5kbi1ncm91cC1lbmNyeXB0LCBlLmcuLCBpbiBDT1BZSU5HLm1kIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0iIiIKLQotVkVSU0lPTiA9ICIwLjAuMSIKLUFQUE5BTUUgPSAibGlibmRuLWdyb3VwLWVuY3J5cHQiCi1QQUNLQUdFX0JVR1JFUE9SVCA9ICJodHRwOi8vcmVkbWluZS5uYW1lZC1kYXRhLm5ldC9wcm9qZWN0cy9nZXAiCi1QQUNLQUdFX1VSTCA9ICJodHRwOi8vbmFtZWQtZGF0YS5uZXQvZG9jL25kbi1ncm91cC1lbmNyeXB0LyIKLUdJVF9UQUdfUFJFRklYID0gIm5kbi1ncm91cC1lbmNyeXB0IgotCi1mcm9tIHdhZmxpYiBpbXBvcnQgTG9ncywgVXRpbHMsIENvbnRleHQKLWltcG9ydCBvcworVkVSU0lPTiA9ICcwLjEuMCcKK0FQUE5BTUUgPSAnbmRuLW5hYycKK1BBQ0tBR0VfQlVHUkVQT1JUID0gImh0dHA6Ly9yZWRtaW5lLm5hbWVkLWRhdGEubmV0L3Byb2plY3RzL25hYyIKK0dJVF9UQUdfUFJFRklYID0gIm5kbi1uYWMtIgogCiBkZWYgb3B0aW9ucyhvcHQpOgogICAgIG9wdC5sb2FkKFsnY29tcGlsZXJfYycsICdjb21waWxlcl9jeHgnLCAnZ251X2RpcnMnXSkKLSAgICBvcHQubG9hZChbJ2Jvb3N0JywgJ2RlZmF1bHQtY29tcGlsZXItZmxhZ3MnLCAnc2FuaXRpemVycycsICdkb3h5Z2VuJ10sCisgICAgb3B0LmxvYWQoWydib29zdCcsICdkZWZhdWx0LWNvbXBpbGVyLWZsYWdzJywgJ3Nhbml0aXplcnMnLCAnY292ZXJhZ2UnLCAnZG94eWdlbiddLAogICAgICAgICAgICAgIHRvb2xkaXI9Wycud2FmLXRvb2xzJ10pCiAKLSAgICBzeW5jb3B0ID0gb3B0LmFkZF9vcHRpb25fZ3JvdXAgKCJORE4tR1JPVVAtRU5DUllQVCBPcHRpb25zIikKKyAgICBvcHQgPSBvcHQuYWRkX29wdGlvbl9ncm91cCAoIk5ETi1OQUMgT3B0aW9ucyIpCiAKLSAgICBzeW5jb3B0LmFkZF9vcHRpb24oJy0tZGVidWcnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLCBkZXN0PSdkZWJ1ZycsCi0gICAgICAgICAgICAgICAgICAgICAgIGhlbHA9JycnZGVidWdnaW5nIG1vZGUnJycpCi0gICAgc3luY29wdC5hZGRfb3B0aW9uKCctLXdpdGgtdGVzdHMnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLCBkZXN0PSdfdGVzdHMnLAotICAgICAgICAgICAgICAgICAgICAgICBoZWxwPScnJ2J1aWxkIHVuaXQgdGVzdHMnJycpCisgICAgb3B0LmFkZF9vcHRpb24oJy0td2l0aC10ZXN0cycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsIGRlc3Q9J3dpdGhfdGVzdHMnLAorICAgICAgICAgICAgICAgICAgIGhlbHA9JycnQnVpbGQgdW5pdCB0ZXN0cycnJykKIAogZGVmIGNvbmZpZ3VyZShjb25mKToKICAgICBjb25mLmxvYWQoWydjb21waWxlcl9jJywgJ2NvbXBpbGVyX2N4eCcsICdnbnVfZGlycycsICdib29zdCcsICdkZWZhdWx0LWNvbXBpbGVyLWZsYWdzJywgJ3Nhbml0aXplcnMnLCAnZG94eWdlbiddKQogCisgICAgY29uZi5lbnZbJ1dJVEhfVEVTVFMnXSA9IGNvbmYub3B0aW9ucy53aXRoX3Rlc3RzCisKICAgICBpZiAnUEtHX0NPTkZJR19QQVRIJyBub3QgaW4gb3MuZW52aXJvbjoKICAgICAgICAgb3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10gPSBVdGlscy5zdWJzdF92YXJzKCcke0xJQkRJUn0vcGtnY29uZmlnJywgY29uZi5lbnYpCiAgICAgY29uZi5jaGVja19jZmcocGFja2FnZT0nbGlibmRuLWN4eCcsIGFyZ3M9WyctLWNmbGFncycsICctLWxpYnMnXSwKICAgICAgICAgICAgICAgICAgICB1c2VsaWJfc3RvcmU9J05ETl9DWFgnLCBtYW5kYXRvcnk9VHJ1ZSkKIAogICAgIGJvb3N0X2xpYnMgPSAnc3lzdGVtIGlvc3RyZWFtcycKLSAgICBpZiBjb25mLm9wdGlvbnMuX3Rlc3RzOgotICAgICAgICBjb25mLmVudlsnTkROX0dFUF9IQVZFX1RFU1RTJ10gPSAxCi0gICAgICAgIGNvbmYuZGVmaW5lKCdORE5fR0VQX0hBVkVfVEVTVFMnLCAxKTsKKyAgICBpZiBjb25mLmVudlsnV0lUSF9URVNUUyddOgorICAgICAgICBjb25mLmRlZmluZSgnTkROX05BQ19IQVZFX1RFU1RTJywgMSk7CiAgICAgICAgIGJvb3N0X2xpYnMgKz0gJyB1bml0X3Rlc3RfZnJhbWV3b3JrJwogCiAgICAgY29uZi5jaGVja19ib29zdChsaWI9Ym9vc3RfbGlicykKIAorICAgIGNvbmYuY2hlY2tfY29tcGlsZXJfZmxhZ3MoKQorCisgICAgIyBMb2FkaW5nICJsYXRlIiB0byBwcmV2ZW50IHRlc3RzIGZyb20gYmVpbmcgY29tcGlsZWQgd2l0aCBwcm9maWxpbmcgZmxhZ3MKKyAgICBjb25mLmxvYWQoJ2NvdmVyYWdlJykKKworICAgIGNvbmYubG9hZCgnc2FuaXRpemVycycpCisKKyAgICBjb25mLmRlZmluZSgnU1lTQ09ORkRJUicsIGNvbmYuZW52WydTWVNDT05GRElSJ10pCisgICAgCiAgICAgY29uZi53cml0ZV9jb25maWdfaGVhZGVyKCdjb25maWcuaHBwJykKIAogZGVmIGJ1aWxkKGJsZCk6Ci0gICAgbGlibmRuX2dyb3VwX2VuY3J5cHQgPSBibGQoCi0gICAgICAgIHRhcmdldD0ibmRuLWdyb3VwLWVuY3J5cHQiLAotICAgICAgICAjIHZudW0gPSAiMC4wLjEiLAotICAgICAgICBmZWF0dXJlcz1bJ2N4eCcsICdjeHhzaGxpYiddLAorICAgIHZlcnNpb24oYmxkKQorCisgICAgYmxkLnNobGliKAorICAgICAgICB0YXJnZXQ9ImxpYm5kbi1uYWMiLAorICAgICAgICB2bnVtPVZFUlNJT05fQkFTRSwKKyAgICAgICAgY251bT1WRVJTSU9OX0JBU0UsCiAgICAgICAgIHNvdXJjZSA9ICBibGQucGF0aC5hbnRfZ2xvYihbJ3NyYy8qKi8qLmNwcCddKSwKICAgICAgICAgdXNlID0gJ0JPT1NUIE5ETl9DWFggQ1JZUFRPUFAnLAogICAgICAgICBpbmNsdWRlcyA9IFsnc3JjJywgJy4nXSwKLSAgICAgICAgZXhwb3J0X2luY2x1ZGVzPVsnc3JjJywgJy4nXSwKLSAgICAgICAgKQorICAgICAgICBleHBvcnRfaW5jbHVkZXM9WydzcmMnLCAnLiddKQogCiAgICAgIyBVbml0IHRlc3RzCi0gICAgaWYgYmxkLmVudlsiTkROX0dFUF9IQVZFX1RFU1RTIl06CisgICAgaWYgYmxkLmVudlsnV0lUSF9URVNUUyddOgogICAgICAgICBibGQucmVjdXJzZSgndGVzdHMnKQogCiAgICAgYmxkLmluc3RhbGxfZmlsZXMoCiAgICAgICAgIGRlc3QgPSAiJXMvbmRuLWdyb3VwLWVuY3J5cHQiICUgYmxkLmVudlsnSU5DTFVERURJUiddLAogICAgICAgICBmaWxlcyA9IGJsZC5wYXRoLmFudF9nbG9iKFsnc3JjLyoqLyouaHBwJywgJ3NyYy8qKi8qLmgnLCAnY29tbW9uLmhwcCddKSwKICAgICAgICAgY3dkID0gYmxkLnBhdGguZmluZF9kaXIoInNyYyIpLAotICAgICAgICByZWxhdGl2ZV90cmljayA9IFRydWUsCi0gICAgICAgICkKLQorICAgICAgICByZWxhdGl2ZV90cmljayA9IFRydWUpCiAKICAgICBibGQuaW5zdGFsbF9maWxlcygKICAgICAgICAgZGVzdCA9ICIlcy9uZG4tZ3JvdXAtZW5jcnlwdCIgJSBibGQuZW52WydJTkNMVURFRElSJ10sCiAgICAgICAgIGZpbGVzID0gYmxkLnBhdGguZ2V0X2JsZCgpLmFudF9nbG9iKFsnc3JjLyoqLyouaHBwJywgJ2NvbW1vbi5ocHAnLCAnY29uZmlnLmhwcCddKSwKICAgICAgICAgY3dkID0gYmxkLnBhdGguZ2V0X2JsZCgpLmZpbmRfZGlyKCJzcmMiKSwKLSAgICAgICAgcmVsYXRpdmVfdHJpY2sgPSBGYWxzZSwKLSAgICAgICAgKQorICAgICAgICByZWxhdGl2ZV90cmljayA9IEZhbHNlICkKIAogICAgIGJsZChmZWF0dXJlcyA9ICJzdWJzdCIsCi0gICAgICAgIHNvdXJjZT0nbmRuLWdyb3VwLWVuY3J5cHQucGMuaW4nLAotICAgICAgICB0YXJnZXQ9J25kbi1ncm91cC1lbmNyeXB0LnBjJywKKyAgICAgICAgc291cmNlPSdsaWJuZG4tbmFjLnBjLmluJywKKyAgICAgICAgdGFyZ2V0PSdsaWJuZG4tbmFjLnBjJywKICAgICAgICAgaW5zdGFsbF9wYXRoID0gJyR7TElCRElSfS9wa2djb25maWcnLAogICAgICAgICBQUkVGSVggICAgICAgPSBibGQuZW52WydQUkVGSVgnXSwKLSAgICAgICAgSU5DTFVERURJUiAgID0gIiVzL25kbi1ncm91cC1lbmNyeXB0IiAlIGJsZC5lbnZbJ0lOQ0xVREVESVInXSwKLSAgICAgICAgVkVSU0lPTiAgICAgID0gVkVSU0lPTiwKLSAgICAgICAgKQorICAgICAgICBJTkNMVURFRElSICAgPSAiJXMvbmRuLW5hYyIgJSBibGQuZW52WydJTkNMVURFRElSJ10sCisgICAgICAgIFZFUlNJT04gICAgICA9IFZFUlNJT04pCiAKIGRlZiBkb2NzKGJsZCk6CiAgICAgZnJvbSB3YWZsaWIgaW1wb3J0IE9wdGlvbnMKLSAgICBPcHRpb25zLmNvbW1hbmRzID0gWydkb3h5Z2VuJ10gKyBPcHRpb25zLmNvbW1hbmRzCisgICAgT3B0aW9ucy5jb21tYW5kcyA9IFsnZG94eWdlbicsICdzcGhpbngnXSArIE9wdGlvbnMuY29tbWFuZHMKIAogZGVmIGRveHlnZW4oYmxkKToKICAgICB2ZXJzaW9uKGJsZCkKIAogICAgIGlmIG5vdCBibGQuZW52LkRPWFlHRU46Ci0gICAgICAgIExvZ3MuZXJyb3IoIkVSUk9SOiBjYW5ub3QgYnVpbGQgZG9jdW1lbnRhdGlvbiAoYGRveHlnZW4nIGlzIG5vdCBmb3VuZCBpbiAkUEFUSCkiKQotICAgIGVsc2U6Ci0gICAgICAgIGJsZChmZWF0dXJlcz0ic3Vic3QiLAotICAgICAgICAgICAgbmFtZT0iZG94eWdlbi1jb25mIiwKLSAgICAgICAgICAgIHNvdXJjZT1bImRvY3MvZG94eWdlbi5jb25mLmluIiwKLSAgICAgICAgICAgICAgICAgICAgImRvY3MvbmFtZWRfZGF0YV90aGVtZS9uYW1lZF9kYXRhX2Zvb3Rlci13aXRoLWFuYWx5dGljcy5odG1sLmluIl0sCi0gICAgICAgICAgICB0YXJnZXQ9WyJkb2NzL2RveHlnZW4uY29uZiIsCi0gICAgICAgICAgICAgICAgICAgICJkb2NzL25hbWVkX2RhdGFfdGhlbWUvbmFtZWRfZGF0YV9mb290ZXItd2l0aC1hbmFseXRpY3MuaHRtbCJdLAotICAgICAgICAgICAgVkVSU0lPTj1WRVJTSU9OLAotICAgICAgICAgICAgSFRNTF9GT09URVI9Ii4uL2J1aWxkL2RvY3MvbmFtZWRfZGF0YV90aGVtZS9uYW1lZF9kYXRhX2Zvb3Rlci13aXRoLWFuYWx5dGljcy5odG1sIiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9zLmdldGVudignR09PR0xFX0FOQUxZVElDUycsIE5vbmUpIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAiLi4vZG9jcy9uYW1lZF9kYXRhX3RoZW1lL25hbWVkX2RhdGFfZm9vdGVyLmh0bWwiLAotICAgICAgICAgICAgR09PR0xFX0FOQUxZVElDUz1vcy5nZXRlbnYoJ0dPT0dMRV9BTkFMWVRJQ1MnLCAiIiksCi0gICAgICAgICAgICApCisgICAgICAgIGJsZC5mYXRhbCgnQ2Fubm90IGJ1aWxkIGRvY3VtZW50YXRpb24gKCJkb3h5Z2VuIiBub3QgZm91bmQgaW4gUEFUSCknKQogCi0gICAgICAgIGJsZChmZWF0dXJlcz0iZG94eWdlbiIsCi0gICAgICAgICAgICBkb3h5ZmlsZT0nZG9jcy9kb3h5Z2VuLmNvbmYnLAotICAgICAgICAgICAgdXNlPSJkb3h5Z2VuLWNvbmYiKQorICAgIGJsZChmZWF0dXJlcz0nc3Vic3QnLAorICAgICAgICBuYW1lPSdkb3h5Z2VuLmNvbmYnLAorICAgICAgICBzb3VyY2U9Wydkb2NzL2RveHlnZW4uY29uZi5pbicsCisgICAgICAgICAgICAgICAgJ2RvY3MvbmFtZWRfZGF0YV90aGVtZS9uYW1lZF9kYXRhX2Zvb3Rlci13aXRoLWFuYWx5dGljcy5odG1sLmluJ10sCisgICAgICAgIHRhcmdldD1bJ2RvY3MvZG94eWdlbi5jb25mJywKKyAgICAgICAgICAgICAgICAnZG9jcy9uYW1lZF9kYXRhX3RoZW1lL25hbWVkX2RhdGFfZm9vdGVyLXdpdGgtYW5hbHl0aWNzLmh0bWwnXSwKKyAgICAgICAgVkVSU0lPTj1WRVJTSU9OLAorICAgICAgICBIVE1MX0ZPT1RFUj0nLi4vYnVpbGQvZG9jcy9uYW1lZF9kYXRhX3RoZW1lL25hbWVkX2RhdGFfZm9vdGVyLXdpdGgtYW5hbHl0aWNzLmh0bWwnIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9zLmdldGVudignR09PR0xFX0FOQUxZVElDUycsIE5vbmUpIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgJy4uL2RvY3MvbmFtZWRfZGF0YV90aGVtZS9uYW1lZF9kYXRhX2Zvb3Rlci5odG1sJywKKyAgICAgICAgR09PR0xFX0FOQUxZVElDUz1vcy5nZXRlbnYoJ0dPT0dMRV9BTkFMWVRJQ1MnLCAnJykpCisKKyAgICBibGQoZmVhdHVyZXM9J2RveHlnZW4nLAorICAgICAgICBkb3h5ZmlsZT0nZG9jcy9kb3h5Z2VuLmNvbmYnLAorICAgICAgICB1c2U9J2RveHlnZW4uY29uZicpCisKK2RlZiBzcGhpbngoYmxkKToKKyAgICB2ZXJzaW9uKGJsZCkKKworICAgIGlmIG5vdCBibGQuZW52LlNQSElOWF9CVUlMRDoKKyAgICAgICAgYmxkLmZhdGFsKCdDYW5ub3QgYnVpbGQgZG9jdW1lbnRhdGlvbiAoInNwaGlueC1idWlsZCIgbm90IGZvdW5kIGluIFBBVEgpJykKKworICAgIGJsZChmZWF0dXJlcz0nc3BoaW54JywKKyAgICAgICAgY29uZmlnPSdkb2NzL2NvbmYucHknLAorICAgICAgICBvdXRkaXI9J2RvY3MnLAorICAgICAgICBzb3VyY2U9YmxkLnBhdGguYW50X2dsb2IoJ2RvY3MvKiovKi5yc3QnKSwKKyAgICAgICAgVkVSU0lPTj1WRVJTSU9OKQogCiBkZWYgdmVyc2lvbihjdHgpOgorICAgICMgZG9uJ3QgZXhlY3V0ZSBtb3JlIHRoYW4gb25jZQogICAgIGlmIGdldGF0dHIoQ29udGV4dC5nX21vZHVsZSwgJ1ZFUlNJT05fQkFTRScsIE5vbmUpOgogICAgICAgICByZXR1cm4KIAogICAgIENvbnRleHQuZ19tb2R1bGUuVkVSU0lPTl9CQVNFID0gQ29udGV4dC5nX21vZHVsZS5WRVJTSU9OCi0gICAgQ29udGV4dC5nX21vZHVsZS5WRVJTSU9OX1NQTElUID0gW3YgZm9yIHYgaW4gVkVSU0lPTl9CQVNFLnNwbGl0KCcuJyldCisgICAgQ29udGV4dC5nX21vZHVsZS5WRVJTSU9OX1NQTElUID0gVkVSU0lPTl9CQVNFLnNwbGl0KCcuJykKIAotICAgIGRpZEdldFZlcnNpb24gPSBGYWxzZQorICAgICMgZmlyc3QsIHRyeSB0byBnZXQgYSB2ZXJzaW9uIHN0cmluZyBmcm9tIGdpdAorICAgIGdvdFZlcnNpb25Gcm9tR2l0ID0gRmFsc2UKICAgICB0cnk6CiAgICAgICAgIGNtZCA9IFsnZ2l0JywgJ2Rlc2NyaWJlJywgJy0tYWx3YXlzJywgJy0tbWF0Y2gnLCAnJXMqJyAlIEdJVF9UQUdfUFJFRklYXQotICAgICAgICBwID0gVXRpbHMuc3VicHJvY2Vzcy5Qb3BlbihjbWQsIHN0ZG91dD1VdGlscy5zdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1Ob25lLCBzdGRpbj1Ob25lKQotICAgICAgICBvdXQgPSBzdHIocC5jb21tdW5pY2F0ZSgpWzBdLnN0cmlwKCkpCi0gICAgICAgIGRpZEdldFZlcnNpb24gPSAocC5yZXR1cm5jb2RlID09IDAgYW5kIG91dCAhPSAiIikKLSAgICAgICAgaWYgZGlkR2V0VmVyc2lvbjoKKyAgICAgICAgb3V0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kLCB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICBpZiBvdXQ6CisgICAgICAgICAgICBnb3RWZXJzaW9uRnJvbUdpdCA9IFRydWUKICAgICAgICAgICAgIGlmIG91dC5zdGFydHN3aXRoKEdJVF9UQUdfUFJFRklYKToKLSAgICAgICAgICAgICAgICBDb250ZXh0LmdfbW9kdWxlLlZFUlNJT04gPSBvdXRbbGVuKEdJVF9UQUdfUFJFRklYKTpdCisgICAgICAgICAgICAgICAgQ29udGV4dC5nX21vZHVsZS5WRVJTSU9OID0gb3V0LmxzdHJpcChHSVRfVEFHX1BSRUZJWCkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgQ29udGV4dC5nX21vZHVsZS5WRVJTSU9OID0gIiVzLWNvbW1pdC0lcyIgJSAoQ29udGV4dC5nX21vZHVsZS5WRVJTSU9OX0JBU0UsIG91dCkKLSAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAjIG5vIHRhZ3MgbWF0Y2hlZAorICAgICAgICAgICAgICAgIENvbnRleHQuZ19tb2R1bGUuVkVSU0lPTiA9ICclcy1jb21taXQtJXMnICUgKFZFUlNJT05fQkFTRSwgb3V0KQorICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKICAgICAgICAgcGFzcwogCiAgICAgdmVyc2lvbkZpbGUgPSBjdHgucGF0aC5maW5kX25vZGUoJ1ZFUlNJT04nKQotCi0gICAgaWYgbm90IGRpZEdldFZlcnNpb24gYW5kIHZlcnNpb25GaWxlIGlzIG5vdCBOb25lOgorICAgIGlmIG5vdCBnb3RWZXJzaW9uRnJvbUdpdCBhbmQgdmVyc2lvbkZpbGUgaXMgbm90IE5vbmU6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIENvbnRleHQuZ19tb2R1bGUuVkVSU0lPTiA9IHZlcnNpb25GaWxlLnJlYWQoKQogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGV4Y2VwdCAoT1NFcnJvciwgSU9FcnJvcik6CisgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yOgogICAgICAgICAgICAgcGFzcwogCiAgICAgIyB2ZXJzaW9uIHdhcyBvYnRhaW5lZCBmcm9tIGdpdCwgdXBkYXRlIFZFUlNJT04gZmlsZSBpZiBuZWNlc3NhcnkKICAgICBpZiB2ZXJzaW9uRmlsZSBpcyBub3QgTm9uZToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgdmVyc2lvbiA9IHZlcnNpb25GaWxlLnJlYWQoKQotICAgICAgICAgICAgaWYgdmVyc2lvbiA9PSBDb250ZXh0LmdfbW9kdWxlLlZFUlNJT046Ci0gICAgICAgICAgICAgICAgcmV0dXJuICMgbm8gbmVlZCB0byB1cGRhdGUKLSAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBJT0Vycm9yKToKLSAgICAgICAgICAgIExvZ3Mud2FybigiVkVSU0lPTiBmaWxlIGV4aXN0cywgYnV0IG5vdCByZWFkYWJsZSIpCisgICAgICAgICAgICBpZiB2ZXJzaW9uRmlsZS5yZWFkKCkgPT0gQ29udGV4dC5nX21vZHVsZS5WRVJTSU9OOgorICAgICAgICAgICAgICAgICMgYWxyZWFkeSB1cC10by1kYXRlCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yIGFzIGU6CisgICAgICAgICAgICBMb2dzLndhcm4oJyVzIGV4aXN0cyBidXQgaXMgbm90IHJlYWRhYmxlICglcyknICUgKHZlcnNpb25GaWxlLCBlLnN0cmVycm9yKSkKICAgICBlbHNlOgogICAgICAgICB2ZXJzaW9uRmlsZSA9IGN0eC5wYXRoLm1ha2Vfbm9kZSgnVkVSU0lPTicpCiAKLSAgICBpZiB2ZXJzaW9uRmlsZSBpcyBOb25lOgotICAgICAgICByZXR1cm4KLQogICAgIHRyeToKICAgICAgICAgdmVyc2lvbkZpbGUud3JpdGUoQ29udGV4dC5nX21vZHVsZS5WRVJTSU9OKQotICAgIGV4Y2VwdCAoT1NFcnJvciwgSU9FcnJvcik6Ci0gICAgICAgIExvZ3Mud2FybigiVkVSU0lPTiBmaWxlIGlzIG5vdCB3cml0ZWFibGUiKQorICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yIGFzIGU6CisgICAgICAgIExvZ3Mud2FybignJXMgaXMgbm90IHdyaXRhYmxlICglcyknICUgKHZlcnNpb25GaWxlLCBlLnN0cmVycm9yKSkKIAogZGVmIGRpc3QoY3R4KToKICAgICB2ZXJzaW9uKGN0eCkK