ZGlmZiAtLWdpdCBhL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvY2FjaGUuY2NmIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9jYWNoZS5jY2YKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJjYWNlMQotLS0gL2Rldi9udWxsCisrKyBiL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvY2FjaGUuY2NmCkBAIC0wLDAgKzEsNTIgQEAKKyM8IS0tLyotDQorIyAgICAgICAgKiA9PT09PT09PT09PT1MSUNFTlNFX1NUQVJUPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMgICAgICAgICogT1NBTSBDb3JlDQorIyAgICAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMgICAgICAgICogQ29weXJpZ2h0IChDKSAyMDE4IEFUJlQNCisjICAgICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorIyAgICAgICAgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisjICAgICAgICAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisjICAgICAgICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyMgICAgICAgICoNCisjICAgICAgICAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQorIyAgICAgICAgKg0KKyMgICAgICAgICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KKyMgICAgICAgICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisjICAgICAgICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyMgICAgICAgICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KKyMgICAgICAgICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorIyAgICAgICAgKiA9PT09PT09PT09PT1MSUNFTlNFX0VORD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMgICAgICAgICovDQorIy0tPg0KKw0KKw0KKyMgREVGQVVMVCBDQUNIRSBSRUdJT04NCitqY3MuZGVmYXVsdD1EQw0KK2pjcy5kZWZhdWx0LmNhY2hlYXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5lbmdpbmUuQ29tcG9zaXRlQ2FjaGVBdHRyaWJ1dGVzDQoramNzLmRlZmF1bHQuY2FjaGVhdHRyaWJ1dGVzLk1heE9iamVjdHM9MTAwMA0KK2pjcy5kZWZhdWx0LmNhY2hlYXR0cmlidXRlcy5NZW1vcnlDYWNoZU5hbWU9b3JnLmFwYWNoZS5qY3MuZW5naW5lLm1lbW9yeS5scnUuTFJVTWVtb3J5Q2FjaGUNCitqY3MuZGVmYXVsdC5lbGVtZW50YXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5lbmdpbmUuRWxlbWVudEF0dHJpYnV0ZXMNCitqY3MuZGVmYXVsdC5lbGVtZW50YXR0cmlidXRlcy5Jc0V0ZXJuYWw9dHJ1ZQ0KK2pjcy5kZWZhdWx0LmVsZW1lbnRhdHRyaWJ1dGVzLklzU3Bvb2w9dHJ1ZQ0KKw0KKw0KKyMgTUVNT1JZIFNIUklOS0lORyBDT05GSUdVUkFUSU9OIChDb21tZW50ZWQpDQorI2pjcy5kZWZhdWx0LmNhY2hlYXR0cmlidXRlcy5Vc2VNZW1vcnlTaHJpbmtlcj10cnVlDQorI2pjcy5kZWZhdWx0LmNhY2hlYXR0cmlidXRlcy5NYXhNZW1vcnlJZGxlVGltZVNlY29uZHM9MzYwMA0KKyNqY3MuZGVmYXVsdC5jYWNoZWF0dHJpYnV0ZXMuU2hyaW5rZXJJbnRlcnZhbFNlY29uZHM9NjANCisjamNzLmRlZmF1bHQuY2FjaGVhdHRyaWJ1dGVzLk1heFNwb29sUGVyUnVuPTUwMA0KKyNqY3MuZGVmYXVsdC5lbGVtZW50YXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5lbmdpbmUuRWxlbWVudEF0dHJpYnV0ZXMNCisjamNzLmRlZmF1bHQuZWxlbWVudGF0dHJpYnV0ZXMuSXNFdGVybmFsPWZhbHNlDQorDQorDQorIyBBVVhJTExBUlkgQ0FDSEUgQ09ORklHVVJBVElPTg0KK2pjcy5hdXhpbGlhcnkuREM9b3JnLmFwYWNoZS5qY3MuYXV4aWxpYXJ5LmRpc2suaW5kZXhlZC5JbmRleGVkRGlza0NhY2hlRmFjdG9yeQ0KK2pjcy5hdXhpbGlhcnkuREMuYXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5hdXhpbGlhcnkuZGlzay5pbmRleGVkLkluZGV4ZWREaXNrQ2FjaGVBdHRyaWJ1dGVzDQoramNzLmF1eGlsaWFyeS5EQy5hdHRyaWJ1dGVzLkRpc2tQYXRoPS90bXANCisNCisNCisjIFBSRS1ERUZJTkVEIFJFR0lPTiBGT1IgTE9PS1VQIERBVEENCitqY3MucmVnaW9uLmxvb2tVcE9iamVjdENhY2hlPURDDQoramNzLnJlZ2lvbi5sb29rVXBPYmplY3RDYWNoZS5jYWNoZWF0dHJpYnV0ZXM9b3JnLmFwYWNoZS5qY3MuZW5naW5lLkNvbXBvc2l0ZUNhY2hlQXR0cmlidXRlcw0KK2pjcy5yZWdpb24ubG9va1VwT2JqZWN0Q2FjaGUuY2FjaGVhdHRyaWJ1dGVzLk1heE9iamVjdHM9NDAwMA0KK2pjcy5yZWdpb24ubG9va1VwT2JqZWN0Q2FjaGUuY2FjaGVhdHRyaWJ1dGVzLk1lbW9yeUNhY2hlTmFtZT1vcmcuYXBhY2hlLmpjcy5lbmdpbmUubWVtb3J5LmxydS5MUlVNZW1vcnlDYWNoZQ0KZGlmZiAtLWdpdCBhL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvY2FjaGVfdGVtcGxhdGUuY2NmIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9jYWNoZV90ZW1wbGF0ZS5jY2YKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTljMzZiYgotLS0gL2Rldi9udWxsCisrKyBiL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvY2FjaGVfdGVtcGxhdGUuY2NmCkBAIC0wLDAgKzEsNTIgQEAKKyM8IS0tLyotDQorIyAgICAgICAgKiA9PT09PT09PT09PT1MSUNFTlNFX1NUQVJUPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMgICAgICAgICogT1NBTSBDb3JlDQorIyAgICAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMgICAgICAgICogQ29weXJpZ2h0IChDKSAyMDE4IEFUJlQNCisjICAgICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorIyAgICAgICAgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisjICAgICAgICAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisjICAgICAgICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyMgICAgICAgICoNCisjICAgICAgICAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQorIyAgICAgICAgKg0KKyMgICAgICAgICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KKyMgICAgICAgICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisjICAgICAgICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyMgICAgICAgICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KKyMgICAgICAgICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorIyAgICAgICAgKiA9PT09PT09PT09PT1MSUNFTlNFX0VORD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMgICAgICAgICovDQorIy0tPg0KKw0KKw0KKyMgREVGQVVMVCBDQUNIRSBSRUdJT04NCitqY3MuZGVmYXVsdD1EQw0KK2pjcy5kZWZhdWx0LmNhY2hlYXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5lbmdpbmUuQ29tcG9zaXRlQ2FjaGVBdHRyaWJ1dGVzDQoramNzLmRlZmF1bHQuY2FjaGVhdHRyaWJ1dGVzLk1heE9iamVjdHM9MTAwMA0KK2pjcy5kZWZhdWx0LmNhY2hlYXR0cmlidXRlcy5NZW1vcnlDYWNoZU5hbWU9b3JnLmFwYWNoZS5qY3MuZW5naW5lLm1lbW9yeS5scnUuTFJVTWVtb3J5Q2FjaGUNCitqY3MuZGVmYXVsdC5lbGVtZW50YXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5lbmdpbmUuRWxlbWVudEF0dHJpYnV0ZXMNCitqY3MuZGVmYXVsdC5lbGVtZW50YXR0cmlidXRlcy5Jc0V0ZXJuYWw9dHJ1ZQ0KK2pjcy5kZWZhdWx0LmVsZW1lbnRhdHRyaWJ1dGVzLklzU3Bvb2w9dHJ1ZQ0KKw0KKw0KKyMgTUVNT1JZIFNIUklOS0lORyBDT05GSUdVUkFUSU9OIChDb21tZW50ZWQpDQorI2pjcy5kZWZhdWx0LmNhY2hlYXR0cmlidXRlcy5Vc2VNZW1vcnlTaHJpbmtlcj10cnVlDQorI2pjcy5kZWZhdWx0LmNhY2hlYXR0cmlidXRlcy5NYXhNZW1vcnlJZGxlVGltZVNlY29uZHM9MzYwMA0KKyNqY3MuZGVmYXVsdC5jYWNoZWF0dHJpYnV0ZXMuU2hyaW5rZXJJbnRlcnZhbFNlY29uZHM9NjANCisjamNzLmRlZmF1bHQuY2FjaGVhdHRyaWJ1dGVzLk1heFNwb29sUGVyUnVuPTUwMA0KKyNqY3MuZGVmYXVsdC5lbGVtZW50YXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5lbmdpbmUuRWxlbWVudEF0dHJpYnV0ZXMNCisjamNzLmRlZmF1bHQuZWxlbWVudGF0dHJpYnV0ZXMuSXNFdGVybmFsPWZhbHNlDQorDQorDQorIyBBVVhJTExBUlkgQ0FDSEUgQ09ORklHVVJBVElPTg0KK2pjcy5hdXhpbGlhcnkuREM9b3JnLmFwYWNoZS5qY3MuYXV4aWxpYXJ5LmRpc2suaW5kZXhlZC5JbmRleGVkRGlza0NhY2hlRmFjdG9yeQ0KK2pjcy5hdXhpbGlhcnkuREMuYXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5hdXhpbGlhcnkuZGlzay5pbmRleGVkLkluZGV4ZWREaXNrQ2FjaGVBdHRyaWJ1dGVzDQoramNzLmF1eGlsaWFyeS5EQy5hdHRyaWJ1dGVzLkRpc2tQYXRoPSR7Q0FDSEVfRElSRUNUT1JZfQ0KKw0KKw0KKyMgUFJFLURFRklORUQgUkVHSU9OIEZPUiBMT09LVVAgREFUQQ0KK2pjcy5yZWdpb24ubG9va1VwT2JqZWN0Q2FjaGU9REMNCitqY3MucmVnaW9uLmxvb2tVcE9iamVjdENhY2hlLmNhY2hlYXR0cmlidXRlcz1vcmcuYXBhY2hlLmpjcy5lbmdpbmUuQ29tcG9zaXRlQ2FjaGVBdHRyaWJ1dGVzDQoramNzLnJlZ2lvbi5sb29rVXBPYmplY3RDYWNoZS5jYWNoZWF0dHJpYnV0ZXMuTWF4T2JqZWN0cz00MDAwDQoramNzLnJlZ2lvbi5sb29rVXBPYmplY3RDYWNoZS5jYWNoZWF0dHJpYnV0ZXMuTWVtb3J5Q2FjaGVOYW1lPW9yZy5hcGFjaGUuamNzLmVuZ2luZS5tZW1vcnkubHJ1LkxSVU1lbW9yeUNhY2hlDQpkaWZmIC0tZ2l0IGEvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9jYXRhbG9nLmpzb24gYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL2NhdGFsb2cuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNWZiNTIxCi0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9jYXRhbG9nLmpzb24KQEAgLTAsMCArMSwxNzQgQEAKK3sNCisJInNlcnZpY2VzIjogew0KKwkJIjAzNDZhYTlmLTU3YjctNDU4YS05NjgxLWRhZjViMTlkNTJiMCI6IHsNCisJCQkidXVpZCI6ICIwMzQ2YWE5Zi01N2I3LTQ1OGEtOTY4MS1kYWY1YjE5ZDUyYjAiLA0KKwkJCSJuYW1lIjogIlRoZSBXb3JzdCBTZXJ2aWNlIiwNCisJCQkidmVyc2lvbiI6ICIxLjAiLA0KKwkJCSJ0b3NjYU1vZGVsVVJMIjogInNhbXBsZVRvc2NhLmNzYXIiLA0KKwkJCSJjYXRlZ29yeSI6ICJCYWQgU2VydmljZXMiLA0KKwkJCSJsaWZlY3ljbGVTdGF0ZSI6ICJOT1RfQ0VSVElGSUVEX0NIRUNLT1VUIiwNCisJCQkibGFzdFVwZGF0ZXJVc2VySWQiOiAiZXhhbXBsZUBleGFtcGxlLm9yZyIsDQorCQkJImxhc3RVcGRhdGVyRnVsbE5hbWUiOiAiRXhhbXBsZSBVc2VyIiwNCisJCQkiZGlzdHJpYnV0aW9uU3RhdHVzIjogIkRJU1RSSUJVVElPTl9SRUpFQ1RFRCIsDQorCQkJImFydGlmYWN0cyI6IFtdLA0KKwkJCSJyZXNvdXJjZXMiOiBbXQ0KKwkJfSwNCisJCSIxMzQ2YWE5Zi01N2I3LTQ1OGEtOTY4MS1kYWY1YjE5ZDUyYjEiOiB7DQorCQkJInV1aWQiOiAiMTM0NmFhOWYtNTdiNy00NThhLTk2ODEtZGFmNWIxOWQ1MmIxIiwNCisJCQkibmFtZSI6ICJUaGUgV29yc3QgU2VydmljZSIsDQorCQkJInZlcnNpb24iOiAiMS4xIiwNCisJCQkidG9zY2FNb2RlbFVSTCI6ICJzYW1wbGVUb3NjYS5jc2FyIiwNCisJCQkiY2F0ZWdvcnkiOiAiQmFkIFNlcnZpY2VzIiwNCisJCQkibGlmZWN5Y2xlU3RhdGUiOiAiQ0VSVElGSUVEIiwNCisJCQkibGFzdFVwZGF0ZXJVc2VySWQiOiAiZXhhbXBsZUBleGFtcGxlLm9yZyIsDQorCQkJImxhc3RVcGRhdGVyRnVsbE5hbWUiOiAiRXhhbXBsZSBVc2VyIiwNCisJCQkiZGlzdHJpYnV0aW9uU3RhdHVzIjogIkRJU1RSSUJVVEVEIiwNCisJCQkiYXJ0aWZhY3RzIjogW10sDQorCQkJInJlc291cmNlcyI6IFtdDQorCQl9LA0KKwkJIjMzNDZhYTlmLTU3YjctNDU4YS05NjgxLWRhZjViMTlkNTJiMyI6IHsNCisJCQkidXVpZCI6ICIzMzQ2YWE5Zi01N2I3LTQ1OGEtOTY4MS1kYWY1YjE5ZDUyYjMiLA0KKwkJCSJuYW1lIjogIkJsYW5kIFNlcnZpY2UiLA0KKwkJCSJ2ZXJzaW9uIjogIjEuOSIsDQorCQkJInRvc2NhTW9kZWxVUkwiOiAic2FtcGxlVG9zY2EuY3NhciIsDQorCQkJImNhdGVnb3J5IjogIk5ldXRyYWwgU2VydmljZXMiLA0KKwkJCSJsaWZlY3ljbGVTdGF0ZSI6ICJDRVJUSUZJRUQiLA0KKwkJCSJsYXN0VXBkYXRlclVzZXJJZCI6ICJleGFtcGxlQGV4YW1wbGUub3JnIiwNCisJCQkibGFzdFVwZGF0ZXJGdWxsTmFtZSI6ICJFeGFtcGxlIFVzZXIiLA0KKwkJCSJkaXN0cmlidXRpb25TdGF0dXMiOiAiRElTVFJJQlVUSU9OX05PVF9BUFBST1ZFRCIsDQorCQkJImFydGlmYWN0cyI6IFtdLA0KKwkJCSJyZXNvdXJjZXMiOiBbXQ0KKwkJfSwNCisJCSIyMzQ2YWE5Zi01N2I3LTQ1OGEtOTY4MS1kYWY1YjE5ZDUyYjIiOiB7DQorCQkJInV1aWQiOiAiMjM0NmFhOWYtNTdiNy00NThhLTk2ODEtZGFmNWIxOWQ1MmIyIiwNCisJCQkibmFtZSI6ICJUaGUgQmVzdCBTZXJ2aWNlIiwNCisJCQkidmVyc2lvbiI6ICIxLjMiLA0KKwkJCSJ0b3NjYU1vZGVsVVJMIjogInNhbXBsZVRvc2NhLmNzYXIiLA0KKwkJCSJjYXRlZ29yeSI6ICJHb29kIFNlcnZpY2VzIiwNCisJCQkibGlmZWN5Y2xlU3RhdGUiOiAiQ0VSVElGSUVEIiwNCisJCQkibGFzdFVwZGF0ZXJVc2VySWQiOiAiZXhhbXBsZUBleGFtcGxlLm9yZyIsDQorCQkJImxhc3RVcGRhdGVyRnVsbE5hbWUiOiAiRXhhbXBsZSBVc2VyIiwNCisJCQkiZGlzdHJpYnV0aW9uU3RhdHVzIjogIkRJU1RSSUJVVElPTl9BUFBST1ZFRCIsDQorCQkJImFydGlmYWN0cyI6IFsNCisJCQkJCXsNCisJCQkJCQkiYXJ0aWZhY3RVVUlEIjogIjBjZjc4YzgxLTEyNDYtNDVlNy1hMTkwLWVhYTMwOWVlNTY4MCIsDQorCQkJCQkJImdlbmVyYXRlZEZyb21VVUlEIjogIjNjZjc4YzgxLTEyNDYtNDVlNy1hMTkwLWVhYTMwOWVlNTY4MCIsDQorCQkJCQkJImFydGlmYWN0TmFtZSI6ICJUaGUgV29yc3QgQXJ0aWZhY3QiLA0KKwkJCQkJCSJhcnRpZmFjdFR5cGUiOiAiSEVBVCIsDQorCQkJCQkJImFydGlmYWN0RGVzY3JpcHRpb24iOiAiVGhpcyBpcyB0aGUgd29yc3QgYXJ0aWZhY3QiLA0KKwkJCQkJCSJhcnRpZmFjdFVSTCI6ICJodHRwOi8vd3d3Lm9wZW5lY29tcC5vcmcvIiwNCisJCQkJCQkiYXJ0aWZhY3RUaW1lb3V0IjogIjYwIiwNCisJCQkJCQkiYXJ0aWZhY3RDaGVja3N1bSI6ICJBIHdvcnRoeSBjaGVja3N1bSIsDQorCQkJCQkJImFydGlmYWN0VmVyc2lvbiI6ICIwLjEiLA0KKwkJCQkJfSwNCisJCQkJCXsNCisJCQkJCQkiYXJ0aWZhY3RVVUlEIjogIjFjZjc4YzgxLTEyNDYtNDVlNy1hMTkwLWVhYTMwOWVlNTY4MSIsDQorCQkJCQkJImdlbmVyYXRlZEZyb21VVUlEIjogIjNjZjc4YzgxLTEyNDYtNDVlNy1hMTkwLWVhYTMwOWVlNTY4MCIsDQorCQkJCQkJImFydGlmYWN0TmFtZSI6ICJUaGUgV29yc3QgQXJ0aWZhY3QiLA0KKwkJCQkJCSJhcnRpZmFjdFR5cGUiOiAiSEVBVCIsDQorCQkJCQkJImFydGlmYWN0RGVzY3JpcHRpb24iOiAiVGhpcyBpcyB0aGUgd29yc3QgYXJ0aWZhY3QiLA0KKwkJCQkJCSJhcnRpZmFjdFVSTCI6ICJodHRwOi8vd3d3Lm9wZW5lY29tcC5vcmcvIiwNCisJCQkJCQkiYXJ0aWZhY3RUaW1lb3V0IjogIjYwIiwNCisJCQkJCQkiYXJ0aWZhY3RDaGVja3N1bSI6ICJBIHdvcnRoeSBjaGVja3N1bSIsDQorCQkJCQkJImFydGlmYWN0VmVyc2lvbiI6ICIwLjEiLA0KKwkJCQkJfSwNCisJCQkJCXsNCisJCQkJCQkiYXJ0aWZhY3RVVUlEIjogIjJjZjc4YzgxLTEyNDYtNDVlNy1hMTkwLWVhYTMwOWVlNTY4MiIsDQorCQkJCQkJImdlbmVyYXRlZEZyb21VVUlEIjogIjNjZjc4YzgxLTEyNDYtNDVlNy1hMTkwLWVhYTMwOWVlNTY4MCIsDQorCQkJCQkJImFydGlmYWN0TmFtZSI6ICJUaGUgV29yc3QgQXJ0aWZhY3QiLA0KKwkJCQkJCSJhcnRpZmFjdFR5cGUiOiAiSEVBVCIsDQorCQkJCQkJImFydGlmYWN0RGVzY3JpcHRpb24iOiAiVGhpcyBpcyB0aGUgd29yc3QgYXJ0aWZhY3QiLA0KKwkJCQkJCSJhcnRpZmFjdFVSTCI6ICJodHRwOi8vd3d3Lm9wZW5lY29tcC5vcmcvIiwNCisJCQkJCQkiYXJ0aWZhY3RUaW1lb3V0IjogIjYwIiwNCisJCQkJCQkiYXJ0aWZhY3RDaGVja3N1bSI6ICJBIHdvcnRoeSBjaGVja3N1bSIsDQorCQkJCQkJImFydGlmYWN0VmVyc2lvbiI6ICIwLjEiLA0KKwkJCQkJfQ0KKwkJCV0sDQorCQkJInJlc291cmNlcyI6IFtdDQorCQl9DQorCX0sDQorCSJyZXNvdXJjZXMiOiB7DQorCQkiMmY5MmI1YjAtMTBmZi00Y2Y0LTk1MzEtODg1NDZmZTg4YTQyIjogew0KKwkJCSJ1dWlkIjogIjJmOTJiNWIwLTEwZmYtNGNmNC05NTMxLTg4NTQ2ZmU4OGE0MiIsDQorCQkJImludmFyaWFudFVVSUQiOiAiZGY5MmI1YjAtMTBmZi00Y2Y0LTk1MzEtODg1NDZmZTg4YTRkIiwNCisJCQkibmFtZSI6ICJUaGUgV29yc3QgUmVzb3VyY2UiLA0KKwkJCSJ2ZXJzaW9uIjogIjAuMSIsDQorCQkJInRvc2NhTW9kZWxVUkwiOiAic2FtcGxlVG9zY2EuY3NhciIsDQorCQkJInRvc2NhTW9kZWwiOiAiaHR0cDovL3d3dy5vcGVuZWNvbXAub3JnLyIsDQorCQkJInRvc2NhUmVzb3VyY2VOYW1lIjogIlRoZSBXb3JzdCBSZXNvdXJjZSAoVE9TQ0EpIiwNCisJCQkiY2F0ZWdvcnkiOiAiQmFkIFJlc291cmNlcyIsDQorCQkJInN1YkNhdGVnb3J5IjogIlJlYWxseSBCYWQgUmVzb3VyY2VzIiwNCisJCQkicmVzb3VyY2VUeXBlIjogIlZGIiwNCisJCQkibGlmZWN5Y2xlU3RhdGUiOiAiQ0VSVElGSUVEIiwNCisJCQkibGFzdFVwZGF0ZXJVc2VySWQiOiAiZXhhbXBsZUBleGFtcGxlLm9yZyIsDQorCQkJImxhc3RVcGRhdGVyRnVsbE5hbWUiOiAiRXhhbXBsZSBVc2VyIiwNCisJCQkiYXJ0aWZhY3RzIjogWw0KKwkJCQkJew0KKwkJCQkJCSJhcnRpZmFjdFVVSUQiOiAiMGNmNzhjODEtMTI0Ni00NWU3LWExOTAtZWFhMzA5ZWU1NjgwIiwNCisJCQkJCQkiZ2VuZXJhdGVkRnJvbVVVSUQiOiAiM2NmNzhjODEtMTI0Ni00NWU3LWExOTAtZWFhMzA5ZWU1NjgwIiwNCisJCQkJCQkiYXJ0aWZhY3ROYW1lIjogIlRoZSBXb3JzdCBBcnRpZmFjdCIsDQorCQkJCQkJImFydGlmYWN0VHlwZSI6ICJIRUFUIiwNCisJCQkJCQkiYXJ0aWZhY3REZXNjcmlwdGlvbiI6ICJUaGlzIGlzIHRoZSB3b3JzdCBhcnRpZmFjdCIsDQorCQkJCQkJImFydGlmYWN0VVJMIjogImh0dHA6Ly93d3cub3BlbmVjb21wLm9yZy8iLA0KKwkJCQkJCSJhcnRpZmFjdFRpbWVvdXQiOiAiNjAiLA0KKwkJCQkJCSJhcnRpZmFjdENoZWNrc3VtIjogIkEgd29ydGh5IGNoZWNrc3VtIiwNCisJCQkJCQkiYXJ0aWZhY3RWZXJzaW9uIjogIjAuMSIsDQorCQkJCQl9LA0KKwkJCQkJew0KKwkJCQkJCSJhcnRpZmFjdFVVSUQiOiAiMWNmNzhjODEtMTI0Ni00NWU3LWExOTAtZWFhMzA5ZWU1NjgxIiwNCisJCQkJCQkiZ2VuZXJhdGVkRnJvbVVVSUQiOiAiM2NmNzhjODEtMTI0Ni00NWU3LWExOTAtZWFhMzA5ZWU1NjgwIiwNCisJCQkJCQkiYXJ0aWZhY3ROYW1lIjogIlRoZSBXb3JzdCBBcnRpZmFjdCIsDQorCQkJCQkJImFydGlmYWN0VHlwZSI6ICJIRUFUIiwNCisJCQkJCQkiYXJ0aWZhY3REZXNjcmlwdGlvbiI6ICJUaGlzIGlzIHRoZSB3b3JzdCBhcnRpZmFjdCIsDQorCQkJCQkJImFydGlmYWN0VVJMIjogImh0dHA6Ly93d3cub3BlbmVjb21wLm9yZy8iLA0KKwkJCQkJCSJhcnRpZmFjdFRpbWVvdXQiOiAiNjAiLA0KKwkJCQkJCSJhcnRpZmFjdENoZWNrc3VtIjogIkEgd29ydGh5IGNoZWNrc3VtIiwNCisJCQkJCQkiYXJ0aWZhY3RWZXJzaW9uIjogIjAuMSIsDQorCQkJCQl9LA0KKwkJCQkJew0KKwkJCQkJCSJhcnRpZmFjdFVVSUQiOiAiMmNmNzhjODEtMTI0Ni00NWU3LWExOTAtZWFhMzA5ZWU1NjgyIiwNCisJCQkJCQkiZ2VuZXJhdGVkRnJvbVVVSUQiOiAiM2NmNzhjODEtMTI0Ni00NWU3LWExOTAtZWFhMzA5ZWU1NjgwIiwNCisJCQkJCQkiYXJ0aWZhY3ROYW1lIjogIlRoZSBXb3JzdCBBcnRpZmFjdCIsDQorCQkJCQkJImFydGlmYWN0VHlwZSI6ICJIRUFUIiwNCisJCQkJCQkiYXJ0aWZhY3REZXNjcmlwdGlvbiI6ICJUaGlzIGlzIHRoZSB3b3JzdCBhcnRpZmFjdCIsDQorCQkJCQkJImFydGlmYWN0VVJMIjogImh0dHA6Ly93d3cub3BlbmVjb21wLm9yZy8iLA0KKwkJCQkJCSJhcnRpZmFjdFRpbWVvdXQiOiAiNjAiLA0KKwkJCQkJCSJhcnRpZmFjdENoZWNrc3VtIjogIkEgd29ydGh5IGNoZWNrc3VtIiwNCisJCQkJCQkiYXJ0aWZhY3RWZXJzaW9uIjogIjAuMSIsDQorCQkJCQl9DQorCQkJXQ0KKwkJfSwNCisJCSIwZjkyYjViMC0xMGZmLTRjZjQtOTUzMS04ODU0NmZlODhhNDAiOiB7DQorCQkJInV1aWQiOiAiMGY5MmI1YjAtMTBmZi00Y2Y0LTk1MzEtODg1NDZmZTg4YTQwIiwNCisJCQkiaW52YXJpYW50VVVJRCI6ICJkZjkyYjViMC0xMGZmLTRjZjQtOTUzMS04ODU0NmZlODhhNGQiLA0KKwkJCSJuYW1lIjogIlRoZSBXb3JzdCBSZXNvdXJjZSIsDQorCQkJInZlcnNpb24iOiAiMC4xIiwNCisJCQkidG9zY2FNb2RlbFVSTCI6ICJzYW1wbGVUb3NjYS5jc2FyIiwNCisJCQkidG9zY2FNb2RlbCI6ICJodHRwOi8vd3d3Lm9wZW5lY29tcC5vcmcvIiwNCisJCQkidG9zY2FSZXNvdXJjZU5hbWUiOiAiVGhlIFdvcnN0IFJlc291cmNlIChUT1NDQSkiLA0KKwkJCSJjYXRlZ29yeSI6ICJCYWQgUmVzb3VyY2VzIiwNCisJCQkic3ViQ2F0ZWdvcnkiOiAiUmVhbGx5IEJhZCBSZXNvdXJjZXMiLA0KKwkJCSJyZXNvdXJjZVR5cGUiOiAiVkYiLA0KKwkJCSJsaWZlY3ljbGVTdGF0ZSI6ICJDRVJUSUZJRUQiLA0KKwkJCSJsYXN0VXBkYXRlclVzZXJJZCI6ICJleGFtcGxlQGV4YW1wbGUub3JnIiwNCisJCQkibGFzdFVwZGF0ZXJGdWxsTmFtZSI6ICJFeGFtcGxlIFVzZXIiLA0KKwkJCSJhcnRpZmFjdHMiOiBbXQ0KKwkJfSwNCisJCSIxZjkyYjViMC0xMGZmLTRjZjQtOTUzMS04ODU0NmZlODhhNDEiOiB7DQorCQkJInV1aWQiOiAiMWY5MmI1YjAtMTBmZi00Y2Y0LTk1MzEtODg1NDZmZTg4YTQxIiwNCisJCQkiaW52YXJpYW50VVVJRCI6ICJkZjkyYjViMC0xMGZmLTRjZjQtOTUzMS04ODU0NmZlODhhNGQiLA0KKwkJCSJuYW1lIjogIlRoZSBXb3JzdCBSZXNvdXJjZSIsDQorCQkJInZlcnNpb24iOiAiMC4xIiwNCisJCQkidG9zY2FNb2RlbFVSTCI6ICJzYW1wbGVUb3NjYS5jc2FyIiwNCisJCQkidG9zY2FNb2RlbCI6ICJodHRwOi8vd3d3Lm9wZW5lY29tcC5vcmcvIiwNCisJCQkidG9zY2FSZXNvdXJjZU5hbWUiOiAiVGhlIFdvcnN0IFJlc291cmNlIChUT1NDQSkiLA0KKwkJCSJjYXRlZ29yeSI6ICJCYWQgUmVzb3VyY2VzIiwNCisJCQkic3ViQ2F0ZWdvcnkiOiAiUmVhbGx5IEJhZCBSZXNvdXJjZXMiLA0KKwkJCSJyZXNvdXJjZVR5cGUiOiAiVkYiLA0KKwkJCSJsaWZlY3ljbGVTdGF0ZSI6ICJDRVJUSUZJRUQiLA0KKwkJCSJsYXN0VXBkYXRlclVzZXJJZCI6ICJleGFtcGxlQGV4YW1wbGUub3JnIiwNCisJCQkibGFzdFVwZGF0ZXJGdWxsTmFtZSI6ICJFeGFtcGxlIFVzZXIiLA0KKwkJCSJhcnRpZmFjdHMiOiBbXQ0KKwkJfQ0KKwl9DQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMva2V5LnByb3BlcnRpZXMgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL2tleS5wcm9wZXJ0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyYmZiNDgKLS0tIC9kZXYvbnVsbAorKysgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL2tleS5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsNDEgQEAKKyMjIw0KKyMgPT09PT09PT09PT09TElDRU5TRV9TVEFSVD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMgT05BUCBQb3J0YWwgU0RLDQorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorIyBDb3B5cmlnaHQgwqkgMjAxNyBBVCZUIEludGVsbGVjdHVhbCBQcm9wZXJ0eS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisjDQorIyBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgYWxsIHNvZnR3YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgbGljZW5zZWQNCisjIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSDigJxMaWNlbnNl4oCdKTsNCisjIHlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCisjDQorIyAgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisjDQorIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisjDQorIyBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgYWxsIGRvY3VtZW50YXRpb24gY29udGFpbmVkIGhlcmVpbiBpcyBsaWNlbnNlZA0KKyMgdW5kZXIgdGhlIENyZWF0aXZlIENvbW1vbnMgTGljZW5zZSwgQXR0cmlidXRpb24gNC4wIEludGwuICh0aGUg4oCcTGljZW5zZeKAnSk7DQorIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBkb2N1bWVudGF0aW9uIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCisjDQorIyAgICAgICAgICAgICBodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLw0KKyMNCisjIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgZG9jdW1lbnRhdGlvbg0KKyMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KKyMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorIw0KKyMgPT09PT09PT09PT09TElDRU5TRV9FTkQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMNCisjIEVDT01QIGlzIGEgdHJhZGVtYXJrIGFuZCBzZXJ2aWNlIG1hcmsgb2YgQVQmVCBJbnRlbGxlY3R1YWwgUHJvcGVydHkuDQorIyMjDQorDQorIyBQcm9wZXJ0aWVzIHJlYWQgYnkgdGhlIEVDT01QIEZyYW1ld29yayBsaWJyYXJ5IChlcHNkay1mdykNCisNCitjaXBoZXIuZW5jLmtleSA9IEFHTERkRzREMDRCS20ySXhJV0VyOG89PSEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL2xvZ2JhY2sueG1sIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9sb2diYWNrLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGI1MzRkCi0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9sb2diYWNrLnhtbApAQCAtMCwwICsxLDM3MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCis8IS0tDQorICA9PT09PT09PT09PT1MSUNFTlNFX1NUQVJUPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICBPTkFQIFBvcnRhbCBTREsNCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgIENvcHlyaWdodCDCqSAyMDE3IEFUJlQgSW50ZWxsZWN0dWFsIFByb3BlcnR5LiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyANCisgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCBhbGwgc29mdHdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBsaWNlbnNlZA0KKyAgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIOKAnExpY2Vuc2XigJ0pOw0KKyAgeW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyANCisgICAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKyANCisgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQorICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCisgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KKyANCisgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCBhbGwgZG9jdW1lbnRhdGlvbiBjb250YWluZWQgaGVyZWluIGlzIGxpY2Vuc2VkDQorICB1bmRlciB0aGUgQ3JlYXRpdmUgQ29tbW9ucyBMaWNlbnNlLCBBdHRyaWJ1dGlvbiA0LjAgSW50bC4gKHRoZSDigJxMaWNlbnNl4oCdKTsNCisgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGRvY3VtZW50YXRpb24gZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyANCisgICAgICAgICAgICAgIGh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvDQorIA0KKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBkb2N1bWVudGF0aW9uDQorICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisgDQorICA9PT09PT09PT09PT1MSUNFTlNFX0VORD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorIA0KKyAgRUNPTVAgaXMgYSB0cmFkZW1hcmsgYW5kIHNlcnZpY2UgbWFyayBvZiBBVCZUIEludGVsbGVjdHVhbCBQcm9wZXJ0eS4NCisgIC0tPg0KKzxjb25maWd1cmF0aW9uIHNjYW49InRydWUiIHNjYW5QZXJpb2Q9IjMgc2Vjb25kcyIgZGVidWc9InRydWUiPg0KKyAgPCEtLSANCisgIExvZ2JhY2sgZmlsZXMgZm9yIHRoZSBPTkFQIFBvcnRhbCBTREsgQXBwbGljYXRpb24gImVwc2RrLWFwcC1vcyINCisgIGFyZSBjcmVhdGVkIGluIGRpcmVjdG9yeSAke2NhdGFsaW5hLmJhc2V9L2xvZ3MvZXBzZGtfYXBwX29zOw0KKyAgZS5nLiwgYXBhY2hlLXRvbWNhdC04LjAuMzUvbG9ncy9lcHNka19hcHBfb3MvYXBwbGljYXRpb24ubG9nICANCisgIC0tPg0KKyAgPCEtLTxqbXhDb25maWd1cmF0b3IgLz4gLS0+DQorDQorICA8IS0tICBzcGVjaWZ5IHRoZSBjb21wb25lbnQgbmFtZSAtLT4NCisgIDxwcm9wZXJ0eSBuYW1lPSJjb21wb25lbnROYW1lIiB2YWx1ZT0iZXBfc2RrX2FwcCI+PC9wcm9wZXJ0eT4NCisgIA0KKyAgPCEtLSAgc3BlY2lmeSB0aGUgYmFzZSBwYXRoIG9mIHRoZSBsb2cgZGlyZWN0b3J5IC0tPg0KKyAgPHByb3BlcnR5IG5hbWU9ImxvZ0RpclByZWZpeCIgdmFsdWU9IiR7Y2F0YWxpbmEuYmFzZX0vbG9ncyI+PC9wcm9wZXJ0eT4NCisgIA0KKyAgPCEtLSBUaGUgZGlyZWN0b3JpZXMgd2hlcmUgbG9ncyBhcmUgd3JpdHRlbiAtLT4NCisgIDxwcm9wZXJ0eSBuYW1lPSJsb2dEaXJlY3RvcnkiIHZhbHVlPSIke2xvZ0RpclByZWZpeH0vJHtjb21wb25lbnROYW1lfSIgLz4NCisgIDwhLS0gQ2FuIGVhc2lseSByZWxvY2F0ZSBkZWJ1ZyBsb2dzIGJ5IG1vZGlmeWluZyB0aGlzIHBhdGguIC0tPg0KKyAgPHByb3BlcnR5IG5hbWU9ImRlYnVnTG9nRGlyZWN0b3J5IiB2YWx1ZT0iJHtsb2dEaXJQcmVmaXh9LyR7Y29tcG9uZW50TmFtZX0iIC8+DQorICANCisgIDwhLS0gIGxvZyBmaWxlIG5hbWVzIC0tPg0KKyAgPHByb3BlcnR5IG5hbWU9ImdlbmVyYWxMb2dOYW1lIiB2YWx1ZT0iYXBwbGljYXRpb24iIC8+DQorICA8cHJvcGVydHkgbmFtZT0iZXJyb3JMb2dOYW1lIiB2YWx1ZT0iZXJyb3IiIC8+DQorICA8cHJvcGVydHkgbmFtZT0ibWV0cmljc0xvZ05hbWUiIHZhbHVlPSJtZXRyaWNzIiAvPg0KKyAgPHByb3BlcnR5IG5hbWU9ImF1ZGl0TG9nTmFtZSIgdmFsdWU9ImF1ZGl0IiAvPg0KKyAgPHByb3BlcnR5IG5hbWU9ImRlYnVnTG9nTmFtZSIgdmFsdWU9ImRlYnVnIiAvPg0KKyAgPCEtLQ0KKyAgVGhlc2UgbG9nZ2VycyBhcmUgbm90IHVzZWQgaW4gY29kZSAoeWV0KS4gDQorICA8cHJvcGVydHkgbmFtZT0ic2VjdXJpdHlMb2dOYW1lIiB2YWx1ZT0ic2VjdXJpdHkiIC8+DQorICA8cHJvcGVydHkgbmFtZT0icG9saWN5TG9nTmFtZSIgdmFsdWU9InBvbGljeSIgLz4NCisgIDxwcm9wZXJ0eSBuYW1lPSJwZXJmb3JtYW5jZUxvZ05hbWUiIHZhbHVlPSJwZXJmb3JtYW5jZSIgLz4NCisgIDxwcm9wZXJ0eSBuYW1lPSJzZXJ2ZXJMb2dOYW1lIiB2YWx1ZT0ic2VydmVyIiAvPg0KKyAgIC0tPg0KKyAgDQorICA8IS0tIDE2MTAgTG9nZ2luZyBGaWVsZHMgRm9ybWF0IFJldmlzaW9ucyAtLT4gDQorICA8cHJvcGVydHkgbmFtZT0iYXVkaXRMb2dnZXJQYXR0ZXJuIg0KKwl2YWx1ZT0iJVh7QXVkaXRMb2dCZWdpblRpbWVzdGFtcH18JVh7QXVkaXRMb2dFbmRUaW1lc3RhbXB9fCVYe1JlcXVlc3RJZH18JVh7U2VydmljZUluc3RhbmNlSWR9fCV0aHJlYWR8JVh7VmlydHVhbFNlcnZlck5hbWV9fCVYe1NlcnZpY2VOYW1lfXwlWHtQYXJ0bmVyTmFtZX18JVh7U3RhdHVzQ29kZX18JVh7UmVzcG9uc2VDb2RlfXwlWHtSZXNwb25zZURlc2NyaXB0aW9ufXwlWHtJbnN0YW5jZVVVSUR9fCUuLTVsZXZlbHwlWHtBbGVydFNldmVyaXR5fXwlWHtTZXJ2ZXJJUEFkZHJlc3N9fCVYe1RpbWVyfXwlWHtTZXJ2ZXJGUUROfXwlWHtDbGllbnRJUEFkZHJlc3N9fCVYe0NsYXNzTmFtZX18JVh7VW51c2VkfXwlWHtQcm9jZXNzS2V5fXwlWHtDdXN0b21GaWVsZDF9fCVYe0N1c3RvbUZpZWxkMn18JVh7Q3VzdG9tRmllbGQzfXwlWHtDdXN0b21GaWVsZDR9fCAlbXNnJW4iIC8+DQorDQorICA8cHJvcGVydHkgbmFtZT0ibWV0cmljc0xvZ2dlclBhdHRlcm4iDQorCXZhbHVlPSIlWHtNZXRyaWNzTG9nQmVnaW5UaW1lc3RhbXB9fCVYe01ldHJpY3NMb2dFbmRUaW1lc3RhbXB9fCVYe1JlcXVlc3RJZH18JVh7U2VydmljZUluc3RhbmNlSWR9fCV0aHJlYWR8JVh7VmlydHVhbFNlcnZlck5hbWV9fCVYe1NlcnZpY2VOYW1lfXwlWHtQYXJ0bmVyTmFtZX18JVh7VGFyZ2V0RW50aXR5fXwlWHtUYXJnZXRTZXJ2aWNlTmFtZX18JVh7U3RhdHVzQ29kZX18JVh7UmVzcG9uc2VDb2RlfXwlWHtSZXNwb25zZURlc2NyaXB0aW9ufXwlWHtJbnN0YW5jZVVVSUR9fCUuLTVsZXZlbHwlWHtBbGVydFNldmVyaXR5fXwlWHtTZXJ2ZXJJUEFkZHJlc3N9fCVYe1RpbWVyfXwlWHtTZXJ2ZXJGUUROfXwlWHtDbGllbnRJUEFkZHJlc3N9fCVYe0NsYXNzTmFtZX18JVh7VW51c2VkfXwlWHtQcm9jZXNzS2V5fXwlWHtUYXJnZXRWaXN1YWxFbnRpdHl9fCVYe0N1c3RvbUZpZWxkMX18JVh7Q3VzdG9tRmllbGQyfXwlWHtDdXN0b21GaWVsZDN9fCVYe0N1c3RvbUZpZWxkNH18ICVtc2clbiIgLz4NCisNCisgIDxwcm9wZXJ0eSBuYW1lPSJlcnJvckxvZ2dlclBhdHRlcm4iDQorCXZhbHVlPSIlZGF0ZXt5eXl5LU1NLWRkJ1QnSEg6bW06c3MuU1NTWFhYfXwlWHtSZXF1ZXN0SWR9fCV0aHJlYWR8JVh7U2VydmljZU5hbWV9fCVYe1BhcnRuZXJOYW1lfXwlWHtUYXJnZXRFbnRpdHl9fCVYe1RhcmdldFNlcnZpY2VOYW1lfXwlWHtDbGFzc05hbWV9fCVYe0FsZXJ0U2V2ZXJpdHl9fCVYe0Vycm9yQ29kZX18JVh7RXJyb3JEZXNjcmlwdGlvbn18ICVtc2clbiIgLz4NCisNCisgIDxwcm9wZXJ0eSBuYW1lPSJkZWZhdWx0TG9nZ2VyUGF0dGVybiINCisJdmFsdWU9IiVkYXRle3l5eXktTU0tZGQnVCdISDptbTpzcy5TU1NYWFh9fCVYe1JlcXVlc3RJZH18JXRocmVhZHwlWHtDbGFzc05hbWV9fCAlbXNnJW4iIC8+DQorDQorICA8IS0tIHVzZSAlY2xhc3Mgc28gbGlicmFyeSBsb2dnaW5nIGNhbGxzIHlpZWxkIHRoZWlyIGNsYXNzIG5hbWUgLS0+DQorICA8cHJvcGVydHkgbmFtZT0iYXBwbGljYXRpb25Mb2dnZXJQYXR0ZXJuIg0KKwl2YWx1ZT0iJWRhdGV7eXl5eS1NTS1kZCdUJ0hIOm1tOnNzLlNTU1hYWH18JVh7UmVxdWVzdElkfXwldGhyZWFkfCVjbGFzc3szNn18ICVtc2clbiIgLz4NCisNCisgIDwhLS0gRXhhbXBsZSBldmFsdWF0b3IgZmlsdGVyIGFwcGxpZWQgYWdhaW5zdCBjb25zb2xlIGFwcGVuZGVyIC0tPg0KKyAgPGFwcGVuZGVyIG5hbWU9IlNURE9VVCIgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUuQ29uc29sZUFwcGVuZGVyIj4NCisgICAgPGVuY29kZXI+DQorICAgICAgPHBhdHRlcm4+JHtkZWZhdWx0TG9nZ2VyUGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorDQorICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQorICA8IS0tIEVFTEYgQXBwZW5kZXJzIC0tPg0KKyAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KKw0KKyAgPCEtLSBUaGUgRUVMRkFwcGVuZGVyIGlzIHVzZWQgdG8gcmVjb3JkIGV2ZW50cyB0byB0aGUgZ2VuZXJhbCBhcHBsaWNhdGlvbiANCisgICAgbG9nIC0tPg0KKyAgICANCisgICAgDQorICA8YXBwZW5kZXIgbmFtZT0iRUVMRiINCisgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5Sb2xsaW5nRmlsZUFwcGVuZGVyIj4NCisgICAgPGZpbGU+JHtsb2dEaXJlY3Rvcnl9LyR7Z2VuZXJhbExvZ05hbWV9LmxvZzwvZmlsZT4NCisgICAgPHJvbGxpbmdQb2xpY3kgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5UaW1lQmFzZWRSb2xsaW5nUG9saWN5Ij4gDQorICAgICAgPCEtLSBkYWlseSByb2xsb3ZlciAtLT4gDQorICAgICAgPGZpbGVOYW1lUGF0dGVybj4ke2xvZ0RpcmVjdG9yeX0vJHtnZW5lcmFsTG9nTmFtZX0uJWR7eXl5eS1NTS1kZH0ubG9nLnppcDwvZmlsZU5hbWVQYXR0ZXJuPiANCisgDQorICAgICAgPCEtLSBrZWVwIDMwIGRheXMnIHdvcnRoIG9mIGhpc3RvcnkgY2FwcGVkIGF0IDNHQiB0b3RhbCBzaXplIC0tPiANCisgICAgICA8bWF4SGlzdG9yeT4zMDwvbWF4SGlzdG9yeT4gDQorICAgICAgPHRvdGFsU2l6ZUNhcD4zR0I8L3RvdGFsU2l6ZUNhcD4gDQorIA0KKyAgICA8L3JvbGxpbmdQb2xpY3k+DQorICAgIDxlbmNvZGVyPg0KKyAgICAgIDxwYXR0ZXJuPiR7YXBwbGljYXRpb25Mb2dnZXJQYXR0ZXJufTwvcGF0dGVybj4NCisgICAgPC9lbmNvZGVyPg0KKyAgICA8ZmlsdGVyIGNsYXNzPSJvcmcub25hcC5wb3J0YWxhcHAudXRpbC5DdXN0b21Mb2dnaW5nRmlsdGVyIiAvPg0KKyAgPC9hcHBlbmRlcj4NCisgIA0KKyAgPGFwcGVuZGVyIG5hbWU9ImFzeW5jRUVMRiIgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNsYXNzaWMuQXN5bmNBcHBlbmRlciI+DQorICAgIDxxdWV1ZVNpemU+MjU2PC9xdWV1ZVNpemU+DQorICAgIDwhLS0gQ2xhc3MgbmFtZSBpcyBwYXJ0IG9mIGNhbGxlciBkYXRhIC0tPg0KKyAgICA8aW5jbHVkZUNhbGxlckRhdGE+dHJ1ZTwvaW5jbHVkZUNhbGxlckRhdGE+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJFRUxGIiAvPg0KKyAgPC9hcHBlbmRlcj4NCisNCisgIDwhLS0gRUVMRiBTZWN1cml0eSBBcHBlbmRlci4gVGhpcyBhcHBlbmRlciBpcyB1c2VkIHRvIHJlY29yZCBzZWN1cml0eSBldmVudHMgDQorICAgIHRvIHRoZSBzZWN1cml0eSBsb2cgZmlsZS4gU2VjdXJpdHkgZXZlbnRzIGFyZSBzZXBhcmF0ZSBmcm9tIG90aGVyIGxvZ2dlcnMgDQorICAgIGluIEVFTEYgc28gdGhhdCBzZWN1cml0eSBsb2cgcmVjb3JkcyBjYW4gYmUgY2FwdHVyZWQgYW5kIG1hbmFnZWQgaW4gYSBzZWN1cmUgDQorICAgIHdheSBzZXBhcmF0ZSBmcm9tIHRoZSBvdGhlciBsb2dzLiBUaGlzIGFwcGVuZGVyIGlzIHNldCB0byBuZXZlciBkaXNjYXJkIGFueSANCisgICAgZXZlbnRzLiAtLT4NCisgIDwhLS0gICAgIA0KKyAgPGFwcGVuZGVyIG5hbWU9IkVFTEZTZWN1cml0eSINCisgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5Sb2xsaW5nRmlsZUFwcGVuZGVyIj4NCisgICAgPGZpbGU+JHtsb2dEaXJlY3Rvcnl9LyR7c2VjdXJpdHlMb2dOYW1lfS5sb2c8L2ZpbGU+DQorICAgIDxyb2xsaW5nUG9saWN5DQorICAgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5GaXhlZFdpbmRvd1JvbGxpbmdQb2xpY3kiPg0KKyAgICAgIDxmaWxlTmFtZVBhdHRlcm4+JHtsb2dEaXJlY3Rvcnl9LyR7c2VjdXJpdHlMb2dOYW1lfS4laS5sb2cuemlwDQorICAgICAgPC9maWxlTmFtZVBhdHRlcm4+DQorICAgICAgPG1pbkluZGV4PjE8L21pbkluZGV4Pg0KKyAgICAgIDxtYXhJbmRleD45PC9tYXhJbmRleD4NCisgICAgPC9yb2xsaW5nUG9saWN5Pg0KKyAgICA8dHJpZ2dlcmluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuU2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSI+DQorICAgICAgPG1heEZpbGVTaXplPjVNQjwvbWF4RmlsZVNpemU+DQorICAgIDwvdHJpZ2dlcmluZ1BvbGljeT4NCisgICAgPGVuY29kZXI+DQorICAgICAgPHBhdHRlcm4+JHtkZWZhdWx0UGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorICANCisgIDxhcHBlbmRlciBuYW1lPSJhc3luY0VFTEZTZWN1cml0eSIgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNsYXNzaWMuQXN5bmNBcHBlbmRlciI+DQorICAgIDxxdWV1ZVNpemU+MjU2PC9xdWV1ZVNpemU+DQorICAgIDxkaXNjYXJkaW5nVGhyZXNob2xkPjA8L2Rpc2NhcmRpbmdUaHJlc2hvbGQ+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJFRUxGU2VjdXJpdHkiIC8+DQorICA8L2FwcGVuZGVyPg0KKyAgIC0tPg0KKyAgIA0KKyAgPCEtLSBFRUxGIFBlcmZvcm1hbmNlIEFwcGVuZGVyLiBUaGlzIGFwcGVuZGVyIGlzIHVzZWQgdG8gcmVjb3JkIHBlcmZvcm1hbmNlIA0KKyAgICByZWNvcmRzLiAtLT4NCisgIDwhLS0NCisgIDxhcHBlbmRlciBuYW1lPSJFRUxGUGVyZm9ybWFuY2UiDQorICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuUm9sbGluZ0ZpbGVBcHBlbmRlciI+DQorICAgIDxmaWxlPiR7bG9nRGlyZWN0b3J5fS8ke3BlcmZvcm1hbmNlTG9nTmFtZX0ubG9nPC9maWxlPg0KKyAgICA8cm9sbGluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuRml4ZWRXaW5kb3dSb2xsaW5nUG9saWN5Ij4NCisgICAgICA8ZmlsZU5hbWVQYXR0ZXJuPiR7bG9nRGlyZWN0b3J5fS8ke3BlcmZvcm1hbmNlTG9nTmFtZX0uJWkubG9nLnppcA0KKyAgICAgIDwvZmlsZU5hbWVQYXR0ZXJuPg0KKyAgICAgIDxtaW5JbmRleD4xPC9taW5JbmRleD4NCisgICAgICA8bWF4SW5kZXg+OTwvbWF4SW5kZXg+DQorICAgIDwvcm9sbGluZ1BvbGljeT4NCisgICAgPHRyaWdnZXJpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kiPg0KKyAgICAgIDxtYXhGaWxlU2l6ZT41TUI8L21heEZpbGVTaXplPg0KKyAgICA8L3RyaWdnZXJpbmdQb2xpY3k+DQorICAgIDxlbmNvZGVyPg0KKyAgICAgIDxvdXRwdXRQYXR0ZXJuQXNIZWFkZXI+dHJ1ZTwvb3V0cHV0UGF0dGVybkFzSGVhZGVyPg0KKyAgICAgIDxwYXR0ZXJuPiR7ZGVmYXVsdFBhdHRlcm59PC9wYXR0ZXJuPg0KKyAgICA8L2VuY29kZXI+DQorICA8L2FwcGVuZGVyPg0KKyAgPGFwcGVuZGVyIG5hbWU9ImFzeW5jRUVMRlBlcmZvcm1hbmNlIiBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY2xhc3NpYy5Bc3luY0FwcGVuZGVyIj4NCisgICAgPHF1ZXVlU2l6ZT4yNTY8L3F1ZXVlU2l6ZT4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9IkVFTEZQZXJmb3JtYW5jZSIgLz4NCisgIDwvYXBwZW5kZXI+DQorICAtLT4NCisNCisgIDwhLS0gRUVMRiBTZXJ2ZXIgQXBwZW5kZXIuIFRoaXMgYXBwZW5kZXIgaXMgdXNlZCB0byByZWNvcmQgU2VydmVyIHJlbGF0ZWQgDQorICAgIGxvZ2dpbmcgZXZlbnRzLiBUaGUgU2VydmVyIGxvZ2dlciBhbmQgYXBwZW5kZXIgYXJlIHNwZWNpYWxpemF0aW9ucyBvZiB0aGUgDQorICAgIEVFTEYgYXBwbGljYXRpb24gcm9vdCBsb2dnZXIgYW5kIGFwcGVuZGVyLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHNlZ3JlZ2F0ZSBTZXJ2ZXIgDQorICAgIGV2ZW50cyBmcm9tIG90aGVyIGNvbXBvbmVudHMsIG9yIGl0IGNhbiBiZSBlbGltaW5hdGVkIHRvIHJlY29yZCB0aGVzZSBldmVudHMgDQorICAgIGFzIHBhcnQgb2YgdGhlIGFwcGxpY2F0aW9uIHJvb3QgbG9nLiAtLT4NCisgIDwhLS0NCisgIDxhcHBlbmRlciBuYW1lPSJFRUxGU2VydmVyIg0KKyAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlJvbGxpbmdGaWxlQXBwZW5kZXIiPg0KKyAgICA8ZmlsZT4ke2xvZ0RpcmVjdG9yeX0vJHtzZXJ2ZXJMb2dOYW1lfS5sb2c8L2ZpbGU+DQorICAgIDxyb2xsaW5nUG9saWN5DQorICAgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5GaXhlZFdpbmRvd1JvbGxpbmdQb2xpY3kiPg0KKyAgICAgIDxmaWxlTmFtZVBhdHRlcm4+JHtsb2dEaXJlY3Rvcnl9LyR7c2VydmVyTG9nTmFtZX0uJWkubG9nLnppcA0KKyAgICAgIDwvZmlsZU5hbWVQYXR0ZXJuPg0KKyAgICAgIDxtaW5JbmRleD4xPC9taW5JbmRleD4NCisgICAgICA8bWF4SW5kZXg+OTwvbWF4SW5kZXg+DQorICAgIDwvcm9sbGluZ1BvbGljeT4NCisgICAgPHRyaWdnZXJpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kiPg0KKyAgICAgIDxtYXhGaWxlU2l6ZT41TUI8L21heEZpbGVTaXplPg0KKyAgICA8L3RyaWdnZXJpbmdQb2xpY3k+DQorICAgIDxlbmNvZGVyPg0KKyAgICAgICAgPHBhdHRlcm4+JHtkZWZhdWx0UGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorICA8YXBwZW5kZXIgbmFtZT0iYXN5bmNFRUxGU2VydmVyIiBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY2xhc3NpYy5Bc3luY0FwcGVuZGVyIj4NCisgICAgPHF1ZXVlU2l6ZT4yNTY8L3F1ZXVlU2l6ZT4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9IkVFTEZTZXJ2ZXIiIC8+DQorICA8L2FwcGVuZGVyPg0KKyAgIC0tPg0KKyAgDQorICA8IS0tIEVFTEYgUG9saWN5IEFwcGVuZGVyLiBUaGlzIGFwcGVuZGVyIGlzIHVzZWQgdG8gcmVjb3JkIFBvbGljeSBlbmdpbmUgDQorICAgIHJlbGF0ZWQgbG9nZ2luZyBldmVudHMuIFRoZSBQb2xpY3kgbG9nZ2VyIGFuZCBhcHBlbmRlciBhcmUgc3BlY2lhbGl6YXRpb25zIA0KKyAgICBvZiB0aGUgRUVMRiBhcHBsaWNhdGlvbiByb290IGxvZ2dlciBhbmQgYXBwZW5kZXIuIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2VncmVnYXRlIA0KKyAgICBQb2xpY3kgZW5naW5lIGV2ZW50cyBmcm9tIG90aGVyIGNvbXBvbmVudHMsIG9yIGl0IGNhbiBiZSBlbGltaW5hdGVkIHRvIHJlY29yZCANCisgICAgdGhlc2UgZXZlbnRzIGFzIHBhcnQgb2YgdGhlIGFwcGxpY2F0aW9uIHJvb3QgbG9nLiAtLT4NCisgIDwhLS0NCisgIDxhcHBlbmRlciBuYW1lPSJFRUxGUG9saWN5Ig0KKyAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlJvbGxpbmdGaWxlQXBwZW5kZXIiPg0KKyAgICA8ZmlsZT4ke2xvZ0RpcmVjdG9yeX0vJHtwb2xpY3lMb2dOYW1lfS5sb2c8L2ZpbGU+DQorICAgIDxyb2xsaW5nUG9saWN5DQorICAgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5GaXhlZFdpbmRvd1JvbGxpbmdQb2xpY3kiPg0KKyAgICAgIDxmaWxlTmFtZVBhdHRlcm4+JHtsb2dEaXJlY3Rvcnl9LyR7cG9saWN5TG9nTmFtZX0uJWkubG9nLnppcA0KKyAgICAgIDwvZmlsZU5hbWVQYXR0ZXJuPg0KKyAgICAgIDxtaW5JbmRleD4xPC9taW5JbmRleD4NCisgICAgICA8bWF4SW5kZXg+OTwvbWF4SW5kZXg+DQorICAgIDwvcm9sbGluZ1BvbGljeT4NCisgICAgPHRyaWdnZXJpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kiPg0KKyAgICAgIDxtYXhGaWxlU2l6ZT41TUI8L21heEZpbGVTaXplPg0KKyAgICA8L3RyaWdnZXJpbmdQb2xpY3k+DQorICAgIDxlbmNvZGVyPg0KKyAgICAgICAgPHBhdHRlcm4+JHtkZWZhdWx0UGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorICA8YXBwZW5kZXIgbmFtZT0iYXN5bmNFRUxGUG9saWN5IiBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY2xhc3NpYy5Bc3luY0FwcGVuZGVyIj4NCisgICAgPHF1ZXVlU2l6ZT4yNTY8L3F1ZXVlU2l6ZT4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9IkVFTEZQb2xpY3kiIC8+DQorICA8L2FwcGVuZGVyPg0KKyAgLS0+DQorICANCisgIDwhLS0gRUVMRiBBdWRpdCBBcHBlbmRlci4gVGhpcyBhcHBlbmRlciBpcyB1c2VkIHRvIHJlY29yZCBhdWRpdCBlbmdpbmUgDQorICAgIHJlbGF0ZWQgbG9nZ2luZyBldmVudHMuIFRoZSBhdWRpdCBsb2dnZXIgYW5kIGFwcGVuZGVyIGFyZSBzcGVjaWFsaXphdGlvbnMgDQorICAgIG9mIHRoZSBFRUxGIGFwcGxpY2F0aW9uIHJvb3QgbG9nZ2VyIGFuZCBhcHBlbmRlci4gVGhpcyBjYW4gYmUgdXNlZCB0byBzZWdyZWdhdGUgDQorICAgIFBvbGljeSBlbmdpbmUgZXZlbnRzIGZyb20gb3RoZXIgY29tcG9uZW50cywgb3IgaXQgY2FuIGJlIGVsaW1pbmF0ZWQgdG8gcmVjb3JkIA0KKyAgICB0aGVzZSBldmVudHMgYXMgcGFydCBvZiB0aGUgYXBwbGljYXRpb24gcm9vdCBsb2cuIC0tPg0KKyAgICANCisgIDxhcHBlbmRlciBuYW1lPSJFRUxGQXVkaXQiDQorICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuUm9sbGluZ0ZpbGVBcHBlbmRlciI+DQorICAgIDxmaWxlPiR7bG9nRGlyZWN0b3J5fS8ke2F1ZGl0TG9nTmFtZX0ubG9nPC9maWxlPg0KKyAgICA8cm9sbGluZ1BvbGljeSBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlRpbWVCYXNlZFJvbGxpbmdQb2xpY3kiPiANCisgICAgICA8IS0tIGRhaWx5IHJvbGxvdmVyIC0tPiANCisgICAgICA8ZmlsZU5hbWVQYXR0ZXJuPiR7bG9nRGlyZWN0b3J5fS8ke2F1ZGl0TG9nTmFtZX0uJWR7eXl5eS1NTS1kZH0ubG9nLnppcDwvZmlsZU5hbWVQYXR0ZXJuPiANCisgDQorICAgICAgPCEtLSBrZWVwIDMwIGRheXMnIHdvcnRoIG9mIGhpc3RvcnkgY2FwcGVkIGF0IDNHQiB0b3RhbCBzaXplIC0tPiANCisgICAgICA8bWF4SGlzdG9yeT4zMDwvbWF4SGlzdG9yeT4gDQorICAgICAgPHRvdGFsU2l6ZUNhcD4zR0I8L3RvdGFsU2l6ZUNhcD4gDQorIA0KKyAgICA8L3JvbGxpbmdQb2xpY3k+DQorICAgIDxlbmNvZGVyPg0KKyAgICAgICAgIDxwYXR0ZXJuPiR7YXVkaXRMb2dnZXJQYXR0ZXJufTwvcGF0dGVybj4NCisgICAgPC9lbmNvZGVyPg0KKyAgPC9hcHBlbmRlcj4NCisgIDxhcHBlbmRlciBuYW1lPSJhc3luY0VFTEZBdWRpdCIgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNsYXNzaWMuQXN5bmNBcHBlbmRlciI+DQorICAgIDxxdWV1ZVNpemU+MjU2PC9xdWV1ZVNpemU+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJFRUxGQXVkaXQiIC8+DQorICA8L2FwcGVuZGVyPg0KKw0KKyAgPGFwcGVuZGVyIG5hbWU9IkVFTEZNZXRyaWNzIg0KKyAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlJvbGxpbmdGaWxlQXBwZW5kZXIiPg0KKyAgICA8ZmlsZT4ke2xvZ0RpcmVjdG9yeX0vJHttZXRyaWNzTG9nTmFtZX0ubG9nPC9maWxlPg0KKyAgICA8cm9sbGluZ1BvbGljeSBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlRpbWVCYXNlZFJvbGxpbmdQb2xpY3kiPiANCisgICAgICA8IS0tIGRhaWx5IHJvbGxvdmVyIC0tPiANCisgICAgICA8ZmlsZU5hbWVQYXR0ZXJuPiR7bG9nRGlyZWN0b3J5fS8ke21ldHJpY3NMb2dOYW1lfS4lZHt5eXl5LU1NLWRkfS5sb2cuemlwPC9maWxlTmFtZVBhdHRlcm4+IA0KKyANCisgICAgICA8IS0tIGtlZXAgMzAgZGF5cycgd29ydGggb2YgaGlzdG9yeSBjYXBwZWQgYXQgM0dCIHRvdGFsIHNpemUgLS0+IA0KKyAgICAgIDxtYXhIaXN0b3J5PjMwPC9tYXhIaXN0b3J5PiANCisgICAgICA8dG90YWxTaXplQ2FwPjNHQjwvdG90YWxTaXplQ2FwPiANCisgDQorICAgIDwvcm9sbGluZ1BvbGljeT4NCisgICAgPGVuY29kZXI+DQorICAgICAgPHBhdHRlcm4+JHttZXRyaWNzTG9nZ2VyUGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorICANCisgIA0KKyAgPGFwcGVuZGVyIG5hbWU9ImFzeW5jRUVMRk1ldHJpY3MiIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jbGFzc2ljLkFzeW5jQXBwZW5kZXIiPg0KKyAgICA8cXVldWVTaXplPjI1NjwvcXVldWVTaXplPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iRUVMRk1ldHJpY3MiLz4NCisgIDwvYXBwZW5kZXI+DQorICAgDQorICA8YXBwZW5kZXIgbmFtZT0iRUVMRkVycm9yIg0KKyAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlJvbGxpbmdGaWxlQXBwZW5kZXIiPg0KKyAgICA8ZmlsZT4ke2xvZ0RpcmVjdG9yeX0vJHtlcnJvckxvZ05hbWV9LmxvZzwvZmlsZT4NCisgICAgPHJvbGxpbmdQb2xpY3kgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5UaW1lQmFzZWRSb2xsaW5nUG9saWN5Ij4gDQorICAgICAgPCEtLSBkYWlseSByb2xsb3ZlciAtLT4gDQorICAgICAgPGZpbGVOYW1lUGF0dGVybj4ke2xvZ0RpcmVjdG9yeX0vJHtlcnJvckxvZ05hbWV9LiVke3l5eXktTU0tZGR9LmxvZy56aXA8L2ZpbGVOYW1lUGF0dGVybj4gDQorIA0KKyAgICAgIDwhLS0ga2VlcCAzMCBkYXlzJyB3b3J0aCBvZiBoaXN0b3J5IGNhcHBlZCBhdCAzR0IgdG90YWwgc2l6ZSAtLT4gDQorICAgICAgPG1heEhpc3Rvcnk+MzA8L21heEhpc3Rvcnk+IA0KKyAgICAgIDx0b3RhbFNpemVDYXA+M0dCPC90b3RhbFNpemVDYXA+IA0KKyANCisgICAgPC9yb2xsaW5nUG9saWN5Pg0KKyAgICA8ZW5jb2Rlcj4NCisgICAgICA8cGF0dGVybj4ke2Vycm9yTG9nZ2VyUGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorICANCisgIDxhcHBlbmRlciBuYW1lPSJhc3luY0VFTEZFcnJvciIgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNsYXNzaWMuQXN5bmNBcHBlbmRlciI+DQorICAgIDxxdWV1ZVNpemU+MjU2PC9xdWV1ZVNpemU+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJFRUxGRXJyb3IiLz4NCisgIDwvYXBwZW5kZXI+DQorICANCisgICA8YXBwZW5kZXIgbmFtZT0iRUVMRkRlYnVnIg0KKyAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlJvbGxpbmdGaWxlQXBwZW5kZXIiPg0KKyAgICA8ZmlsZT4ke2RlYnVnTG9nRGlyZWN0b3J5fS8ke2RlYnVnTG9nTmFtZX0ubG9nPC9maWxlPg0KKyAgICA8cm9sbGluZ1BvbGljeSBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlRpbWVCYXNlZFJvbGxpbmdQb2xpY3kiPiANCisgICAgICA8IS0tIGRhaWx5IHJvbGxvdmVyIC0tPiANCisgICAgICA8ZmlsZU5hbWVQYXR0ZXJuPiR7bG9nRGlyZWN0b3J5fS8ke2RlYnVnTG9nTmFtZX0uJWR7eXl5eS1NTS1kZH0ubG9nLnppcDwvZmlsZU5hbWVQYXR0ZXJuPiANCisgDQorICAgICAgPCEtLSBrZWVwIDMwIGRheXMnIHdvcnRoIG9mIGhpc3RvcnkgY2FwcGVkIGF0IDNHQiB0b3RhbCBzaXplIC0tPiANCisgICAgICA8bWF4SGlzdG9yeT4zMDwvbWF4SGlzdG9yeT4gDQorICAgICAgPHRvdGFsU2l6ZUNhcD4zR0I8L3RvdGFsU2l6ZUNhcD4gDQorIA0KKyAgICA8L3JvbGxpbmdQb2xpY3k+DQorICAgIDxlbmNvZGVyPg0KKyAgICAgIDxwYXR0ZXJuPiR7ZGVmYXVsdExvZ2dlclBhdHRlcm59PC9wYXR0ZXJuPg0KKyAgICA8L2VuY29kZXI+DQorICA8L2FwcGVuZGVyPg0KKyAgDQorICA8YXBwZW5kZXIgbmFtZT0iYXN5bmNFRUxGRGVidWciIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jbGFzc2ljLkFzeW5jQXBwZW5kZXIiPg0KKyAgICA8cXVldWVTaXplPjI1NjwvcXVldWVTaXplPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iRUVMRkRlYnVnIiAvPg0KKyAgPC9hcHBlbmRlcj4NCisgDQorICANCisgDQorDQorICA8bG9nZ2VyIG5hbWU9Im9yZy5vbmFwLmVlbGYiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJhc3luY0VFTEYiIC8+DQorICA8L2xvZ2dlcj4NCisNCisgIDxsb2dnZXIgbmFtZT0ib3JnLm9uYXAuZWVsZi5hdWRpdCIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9ImFzeW5jRUVMRkF1ZGl0IiAvPg0KKyAgPC9sb2dnZXI+DQorICANCisgIDxsb2dnZXIgbmFtZT0ib3JnLm9uYXAuZWVsZi5kZWJ1ZyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJhc3luY0VFTEZEZWJ1ZyIgLz4NCisgIDwvbG9nZ2VyPg0KKwkNCisgIDxsb2dnZXIgbmFtZT0ib3JnLm9uYXAuZWVsZi5lcnJvciIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9ImFzeW5jRUVMRkVycm9yIiAvPg0KKyAgPC9sb2dnZXI+DQorDQorICA8bG9nZ2VyIG5hbWU9Im9yZy5vbmFwLmVlbGYubWV0cmljcyIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9ImFzeW5jRUVMRk1ldHJpY3MiIC8+DQorICA8L2xvZ2dlcj4gICAgICANCisgICAgDQorICANCisgIDxyb290IGxldmVsPSJERUJVRyI+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJhc3luY0VFTEYiIC8+DQorICA8L3Jvb3Q+DQorDQorPC9jb25maWd1cmF0aW9uPg0KZGlmZiAtLWdpdCBhL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvbG9nYmFja190ZW1wbGF0ZS54bWwgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL2xvZ2JhY2tfdGVtcGxhdGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYjk3ODEKLS0tIC9kZXYvbnVsbAorKysgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL2xvZ2JhY2tfdGVtcGxhdGUueG1sCkBAIC0wLDAgKzEsMzYyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKyAgICAgICAgPCEtLS8qLQ0KKyAgICAgICAgICAgICAgICAqID09PT09PT09PT09PUxJQ0VOU0VfU1RBUlQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICAgICAgICAgICAgICAgICogT1NBTSBDb3JlDQorICAgICAgICAgICAgICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgKiBDb3B5cmlnaHQgKEMpIDIwMTggQVQmVA0KKyAgICAgICAgICAgICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICAgICAgICAgICAgICAgICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQorICAgICAgICAgICAgICAgICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KKyAgICAgICAgICAgICAgICAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyAgICAgICAgICAgICAgICAqDQorICAgICAgICAgICAgICAgICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgICAgICAgICAgICAgICAgKg0KKyAgICAgICAgICAgICAgICAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgICAgICAgICAgICAgICAgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAgICAgICAgICAgICAgICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAgICAgICAgICAgICAgICAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgICAgICAgICAgICAgICAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisgICAgICAgICAgICAgICAgKiA9PT09PT09PT09PT1MSUNFTlNFX0VORD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAgICAgICAgICAgICAgICAqLw0KKyAgICAgICAgLS0+DQorDQorPGNvbmZpZ3VyYXRpb24gc2Nhbj0idHJ1ZSIgc2NhblBlcmlvZD0iMyBzZWNvbmRzIiBkZWJ1Zz0idHJ1ZSI+DQorICA8IS0tICBzcGVjaWZ5IHRoZSBjb21wb25lbnQgbmFtZSAtLT4NCisgIDxwcm9wZXJ0eSBuYW1lPSJjb21wb25lbnROYW1lIiB2YWx1ZT0idmlkIj48L3Byb3BlcnR5Pg0KKyAgDQorICA8IS0tICBzcGVjaWZ5IHRoZSBiYXNlIHBhdGggb2YgdGhlIGxvZyBkaXJlY3RvcnkgLS0+DQorICA8cHJvcGVydHkgbmFtZT0ibG9nRGlyUHJlZml4IiB2YWx1ZT0iJHtWSURfTE9HX0RJUn0iPjwvcHJvcGVydHk+DQorICANCisgIDwhLS0gVGhlIGRpcmVjdG9yaWVzIHdoZXJlIGxvZ3MgYXJlIHdyaXR0ZW4gLS0+DQorICA8cHJvcGVydHkgbmFtZT0ibG9nRGlyZWN0b3J5IiB2YWx1ZT0iJHtsb2dEaXJQcmVmaXh9LyR7Y29tcG9uZW50TmFtZX0iIC8+DQorICA8IS0tIENhbiBlYXNpbHkgcmVsb2NhdGUgZGVidWcgbG9ncyBieSBtb2RpZnlpbmcgdGhpcyBwYXRoLiAtLT4NCisgIDxwcm9wZXJ0eSBuYW1lPSJkZWJ1Z0xvZ0RpcmVjdG9yeSIgdmFsdWU9IiR7bG9nRGlyUHJlZml4fS8ke2NvbXBvbmVudE5hbWV9IiAvPg0KKyAgDQorICA8IS0tICBsb2cgZmlsZSBuYW1lcyAtLT4NCisgIDxwcm9wZXJ0eSBuYW1lPSJnZW5lcmFsTG9nTmFtZSIgdmFsdWU9ImFwcGxpY2F0aW9uIiAvPg0KKyAgPHByb3BlcnR5IG5hbWU9ImVycm9yTG9nTmFtZSIgdmFsdWU9ImVycm9yIiAvPg0KKyAgPHByb3BlcnR5IG5hbWU9Im1ldHJpY3NMb2dOYW1lIiB2YWx1ZT0ibWV0cmljcyIgLz4NCisgIDxwcm9wZXJ0eSBuYW1lPSJhdWRpdExvZ05hbWUiIHZhbHVlPSJhdWRpdCIgLz4NCisgIDxwcm9wZXJ0eSBuYW1lPSJkZWJ1Z0xvZ05hbWUiIHZhbHVlPSJkZWJ1ZyIgLz4NCisgIDwhLS0NCisgIFRoZXNlIGxvZ2dlcnMgYXJlIG5vdCB1c2VkIGluIGNvZGUgKHlldCkuIA0KKyAgPHByb3BlcnR5IG5hbWU9InNlY3VyaXR5TG9nTmFtZSIgdmFsdWU9InNlY3VyaXR5IiAvPg0KKyAgPHByb3BlcnR5IG5hbWU9InBvbGljeUxvZ05hbWUiIHZhbHVlPSJwb2xpY3kiIC8+DQorICA8cHJvcGVydHkgbmFtZT0icGVyZm9ybWFuY2VMb2dOYW1lIiB2YWx1ZT0icGVyZm9ybWFuY2UiIC8+DQorICA8cHJvcGVydHkgbmFtZT0ic2VydmVyTG9nTmFtZSIgdmFsdWU9InNlcnZlciIgLz4NCisgICAtLT4NCisgICANCisgIDxwcm9wZXJ0eSBuYW1lPSJkZWZhdWx0UGF0dGVybiIgdmFsdWU9IiVkYXRle0lTTzg2MDF9fCVYe1JlcXVlc3RJZH18JVh7U2VydmljZUluc3RhbmNlSWR9fCV0aHJlYWR8JVh7VmlydHVhbFNlcnZlck5hbWV9fCVYe1NlcnZpY2VOYW1lfXwlWHtJbnN0YW5jZVVVSUR9fCUuLTVsZXZlbHwlWHtBbGVydFNldmVyaXR5fXwlWHtTZXJ2ZXJJUEFkZHJlc3N9fCVYe1NlcnZlckZRRE59fCVYe1JlbW90ZUhvc3R9fCVYe0NsYXNzTmFtZX18JVh7VGltZXJ9fCAlbXNnJW4iIC8+DQorICA8cHJvcGVydHkgbmFtZT0iZGVidWdMb2dnZXJQYXR0ZXJuIiB2YWx1ZT0iJWRhdGV7SVNPODYwMX18JVh7UmVxdWVzdElkfXwlWHtTZXJ2aWNlSW5zdGFuY2VJZH18JXRocmVhZHwlWHtWaXJ0dWFsU2VydmVyTmFtZX18JVh7U2VydmljZU5hbWV9fCVYe0luc3RhbmNlVVVJRH18JS4tNWxldmVsfCVYe0FsZXJ0U2V2ZXJpdHl9fCVYe1NlcnZlcklQQWRkcmVzc318JVh7U2VydmVyRlFETn18JVh7UmVtb3RlSG9zdH18JVh7Q2xhc3NOYW1lfXwlWHtUaW1lcn18ICVtc2clbiIgLz4NCisgIDwhLS0gPHByb3BlcnR5IG5hbWU9ImRlYnVnTG9nZ2VyUGF0dGVybiIgdmFsdWU9IiVkYXRle0lTTzg2MDF9fCVYe1JlcXVlc3RJZH18JVh7U2VydmljZUluc3RhbmNlSWR9fCV0aHJlYWR8JVh7U2VydmljZU5hbWV9fCVYe0luc3RhbmNlVVVJRH18JS4tNWxldmVsfCVYe0FsZXJ0U2V2ZXJpdHl9fCVYe1NlcnZlcklQQWRkcmVzc318JVh7U2VydmVyRlFETn18JVh7UmVtb3RlSG9zdH18JVh7VGltZXJ9fFslY2FsbGVyezN9XXwlbXNnJW4iIC8+LS0+DQorICANCisgIDwhLS0gRXhhbXBsZSBldmFsdWF0b3IgZmlsdGVyIGFwcGxpZWQgYWdhaW5zdCBjb25zb2xlIGFwcGVuZGVyIC0tPg0KKyAgPGFwcGVuZGVyIG5hbWU9IlNURE9VVCIgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUuQ29uc29sZUFwcGVuZGVyIj4NCisgICAgPGVuY29kZXI+DQorICAgICAgPHBhdHRlcm4+JHtkZWZhdWx0UGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorDQorICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQorICA8IS0tIEVFTEYgQXBwZW5kZXJzIC0tPg0KKyAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KKw0KKyAgPCEtLSBUaGUgRUVMRkFwcGVuZGVyIGlzIHVzZWQgdG8gcmVjb3JkIGV2ZW50cyB0byB0aGUgZ2VuZXJhbCBhcHBsaWNhdGlvbiANCisgICAgbG9nIC0tPg0KKyAgICANCisgICAgDQorICA8YXBwZW5kZXIgbmFtZT0iRUVMRiINCisgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5Sb2xsaW5nRmlsZUFwcGVuZGVyIj4NCisgICAgPGZpbGU+JHtsb2dEaXJlY3Rvcnl9LyR7Z2VuZXJhbExvZ05hbWV9LmxvZzwvZmlsZT4NCisgICAgPHJvbGxpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLkZpeGVkV2luZG93Um9sbGluZ1BvbGljeSI+DQorICAgICAgPGZpbGVOYW1lUGF0dGVybj4ke2xvZ0RpcmVjdG9yeX0vJHtnZW5lcmFsTG9nTmFtZX0uJWkubG9nLnppcA0KKyAgICAgIDwvZmlsZU5hbWVQYXR0ZXJuPg0KKyAgICAgIDxtaW5JbmRleD4xPC9taW5JbmRleD4NCisgICAgICA8bWF4SW5kZXg+OTwvbWF4SW5kZXg+DQorICAgIDwvcm9sbGluZ1BvbGljeT4NCisgICAgPHRyaWdnZXJpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kiPg0KKyAgICAgIDxtYXhGaWxlU2l6ZT41TUI8L21heEZpbGVTaXplPg0KKyAgICA8L3RyaWdnZXJpbmdQb2xpY3k+DQorICAgIDxlbmNvZGVyPg0KKyAgICAgIDxwYXR0ZXJuPiR7ZGVmYXVsdFBhdHRlcm59PC9wYXR0ZXJuPg0KKyAgICA8L2VuY29kZXI+DQorICAgIDxmaWx0ZXIgY2xhc3M9Im9yZy5vbmFwLnBvcnRhbGFwcC51dGlsLkN1c3RvbUxvZ2dpbmdGaWx0ZXIiIC8+DQorICA8L2FwcGVuZGVyPg0KKyAgDQorICA8YXBwZW5kZXIgbmFtZT0iYXN5bmNFRUxGIiBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY2xhc3NpYy5Bc3luY0FwcGVuZGVyIj4NCisgICAgPHF1ZXVlU2l6ZT4yNTY8L3F1ZXVlU2l6ZT4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9IkVFTEYiIC8+DQorICA8L2FwcGVuZGVyPg0KKw0KKyAgPCEtLSBFRUxGIFNlY3VyaXR5IEFwcGVuZGVyLiBUaGlzIGFwcGVuZGVyIGlzIHVzZWQgdG8gcmVjb3JkIHNlY3VyaXR5IGV2ZW50cyANCisgICAgdG8gdGhlIHNlY3VyaXR5IGxvZyBmaWxlLiBTZWN1cml0eSBldmVudHMgYXJlIHNlcGFyYXRlIGZyb20gb3RoZXIgbG9nZ2VycyANCisgICAgaW4gRUVMRiBzbyB0aGF0IHNlY3VyaXR5IGxvZyByZWNvcmRzIGNhbiBiZSBjYXB0dXJlZCBhbmQgbWFuYWdlZCBpbiBhIHNlY3VyZSANCisgICAgd2F5IHNlcGFyYXRlIGZyb20gdGhlIG90aGVyIGxvZ3MuIFRoaXMgYXBwZW5kZXIgaXMgc2V0IHRvIG5ldmVyIGRpc2NhcmQgYW55IA0KKyAgICBldmVudHMuIC0tPg0KKyAgPCEtLSAgICAgDQorICA8YXBwZW5kZXIgbmFtZT0iRUVMRlNlY3VyaXR5Ig0KKyAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlJvbGxpbmdGaWxlQXBwZW5kZXIiPg0KKyAgICA8ZmlsZT4ke2xvZ0RpcmVjdG9yeX0vJHtzZWN1cml0eUxvZ05hbWV9LmxvZzwvZmlsZT4NCisgICAgPHJvbGxpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLkZpeGVkV2luZG93Um9sbGluZ1BvbGljeSI+DQorICAgICAgPGZpbGVOYW1lUGF0dGVybj4ke2xvZ0RpcmVjdG9yeX0vJHtzZWN1cml0eUxvZ05hbWV9LiVpLmxvZy56aXANCisgICAgICA8L2ZpbGVOYW1lUGF0dGVybj4NCisgICAgICA8bWluSW5kZXg+MTwvbWluSW5kZXg+DQorICAgICAgPG1heEluZGV4Pjk8L21heEluZGV4Pg0KKyAgICA8L3JvbGxpbmdQb2xpY3k+DQorICAgIDx0cmlnZ2VyaW5nUG9saWN5DQorICAgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5TaXplQmFzZWRUcmlnZ2VyaW5nUG9saWN5Ij4NCisgICAgICA8bWF4RmlsZVNpemU+NU1CPC9tYXhGaWxlU2l6ZT4NCisgICAgPC90cmlnZ2VyaW5nUG9saWN5Pg0KKyAgICA8ZW5jb2Rlcj4NCisgICAgICA8cGF0dGVybj4ke2RlZmF1bHRQYXR0ZXJufTwvcGF0dGVybj4NCisgICAgPC9lbmNvZGVyPg0KKyAgPC9hcHBlbmRlcj4NCisgIA0KKyAgPGFwcGVuZGVyIG5hbWU9ImFzeW5jRUVMRlNlY3VyaXR5IiBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY2xhc3NpYy5Bc3luY0FwcGVuZGVyIj4NCisgICAgPHF1ZXVlU2l6ZT4yNTY8L3F1ZXVlU2l6ZT4NCisgICAgPGRpc2NhcmRpbmdUaHJlc2hvbGQ+MDwvZGlzY2FyZGluZ1RocmVzaG9sZD4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9IkVFTEZTZWN1cml0eSIgLz4NCisgIDwvYXBwZW5kZXI+DQorICAgLS0+DQorICAgDQorICA8IS0tIEVFTEYgUGVyZm9ybWFuY2UgQXBwZW5kZXIuIFRoaXMgYXBwZW5kZXIgaXMgdXNlZCB0byByZWNvcmQgcGVyZm9ybWFuY2UgDQorICAgIHJlY29yZHMuIC0tPg0KKyAgPCEtLQ0KKyAgPGFwcGVuZGVyIG5hbWU9IkVFTEZQZXJmb3JtYW5jZSINCisgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5Sb2xsaW5nRmlsZUFwcGVuZGVyIj4NCisgICAgPGZpbGU+JHtsb2dEaXJlY3Rvcnl9LyR7cGVyZm9ybWFuY2VMb2dOYW1lfS5sb2c8L2ZpbGU+DQorICAgIDxyb2xsaW5nUG9saWN5DQorICAgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5GaXhlZFdpbmRvd1JvbGxpbmdQb2xpY3kiPg0KKyAgICAgIDxmaWxlTmFtZVBhdHRlcm4+JHtsb2dEaXJlY3Rvcnl9LyR7cGVyZm9ybWFuY2VMb2dOYW1lfS4laS5sb2cuemlwDQorICAgICAgPC9maWxlTmFtZVBhdHRlcm4+DQorICAgICAgPG1pbkluZGV4PjE8L21pbkluZGV4Pg0KKyAgICAgIDxtYXhJbmRleD45PC9tYXhJbmRleD4NCisgICAgPC9yb2xsaW5nUG9saWN5Pg0KKyAgICA8dHJpZ2dlcmluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuU2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSI+DQorICAgICAgPG1heEZpbGVTaXplPjVNQjwvbWF4RmlsZVNpemU+DQorICAgIDwvdHJpZ2dlcmluZ1BvbGljeT4NCisgICAgPGVuY29kZXI+DQorICAgICAgPG91dHB1dFBhdHRlcm5Bc0hlYWRlcj50cnVlPC9vdXRwdXRQYXR0ZXJuQXNIZWFkZXI+DQorICAgICAgPHBhdHRlcm4+JHtkZWZhdWx0UGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorICA8YXBwZW5kZXIgbmFtZT0iYXN5bmNFRUxGUGVyZm9ybWFuY2UiIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jbGFzc2ljLkFzeW5jQXBwZW5kZXIiPg0KKyAgICA8cXVldWVTaXplPjI1NjwvcXVldWVTaXplPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iRUVMRlBlcmZvcm1hbmNlIiAvPg0KKyAgPC9hcHBlbmRlcj4NCisgIC0tPg0KKw0KKyAgPCEtLSBFRUxGIFNlcnZlciBBcHBlbmRlci4gVGhpcyBhcHBlbmRlciBpcyB1c2VkIHRvIHJlY29yZCBTZXJ2ZXIgcmVsYXRlZCANCisgICAgbG9nZ2luZyBldmVudHMuIFRoZSBTZXJ2ZXIgbG9nZ2VyIGFuZCBhcHBlbmRlciBhcmUgc3BlY2lhbGl6YXRpb25zIG9mIHRoZSANCisgICAgRUVMRiBhcHBsaWNhdGlvbiByb290IGxvZ2dlciBhbmQgYXBwZW5kZXIuIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2VncmVnYXRlIFNlcnZlciANCisgICAgZXZlbnRzIGZyb20gb3RoZXIgY29tcG9uZW50cywgb3IgaXQgY2FuIGJlIGVsaW1pbmF0ZWQgdG8gcmVjb3JkIHRoZXNlIGV2ZW50cyANCisgICAgYXMgcGFydCBvZiB0aGUgYXBwbGljYXRpb24gcm9vdCBsb2cuIC0tPg0KKyAgPCEtLQ0KKyAgPGFwcGVuZGVyIG5hbWU9IkVFTEZTZXJ2ZXIiDQorICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuUm9sbGluZ0ZpbGVBcHBlbmRlciI+DQorICAgIDxmaWxlPiR7bG9nRGlyZWN0b3J5fS8ke3NlcnZlckxvZ05hbWV9LmxvZzwvZmlsZT4NCisgICAgPHJvbGxpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLkZpeGVkV2luZG93Um9sbGluZ1BvbGljeSI+DQorICAgICAgPGZpbGVOYW1lUGF0dGVybj4ke2xvZ0RpcmVjdG9yeX0vJHtzZXJ2ZXJMb2dOYW1lfS4laS5sb2cuemlwDQorICAgICAgPC9maWxlTmFtZVBhdHRlcm4+DQorICAgICAgPG1pbkluZGV4PjE8L21pbkluZGV4Pg0KKyAgICAgIDxtYXhJbmRleD45PC9tYXhJbmRleD4NCisgICAgPC9yb2xsaW5nUG9saWN5Pg0KKyAgICA8dHJpZ2dlcmluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuU2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSI+DQorICAgICAgPG1heEZpbGVTaXplPjVNQjwvbWF4RmlsZVNpemU+DQorICAgIDwvdHJpZ2dlcmluZ1BvbGljeT4NCisgICAgPGVuY29kZXI+DQorICAgICAgICA8cGF0dGVybj4ke2RlZmF1bHRQYXR0ZXJufTwvcGF0dGVybj4NCisgICAgPC9lbmNvZGVyPg0KKyAgPC9hcHBlbmRlcj4NCisgIDxhcHBlbmRlciBuYW1lPSJhc3luY0VFTEZTZXJ2ZXIiIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jbGFzc2ljLkFzeW5jQXBwZW5kZXIiPg0KKyAgICA8cXVldWVTaXplPjI1NjwvcXVldWVTaXplPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iRUVMRlNlcnZlciIgLz4NCisgIDwvYXBwZW5kZXI+DQorICAgLS0+DQorICANCisgIDwhLS0gRUVMRiBQb2xpY3kgQXBwZW5kZXIuIFRoaXMgYXBwZW5kZXIgaXMgdXNlZCB0byByZWNvcmQgUG9saWN5IGVuZ2luZSANCisgICAgcmVsYXRlZCBsb2dnaW5nIGV2ZW50cy4gVGhlIFBvbGljeSBsb2dnZXIgYW5kIGFwcGVuZGVyIGFyZSBzcGVjaWFsaXphdGlvbnMgDQorICAgIG9mIHRoZSBFRUxGIGFwcGxpY2F0aW9uIHJvb3QgbG9nZ2VyIGFuZCBhcHBlbmRlci4gVGhpcyBjYW4gYmUgdXNlZCB0byBzZWdyZWdhdGUgDQorICAgIFBvbGljeSBlbmdpbmUgZXZlbnRzIGZyb20gb3RoZXIgY29tcG9uZW50cywgb3IgaXQgY2FuIGJlIGVsaW1pbmF0ZWQgdG8gcmVjb3JkIA0KKyAgICB0aGVzZSBldmVudHMgYXMgcGFydCBvZiB0aGUgYXBwbGljYXRpb24gcm9vdCBsb2cuIC0tPg0KKyAgPCEtLQ0KKyAgPGFwcGVuZGVyIG5hbWU9IkVFTEZQb2xpY3kiDQorICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuUm9sbGluZ0ZpbGVBcHBlbmRlciI+DQorICAgIDxmaWxlPiR7bG9nRGlyZWN0b3J5fS8ke3BvbGljeUxvZ05hbWV9LmxvZzwvZmlsZT4NCisgICAgPHJvbGxpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLkZpeGVkV2luZG93Um9sbGluZ1BvbGljeSI+DQorICAgICAgPGZpbGVOYW1lUGF0dGVybj4ke2xvZ0RpcmVjdG9yeX0vJHtwb2xpY3lMb2dOYW1lfS4laS5sb2cuemlwDQorICAgICAgPC9maWxlTmFtZVBhdHRlcm4+DQorICAgICAgPG1pbkluZGV4PjE8L21pbkluZGV4Pg0KKyAgICAgIDxtYXhJbmRleD45PC9tYXhJbmRleD4NCisgICAgPC9yb2xsaW5nUG9saWN5Pg0KKyAgICA8dHJpZ2dlcmluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuU2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSI+DQorICAgICAgPG1heEZpbGVTaXplPjVNQjwvbWF4RmlsZVNpemU+DQorICAgIDwvdHJpZ2dlcmluZ1BvbGljeT4NCisgICAgPGVuY29kZXI+DQorICAgICAgICA8cGF0dGVybj4ke2RlZmF1bHRQYXR0ZXJufTwvcGF0dGVybj4NCisgICAgPC9lbmNvZGVyPg0KKyAgPC9hcHBlbmRlcj4NCisgIDxhcHBlbmRlciBuYW1lPSJhc3luY0VFTEZQb2xpY3kiIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jbGFzc2ljLkFzeW5jQXBwZW5kZXIiPg0KKyAgICA8cXVldWVTaXplPjI1NjwvcXVldWVTaXplPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iRUVMRlBvbGljeSIgLz4NCisgIDwvYXBwZW5kZXI+DQorICAtLT4NCisgIA0KKyAgPCEtLSBFRUxGIEF1ZGl0IEFwcGVuZGVyLiBUaGlzIGFwcGVuZGVyIGlzIHVzZWQgdG8gcmVjb3JkIGF1ZGl0IGVuZ2luZSANCisgICAgcmVsYXRlZCBsb2dnaW5nIGV2ZW50cy4gVGhlIGF1ZGl0IGxvZ2dlciBhbmQgYXBwZW5kZXIgYXJlIHNwZWNpYWxpemF0aW9ucyANCisgICAgb2YgdGhlIEVFTEYgYXBwbGljYXRpb24gcm9vdCBsb2dnZXIgYW5kIGFwcGVuZGVyLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHNlZ3JlZ2F0ZSANCisgICAgUG9saWN5IGVuZ2luZSBldmVudHMgZnJvbSBvdGhlciBjb21wb25lbnRzLCBvciBpdCBjYW4gYmUgZWxpbWluYXRlZCB0byByZWNvcmQgDQorICAgIHRoZXNlIGV2ZW50cyBhcyBwYXJ0IG9mIHRoZSBhcHBsaWNhdGlvbiByb290IGxvZy4gLS0+DQorICAgIA0KKyAgPGFwcGVuZGVyIG5hbWU9IkVFTEZBdWRpdCINCisgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5Sb2xsaW5nRmlsZUFwcGVuZGVyIj4NCisgICAgPGZpbGU+JHtsb2dEaXJlY3Rvcnl9LyR7YXVkaXRMb2dOYW1lfS5sb2c8L2ZpbGU+DQorICAgIDxyb2xsaW5nUG9saWN5DQorICAgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5GaXhlZFdpbmRvd1JvbGxpbmdQb2xpY3kiPg0KKyAgICAgIDxmaWxlTmFtZVBhdHRlcm4+JHtsb2dEaXJlY3Rvcnl9LyR7YXVkaXRMb2dOYW1lfS4laS5sb2cuemlwDQorICAgICAgPC9maWxlTmFtZVBhdHRlcm4+DQorICAgICAgPG1pbkluZGV4PjE8L21pbkluZGV4Pg0KKyAgICAgIDxtYXhJbmRleD45PC9tYXhJbmRleD4NCisgICAgPC9yb2xsaW5nUG9saWN5Pg0KKyAgICA8dHJpZ2dlcmluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuU2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSI+DQorICAgICAgPG1heEZpbGVTaXplPjVNQjwvbWF4RmlsZVNpemU+DQorICAgIDwvdHJpZ2dlcmluZ1BvbGljeT4NCisgICAgPGVuY29kZXI+DQorICAgICAgICAgPHBhdHRlcm4+JHtkZWZhdWx0UGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorICA8YXBwZW5kZXIgbmFtZT0iYXN5bmNFRUxGQXVkaXQiIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jbGFzc2ljLkFzeW5jQXBwZW5kZXIiPg0KKyAgICA8cXVldWVTaXplPjI1NjwvcXVldWVTaXplPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iRUVMRkF1ZGl0IiAvPg0KKyAgPC9hcHBlbmRlcj4NCisNCisgIDxhcHBlbmRlciBuYW1lPSJFRUxGTWV0cmljcyINCisgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5Sb2xsaW5nRmlsZUFwcGVuZGVyIj4NCisgICAgPGZpbGU+JHtsb2dEaXJlY3Rvcnl9LyR7bWV0cmljc0xvZ05hbWV9LmxvZzwvZmlsZT4NCisgICAgPHJvbGxpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLkZpeGVkV2luZG93Um9sbGluZ1BvbGljeSI+DQorICAgICAgPGZpbGVOYW1lUGF0dGVybj4ke2xvZ0RpcmVjdG9yeX0vJHttZXRyaWNzTG9nTmFtZX0uJWkubG9nLnppcA0KKyAgICAgIDwvZmlsZU5hbWVQYXR0ZXJuPg0KKyAgICAgIDxtaW5JbmRleD4xPC9taW5JbmRleD4NCisgICAgICA8bWF4SW5kZXg+OTwvbWF4SW5kZXg+DQorICAgIDwvcm9sbGluZ1BvbGljeT4NCisgICAgPHRyaWdnZXJpbmdQb2xpY3kNCisgICAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kiPg0KKyAgICAgIDxtYXhGaWxlU2l6ZT41TUI8L21heEZpbGVTaXplPg0KKyAgICA8L3RyaWdnZXJpbmdQb2xpY3k+DQorICAgIDxlbmNvZGVyPg0KKyAgICAgIDwhLS0gPHBhdHRlcm4+IiVke0hIOm1tOnNzLlNTU30gWyV0aHJlYWRdICUtNWxldmVsICVsb2dnZXJ7MTAyNH0gLSANCisgICAgICAgICVtc2clbiI8L3BhdHRlcm4+IC0tPg0KKyAgICAgIDxwYXR0ZXJuPiR7ZGVmYXVsdFBhdHRlcm59PC9wYXR0ZXJuPg0KKyAgICA8L2VuY29kZXI+DQorICA8L2FwcGVuZGVyPg0KKyAgDQorICANCisgIDxhcHBlbmRlciBuYW1lPSJhc3luY0VFTEZNZXRyaWNzIiBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY2xhc3NpYy5Bc3luY0FwcGVuZGVyIj4NCisgICAgPHF1ZXVlU2l6ZT4yNTY8L3F1ZXVlU2l6ZT4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9IkVFTEZNZXRyaWNzIi8+DQorICA8L2FwcGVuZGVyPg0KKyAgIA0KKyAgPGFwcGVuZGVyIG5hbWU9IkVFTEZFcnJvciINCisgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5Sb2xsaW5nRmlsZUFwcGVuZGVyIj4NCisgICAgPGZpbGU+JHtsb2dEaXJlY3Rvcnl9LyR7ZXJyb3JMb2dOYW1lfS5sb2c8L2ZpbGU+DQorICAgIDxyb2xsaW5nUG9saWN5DQorICAgICAgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNvcmUucm9sbGluZy5GaXhlZFdpbmRvd1JvbGxpbmdQb2xpY3kiPg0KKyAgICAgIDxmaWxlTmFtZVBhdHRlcm4+JHtsb2dEaXJlY3Rvcnl9LyR7ZXJyb3JMb2dOYW1lfS4laS5sb2cuemlwDQorICAgICAgPC9maWxlTmFtZVBhdHRlcm4+DQorICAgICAgPG1pbkluZGV4PjE8L21pbkluZGV4Pg0KKyAgICAgIDxtYXhJbmRleD45PC9tYXhJbmRleD4NCisgICAgPC9yb2xsaW5nUG9saWN5Pg0KKyAgICA8dHJpZ2dlcmluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuU2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSI+DQorICAgICAgPG1heEZpbGVTaXplPjVNQjwvbWF4RmlsZVNpemU+DQorICAgIDwvdHJpZ2dlcmluZ1BvbGljeT4NCisgICAgPGVuY29kZXI+DQorICAgICAgPHBhdHRlcm4+JHtkZWZhdWx0UGF0dGVybn08L3BhdHRlcm4+DQorICAgIDwvZW5jb2Rlcj4NCisgIDwvYXBwZW5kZXI+DQorICANCisgIDxhcHBlbmRlciBuYW1lPSJhc3luY0VFTEZFcnJvciIgY2xhc3M9ImNoLnFvcy5sb2diYWNrLmNsYXNzaWMuQXN5bmNBcHBlbmRlciI+DQorICAgIDxxdWV1ZVNpemU+MjU2PC9xdWV1ZVNpemU+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJFRUxGRXJyb3IiLz4NCisgIDwvYXBwZW5kZXI+DQorICANCisgICA8YXBwZW5kZXIgbmFtZT0iRUVMRkRlYnVnIg0KKyAgICBjbGFzcz0iY2gucW9zLmxvZ2JhY2suY29yZS5yb2xsaW5nLlJvbGxpbmdGaWxlQXBwZW5kZXIiPg0KKyAgICA8ZmlsZT4ke2RlYnVnTG9nRGlyZWN0b3J5fS8ke2RlYnVnTG9nTmFtZX0ubG9nPC9maWxlPg0KKyAgICA8cm9sbGluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuRml4ZWRXaW5kb3dSb2xsaW5nUG9saWN5Ij4NCisgICAgICA8ZmlsZU5hbWVQYXR0ZXJuPiR7ZGVidWdMb2dEaXJlY3Rvcnl9LyR7ZGVidWdMb2dOYW1lfS4laS5sb2cuemlwDQorICAgICAgPC9maWxlTmFtZVBhdHRlcm4+DQorICAgICAgPG1pbkluZGV4PjE8L21pbkluZGV4Pg0KKyAgICAgIDxtYXhJbmRleD45PC9tYXhJbmRleD4NCisgICAgPC9yb2xsaW5nUG9saWN5Pg0KKyAgICA8dHJpZ2dlcmluZ1BvbGljeQ0KKyAgICAgIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jb3JlLnJvbGxpbmcuU2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSI+DQorICAgICAgPG1heEZpbGVTaXplPjVNQjwvbWF4RmlsZVNpemU+DQorICAgIDwvdHJpZ2dlcmluZ1BvbGljeT4NCisgICAgPGVuY29kZXI+DQorICAgICAgPHBhdHRlcm4+JHtkZWJ1Z0xvZ2dlclBhdHRlcm59PC9wYXR0ZXJuPg0KKyAgICA8L2VuY29kZXI+DQorICA8L2FwcGVuZGVyPg0KKyAgDQorICA8YXBwZW5kZXIgbmFtZT0iYXN5bmNFRUxGRGVidWciIGNsYXNzPSJjaC5xb3MubG9nYmFjay5jbGFzc2ljLkFzeW5jQXBwZW5kZXIiPg0KKyAgICA8cXVldWVTaXplPjI1NjwvcXVldWVTaXplPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iRUVMRkRlYnVnIiAvPg0KKyAgICA8aW5jbHVkZUNhbGxlckRhdGE+dHJ1ZTwvaW5jbHVkZUNhbGxlckRhdGE+DQorICA8L2FwcGVuZGVyPg0KKyANCisgIA0KKyAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KKyAgPCEtLSAgRUVMRiBsb2dnZXJzIC0tPg0KKyAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KKyAgPGxvZ2dlciBuYW1lPSJjb20uYXR0LmVlbGYiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iYXN5bmNFRUxGIiAvPg0KKyAgPC9sb2dnZXI+DQorICANCisgIDwhLS0NCisgIDxsb2dnZXIgbmFtZT0iY29tLmF0dC5lZWxmLnNlY3VyaXR5IiBsZXZlbD0iaW5mbyIgYWRkaXRpdml0eT0iZmFsc2UiPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iYXN5bmNFRUxGU2VjdXJpdHkiIC8+DQorICA8L2xvZ2dlcj4NCisgIDxsb2dnZXIgbmFtZT0iY29tLmF0dC5lZWxmLnBlcmYiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJhc3luY0VFTEZQZXJmb3JtYW5jZSIgLz4NCisgIDwvbG9nZ2VyPg0KKyAgPGxvZ2dlciBuYW1lPSJjb20uYXR0LmVlbGYuc2VydmVyIiBsZXZlbD0iaW5mbyIgYWRkaXRpdml0eT0iZmFsc2UiPg0KKyAgICA8YXBwZW5kZXItcmVmIHJlZj0iYXN5bmNFRUxGU2VydmVyIiAvPg0KKyAgPC9sb2dnZXI+DQorICA8bG9nZ2VyIG5hbWU9ImNvbS5hdHQuZWVsZi5wb2xpY3kiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJhc3luY0VFTEZQb2xpY3kiIC8+DQorICA8L2xvZ2dlcj4NCisgIC0tPg0KKyAgDQorICA8bG9nZ2VyIG5hbWU9ImNvbS5hdHQuZWVsZi5hdWRpdCIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4NCisgICAgPGFwcGVuZGVyLXJlZiByZWY9ImFzeW5jRUVMRkF1ZGl0IiAvPg0KKyAgPC9sb2dnZXI+DQorICANCisgIDxsb2dnZXIgbmFtZT0iY29tLmF0dC5lZWxmLm1ldHJpY3MiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+DQorICAgICAgICA8YXBwZW5kZXItcmVmIHJlZj0iYXN5bmNFRUxGTWV0cmljcyIgLz4NCisgIDwvbG9nZ2VyPg0KKyAgICANCisgIDxsb2dnZXIgbmFtZT0iY29tLmF0dC5lZWxmLmVycm9yIiBsZXZlbD0iaW5mbyIgYWRkaXRpdml0eT0iZmFsc2UiPg0KKyAgCTxhcHBlbmRlci1yZWYgcmVmPSJhc3luY0VFTEZFcnJvciIgLz4NCisgIDwvbG9nZ2VyPg0KKyAgDQorICAgPGxvZ2dlciBuYW1lPSJjb20uYXR0LmVlbGYuZGVidWciIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPg0KKyAgICAgICAgPGFwcGVuZGVyLXJlZiByZWY9ImFzeW5jRUVMRkRlYnVnIiAvPg0KKyAgPC9sb2dnZXI+DQorICANCisgICAgDQorICA8cm9vdCBsZXZlbD0iJHtWSURfTE9HX0xFVkVMfSI+DQorICAgIDxhcHBlbmRlci1yZWYgcmVmPSJhc3luY0VFTEYiIC8+DQorICA8L3Jvb3Q+DQorDQorPC9jb25maWd1cmF0aW9uPg0KZGlmZiAtLWdpdCBhL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvbWNoYW5nZS1sb2cucHJvcGVydGllcyBiL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvbWNoYW5nZS1sb2cucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2U2ZjUwCi0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9tY2hhbmdlLWxvZy5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsMjMgQEAKKyMjIw0KKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisjIGVDT01QIFBvcnRhbCBTREsNCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQVQmVCBJbnRlbGxlY3R1YWwgUHJvcGVydHkNCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisjIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyMgDQorIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKyMgDQorIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorIyMjDQorIyBEaXJlY3QgdGhlIHByb3ByaWV0YXJ5IGxvZ2dlciB1c2VkIGJ5IGNvbS5tY2hhbmdlLmMzcDAgdG8gdXNlIHNsZjRqDQorDQorY29tLm1jaGFuZ2UudjIubG9nLk1Mb2c9Y29tLm1jaGFuZ2UudjIubG9nLkZhbGxiYWNrTUxvZw0KK2NvbS5tY2hhbmdlLnYyLmxvZy5GYWxsYmFja01Mb2cuREVGQVVMVF9DVVRPRkZfTEVWRUw9T0ZGDQpkaWZmIC0tZ2l0IGEvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9teS5jbmYgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL215LmNuZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDdmNjRmCi0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9teS5jbmYKQEAgLTAsMCArMSwxOTIgQEAKKyMgTWFyaWFEQiBkYXRhYmFzZSBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlLg0KKyMNCisjIFlvdSBjYW4gY29weSB0aGlzIGZpbGUgdG8gb25lIG9mOg0KKyMgLSAiL2V0Yy9teXNxbC9teS5jbmYiIHRvIHNldCBnbG9iYWwgb3B0aW9ucywNCisjIC0gIn4vLm15LmNuZiIgdG8gc2V0IHVzZXItc3BlY2lmaWMgb3B0aW9ucy4NCisjDQorIyBPbmUgY2FuIHVzZSBhbGwgbG9uZyBvcHRpb25zIHRoYXQgdGhlIHByb2dyYW0gc3VwcG9ydHMuDQorIyBSdW4gcHJvZ3JhbSB3aXRoIC0taGVscCB0byBnZXQgYSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zIGFuZCB3aXRoDQorIyAtLXByaW50LWRlZmF1bHRzIHRvIHNlZSB3aGljaCBpdCB3b3VsZCBhY3R1YWxseSB1bmRlcnN0YW5kIGFuZCB1c2UuDQorIw0KKyMgRm9yIGV4cGxhbmF0aW9ucyBzZWUNCisjIGh0dHA6Ly9kZXYubXlzcWwuY29tL2RvYy9teXNxbC9lbi9zZXJ2ZXItc3lzdGVtLXZhcmlhYmxlcy5odG1sDQorDQorIyBUaGlzIHdpbGwgYmUgcGFzc2VkIHRvIGFsbCBteXNxbCBjbGllbnRzDQorIyBJdCBoYXMgYmVlbiByZXBvcnRlZCB0aGF0IHBhc3N3b3JkcyBzaG91bGQgYmUgZW5jbG9zZWQgd2l0aCB0aWNrcy9xdW90ZXMNCisjIGVzY3BlY2lhbGx5IGlmIHRoZXkgY29udGFpbiAiIyIgY2hhcnMuLi4NCisjIFJlbWVtYmVyIHRvIGVkaXQgL2V0Yy9teXNxbC9kZWJpYW4uY25mIHdoZW4gY2hhbmdpbmcgdGhlIHNvY2tldCBsb2NhdGlvbi4NCitbY2xpZW50XQ0KK3BvcnQgICAgICAgICAgICA9IDMzMDYNCitzb2NrZXQgICAgICAgICAgPSAvdmFyL3J1bi9teXNxbGQvbXlzcWxkLnNvY2sNCisNCisjIEhlcmUgaXMgZW50cmllcyBmb3Igc29tZSBzcGVjaWZpYyBwcm9ncmFtcw0KKyMgVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXNzdW1lIHlvdSBoYXZlIGF0IGxlYXN0IDMyTSByYW0NCisNCisjIFRoaXMgd2FzIGZvcm1hbGx5IGtub3duIGFzIFtzYWZlX215c3FsZF0uIEJvdGggdmVyc2lvbnMgYXJlIGN1cnJlbnRseSBwYXJzZWQuDQorW215c3FsZF9zYWZlXQ0KK3NvY2tldCAgICAgICAgICA9IC92YXIvcnVuL215c3FsZC9teXNxbGQuc29jaw0KK25pY2UgICAgICAgICAgICA9IDANCisNCitbbXlzcWxkXQ0KK2xvd2VyX2Nhc2VfdGFibGVfbmFtZXMgPSAxDQorc2tpcC1ob3N0LWNhY2hlDQorc2tpcC1uYW1lLXJlc29sdmUNCisjDQorIyAqIEJhc2ljIFNldHRpbmdzDQorIw0KKyN1c2VyICAgICAgICAgICA9IG15c3FsDQorcGlkLWZpbGUgICAgICAgID0gL3Zhci9ydW4vbXlzcWxkL215c3FsZC5waWQNCitzb2NrZXQgICAgICAgICAgPSAvdmFyL3J1bi9teXNxbGQvbXlzcWxkLnNvY2sNCitwb3J0ICAgICAgICAgICAgPSAzMzA2DQorYmFzZWRpciAgICAgICAgID0gL3Vzcg0KK2RhdGFkaXIgICAgICAgICA9IC92YXIvbGliL215c3FsDQordG1wZGlyICAgICAgICAgID0gL3RtcA0KK2xjX21lc3NhZ2VzX2RpciA9IC91c3Ivc2hhcmUvbXlzcWwNCitsY19tZXNzYWdlcyAgICAgPSBlbl9VUw0KK3NraXAtZXh0ZXJuYWwtbG9ja2luZw0KKyMNCisjIEluc3RlYWQgb2Ygc2tpcC1uZXR3b3JraW5nIHRoZSBkZWZhdWx0IGlzIG5vdyB0byBsaXN0ZW4gb25seSBvbg0KKyMgbG9jYWxob3N0IHdoaWNoIGlzIG1vcmUgY29tcGF0aWJsZSBhbmQgaXMgbm90IGxlc3Mgc2VjdXJlLg0KKyNiaW5kLWFkZHJlc3MgICAgICAgICAgID0gMTI3LjAuMC4xDQorIw0KKyMgKiBGaW5lIFR1bmluZw0KKyMNCittYXhfY29ubmVjdGlvbnMgICAgICAgICA9IDEwMA0KK2Nvbm5lY3RfdGltZW91dCAgICAgICAgID0gNQ0KK3dhaXRfdGltZW91dCAgICAgICAgICAgID0gNjAwDQorbWF4X2FsbG93ZWRfcGFja2V0ICAgICAgPSAxNk0NCit0aHJlYWRfY2FjaGVfc2l6ZSAgICAgICA9IDEyOA0KK3NvcnRfYnVmZmVyX3NpemUgICAgICAgID0gNE0NCitidWxrX2luc2VydF9idWZmZXJfc2l6ZSA9IDE2TQ0KK3RtcF90YWJsZV9zaXplICAgICAgICAgID0gMzJNDQorbWF4X2hlYXBfdGFibGVfc2l6ZSAgICAgPSAzMk0NCisjDQorIyAqIE15SVNBTQ0KKyMNCisjIFRoaXMgcmVwbGFjZXMgdGhlIHN0YXJ0dXAgc2NyaXB0IGFuZCBjaGVja3MgTXlJU0FNIHRhYmxlcyBpZiBuZWVkZWQNCisjIHRoZSBmaXJzdCB0aW1lIHRoZXkgYXJlIHRvdWNoZWQuIE9uIGVycm9yLCBtYWtlIGNvcHkgYW5kIHRyeSBhIHJlcGFpci4NCitteWlzYW1fcmVjb3Zlcl9vcHRpb25zID0gQkFDS1VQDQora2V5X2J1ZmZlcl9zaXplICAgICAgICAgPSAxMjhNDQorI29wZW4tZmlsZXMtbGltaXQgICAgICAgPSAyMDAwDQordGFibGVfb3Blbl9jYWNoZSAgICAgICAgPSA0MDANCitteWlzYW1fc29ydF9idWZmZXJfc2l6ZSA9IDUxMk0NCitjb25jdXJyZW50X2luc2VydCAgICAgICA9IDINCityZWFkX2J1ZmZlcl9zaXplICAgICAgICA9IDJNDQorcmVhZF9ybmRfYnVmZmVyX3NpemUgICAgPSAxTQ0KKyMNCisjICogUXVlcnkgQ2FjaGUgQ29uZmlndXJhdGlvbg0KKyMNCisjIENhY2hlIG9ubHkgdGlueSByZXN1bHQgc2V0cywgc28gd2UgY2FuIGZpdCBtb3JlIGluIHRoZSBxdWVyeSBjYWNoZS4NCitxdWVyeV9jYWNoZV9saW1pdCAgICAgICAgICAgICAgID0gMTI4Sw0KK3F1ZXJ5X2NhY2hlX3NpemUgICAgICAgICAgICAgICAgPSA2NE0NCisjIGZvciBtb3JlIHdyaXRlIGludGVuc2l2ZSBzZXR1cHMsIHNldCB0byBERU1BTkQgb3IgT0ZGDQorI3F1ZXJ5X2NhY2hlX3R5cGUgICAgICAgICAgICAgICA9IERFTUFORA0KKyMNCisjICogTG9nZ2luZyBhbmQgUmVwbGljYXRpb24NCisjDQorIyBCb3RoIGxvY2F0aW9uIGdldHMgcm90YXRlZCBieSB0aGUgY3JvbmpvYi4NCisjIEJlIGF3YXJlIHRoYXQgdGhpcyBsb2cgdHlwZSBpcyBhIHBlcmZvcm1hbmNlIGtpbGxlci4NCisjIEFzIG9mIDUuMSB5b3UgY2FuIGVuYWJsZSB0aGUgbG9nIGF0IHJ1bnRpbWUhDQorI2dlbmVyYWxfbG9nX2ZpbGUgICAgICAgID0gL3Zhci9sb2cvbXlzcWwvbXlzcWwubG9nDQorI2dlbmVyYWxfbG9nICAgICAgICAgICAgID0gMQ0KKyMNCisjIEVycm9yIGxvZ2dpbmcgZ29lcyB0byBzeXNsb2cgZHVlIHRvIC9ldGMvbXlzcWwvY29uZi5kL215c3FsZF9zYWZlX3N5c2xvZy5jbmYuDQorIw0KKyMgd2UgZG8gd2FudCB0byBrbm93IGFib3V0IG5ldHdvcmsgZXJyb3JzIGFuZCBzdWNoDQorI2xvZ193YXJuaW5ncyAgICAgICAgICAgPSAyDQorIw0KKyMgRW5hYmxlIHRoZSBzbG93IHF1ZXJ5IGxvZyB0byBzZWUgcXVlcmllcyB3aXRoIGVzcGVjaWFsbHkgbG9uZyBkdXJhdGlvbg0KKyNzbG93X3F1ZXJ5X2xvZ1s9ezB8MX1dDQorc2xvd19xdWVyeV9sb2dfZmlsZSAgICAgPSAvdmFyL2xvZy9teXNxbC9tYXJpYWRiLXNsb3cubG9nDQorbG9uZ19xdWVyeV90aW1lID0gMTANCisjbG9nX3Nsb3dfcmF0ZV9saW1pdCAgICA9IDEwMDANCisjbG9nX3Nsb3dfdmVyYm9zaXR5ICAgICA9IHF1ZXJ5X3BsYW4NCisNCisjbG9nLXF1ZXJpZXMtbm90LXVzaW5nLWluZGV4ZXMNCisjbG9nX3Nsb3dfYWRtaW5fc3RhdGVtZW50cw0KKyMNCisjIFRoZSBmb2xsb3dpbmcgY2FuIGJlIHVzZWQgYXMgZWFzeSB0byByZXBsYXkgYmFja3VwIGxvZ3Mgb3IgZm9yIHJlcGxpY2F0aW9uLg0KKyMgbm90ZTogaWYgeW91IGFyZSBzZXR0aW5nIHVwIGEgcmVwbGljYXRpb24gc2xhdmUsIHNlZSBSRUFETUUuRGViaWFuIGFib3V0DQorIyAgICAgICBvdGhlciBzZXR0aW5ncyB5b3UgbWF5IG5lZWQgdG8gY2hhbmdlLg0KKyNzZXJ2ZXItaWQgICAgICAgICAgICAgID0gMQ0KKyNyZXBvcnRfaG9zdCAgICAgICAgICAgID0gbWFzdGVyMQ0KKyNhdXRvX2luY3JlbWVudF9pbmNyZW1lbnQgPSAyDQorI2F1dG9faW5jcmVtZW50X29mZnNldCAgPSAxDQorI2xvZ19iaW4gICAgICAgICAgICAgICAgICAgICAgICA9IC92YXIvbG9nL215c3FsL21hcmlhZGItYmluDQorI2xvZ19iaW5faW5kZXggICAgICAgICAgPSAvdmFyL2xvZy9teXNxbC9tYXJpYWRiLWJpbi5pbmRleA0KKyMgbm90IGZhYiBmb3IgcGVyZm9ybWFuY2UsIGJ1dCBzYWZlcg0KKyNzeW5jX2JpbmxvZyAgICAgICAgICAgID0gMQ0KK2V4cGlyZV9sb2dzX2RheXMgICAgICAgID0gMTANCittYXhfYmlubG9nX3NpemUgICAgICAgICA9IDEwME0NCisjIHNsYXZlcw0KKyNyZWxheV9sb2cgICAgICAgICAgICAgID0gL3Zhci9sb2cvbXlzcWwvcmVsYXktYmluDQorI3JlbGF5X2xvZ19pbmRleCAgICAgICAgPSAvdmFyL2xvZy9teXNxbC9yZWxheS1iaW4uaW5kZXgNCisjcmVsYXlfbG9nX2luZm9fZmlsZSAgICA9IC92YXIvbG9nL215c3FsL3JlbGF5LWJpbi5pbmZvDQorI2xvZ19zbGF2ZV91cGRhdGVzDQorI3JlYWRfb25seQ0KKyMNCisjIElmIGFwcGxpY2F0aW9ucyBzdXBwb3J0IGl0LCB0aGlzIHN0cmljdGVyIHNxbF9tb2RlIHByZXZlbnRzIHNvbWUNCisjIG1pc3Rha2VzIGxpa2UgaW5zZXJ0aW5nIGludmFsaWQgZGF0ZXMgZXRjLg0KKyNzcWxfbW9kZSAgICAgICAgICAgICAgID0gTk9fRU5HSU5FX1NVQlNUSVRVVElPTixUUkFESVRJT05BTA0KKyMNCisjICogSW5ub0RCDQorIw0KKyMgSW5ub0RCIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCB3aXRoIGEgMTBNQiBkYXRhZmlsZSBpbiAvdmFyL2xpYi9teXNxbC8uDQorIyBSZWFkIHRoZSBtYW51YWwgZm9yIG1vcmUgSW5ub0RCIHJlbGF0ZWQgb3B0aW9ucy4gVGhlcmUgYXJlIG1hbnkhDQorZGVmYXVsdF9zdG9yYWdlX2VuZ2luZSAgPSBJbm5vREINCisjIHlvdSBjYW4ndCBqdXN0IGNoYW5nZSBsb2cgZmlsZSBzaXplLCByZXF1aXJlcyBzcGVjaWFsIHByb2NlZHVyZQ0KKyNpbm5vZGJfbG9nX2ZpbGVfc2l6ZSAgID0gNTBNDQoraW5ub2RiX2J1ZmZlcl9wb29sX3NpemUgPSAyNTZNDQoraW5ub2RiX2xvZ19idWZmZXJfc2l6ZSAgPSA4TQ0KK2lubm9kYl9maWxlX3Blcl90YWJsZSAgID0gMQ0KK2lubm9kYl9vcGVuX2ZpbGVzICAgICAgID0gNDAwDQoraW5ub2RiX2lvX2NhcGFjaXR5ICAgICAgPSA0MDANCitpbm5vZGJfZmx1c2hfbWV0aG9kICAgICA9IE9fRElSRUNUDQorIw0KKyMgKiBTZWN1cml0eSBGZWF0dXJlcw0KKyMNCisjIFJlYWQgdGhlIG1hbnVhbCwgdG9vLCBpZiB5b3Ugd2FudCBjaHJvb3QhDQorIyBjaHJvb3QgPSAvdmFyL2xpYi9teXNxbC8NCisjDQorIyBGb3IgZ2VuZXJhdGluZyBTU0wgY2VydGlmaWNhdGVzIEkgcmVjb21tZW5kIHRoZSBPcGVuU1NMIEdVSSAidGlueWNhIi4NCisjDQorIyBzc2wtY2E9L2V0Yy9teXNxbC9jYWNlcnQucGVtDQorIyBzc2wtY2VydD0vZXRjL215c3FsL3NlcnZlci1jZXJ0LnBlbQ0KKyMgc3NsLWtleT0vZXRjL215c3FsL3NlcnZlci1rZXkucGVtDQorDQorIw0KKyMgKiBHYWxlcmEtcmVsYXRlZCBzZXR0aW5ncw0KKyMNCitbZ2FsZXJhXQ0KKyMgTWFuZGF0b3J5IHNldHRpbmdzDQorI3dzcmVwX29uPU9ODQorI3dzcmVwX3Byb3ZpZGVyPQ0KKyN3c3JlcF9jbHVzdGVyX2FkZHJlc3M9DQorI2JpbmxvZ19mb3JtYXQ9cm93DQorI2RlZmF1bHRfc3RvcmFnZV9lbmdpbmU9SW5ub0RCDQorI2lubm9kYl9hdXRvaW5jX2xvY2tfbW9kZT0yDQorIw0KKyMgQWxsb3cgc2VydmVyIHRvIGFjY2VwdCBjb25uZWN0aW9ucyBvbiBhbGwgaW50ZXJmYWNlcy4NCisjDQorI2JpbmQtYWRkcmVzcz0wLjAuMC4wDQorIw0KKyMgT3B0aW9uYWwgc2V0dGluZw0KKyN3c3JlcF9zbGF2ZV90aHJlYWRzPTENCisjaW5ub2RiX2ZsdXNoX2xvZ19hdF90cnhfY29tbWl0PTANCisNCitbbXlzcWxkdW1wXQ0KK3F1aWNrDQorcXVvdGUtbmFtZXMNCittYXhfYWxsb3dlZF9wYWNrZXQgICAgICA9IDE2TQ0KKw0KK1tteXNxbF0NCisjbm8tYXV0by1yZWhhc2ggIyBmYXN0ZXIgc3RhcnQgb2YgbXlzcWwgYnV0IG5vIHRhYiBjb21wbGV0aW9uDQorDQorW2lzYW1jaGtdDQora2V5X2J1ZmZlciAgICAgICAgICAgICAgPSAxNk0NCisNCisjDQorIyAqIElNUE9SVEFOVDogQWRkaXRpb25hbCBzZXR0aW5ncyB0aGF0IGNhbiBvdmVycmlkZSB0aG9zZSBmcm9tIHRoaXMgZmlsZSENCisjICAgVGhlIGZpbGVzIG11c3QgZW5kIHdpdGggJy5jbmYnLCBvdGhlcndpc2UgdGhleSdsbCBiZSBpZ25vcmVkLg0KKyMNCishaW5jbHVkZWRpciAvZXRjL215c3FsL2NvbmYuZC8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL29zYW0tY29yZS1kYXRhLnNxbCBiL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvb3NhbS1jb3JlLWRhdGEuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MzdlODIKLS0tIC9kZXYvbnVsbAorKysgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL29zYW0tY29yZS1kYXRhLnNxbApAQCAtMCwwICsxLDcwOSBAQAorLyotDQorICogPT09PT09PT09PT09TElDRU5TRV9TVEFSVD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgKiBWSUQNCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAqIENvcHlyaWdodCAoQykgMjAxNyBBVCZUIEludGVsbGVjdHVhbCBQcm9wZXJ0eS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCisgKiANCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKyAqIA0KKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisgKiA9PT09PT09PT09PT1MSUNFTlNFX0VORD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAqLw0KK1VTRSBvc2FtX2NvcmU7DQorDQorREVMRVRFIEZST00gYGZuX2RhdGFzb3VyY2VgOw0KK1RSVU5DQVRFIGBmbl9tZW51YDsNCitERUxFVEUgRlJPTSBgZm5fcm9sZV9mdW5jdGlvbmA7DQorREVMRVRFIEZST00gYGZuX3Jlc3RyaWN0ZWRfdXJsYDsNCitERUxFVEUgRlJPTSBgZm5fdGFiX3NlbGVjdGVkYDsNCitERUxFVEUgRlJPTSBgZm5fdGFiYDsNCitERUxFVEUgRlJPTSBgZm5fZnVuY3Rpb25gOw0KK0RFTEVURSBGUk9NIGBmbl9sdV9hbGVydF9tZXRob2RgOw0KK0RFTEVURSBGUk9NIGBmbl9sdV9hY3Rpdml0eWA7DQorREVMRVRFIEZST00gYGZuX2x1X2NhbGxfdGltZXNgOw0KK0RFTEVURSBGUk9NIGBmbl9sdV9jb3VudHJ5YDsNCitERUxFVEUgRlJPTSBgZm5fbHVfbWVudV9zZXRgOw0KK0RFTEVURSBGUk9NIGBmbl9sdV9wcmlvcml0eWA7DQorREVMRVRFIEZST00gYGZuX2x1X3N0YXRlYDsNCitERUxFVEUgRlJPTSBgZm5fbHVfdGFiX3NldGA7DQorDQorLS0NCistLSBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBjcl9yYXB0b3JfYWN0aW9uX2ltZ2ANCistLQ0KK1JFUExBQ0UgSU5UTyBgY3JfcmFwdG9yX2FjdGlvbl9pbWdgIFZBTFVFUyAoJ0NBTEVOREFSJywnL3N0YXRpYy9mdXNpb24vcmFwdG9yL2ltZy9DYWxlbmRhci0xNngxNi5wbmcnKTsNCitSRVBMQUNFIElOVE8gYGNyX3JhcHRvcl9hY3Rpb25faW1nYCBWQUxVRVMgKCdERUxFVEUnLCcvc3RhdGljL2Z1c2lvbi9yYXB0b3IvaW1nL2RlbGV0ZWljb24uZ2lmJyk7DQorDQorLS0NCistLSBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBmbl9hcHBgDQorLS0NCitJTlNFUlQgSUdOT1JFIElOVE8gYGZuX2FwcGAgVkFMVUVTICgxLCdEZWZhdWx0JyxudWxsLCdTb21lIERlZmF1bHQgRGVzY3JpcHRpb24nLCdTb21lIERlZmF1bHQgTm90ZScsbnVsbCxudWxsLG51bGwsJ0VDUFAnLCc/JywxLCdva1lUYURyaHppYmNiR1ZxNW1qa1ZRPT0nLCdOJywnTicsbnVsbCwnRGVmYXVsdCcsbnVsbCxudWxsLCdFQ09NUC1QT1JUQUwtSU5CT1gnKTsNCisNCisNCistLQ0KKy0tIER1bXBpbmcgZGF0YSBmb3IgdGFibGUgYGZuX2Z1bmN0aW9uYA0KKy0tDQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCcxJywndGVzdCByb2xlIGZ1bmN0aW9uJywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSd0ZXN0IHJvbGUgZnVuY3Rpb24nOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnZG9jbGliJywnRG9jdW1lbnQgTGlicmFyeScsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nRG9jdW1lbnQgTGlicmFyeSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdkb2NsaWJfYWRtaW4nLCdEb2N1bWVudCBMaWJyYXJ5IEFkbWluJywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdEb2N1bWVudCBMaWJyYXJ5IEFkbWluJzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ2xvZ2luJywnTG9naW4nLCd1cmwnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nTG9naW4nOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV9hZG1pbicsJ0FkbWluIE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J0FkbWluIE1lbnUnOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV9hamF4JywnQWpheCBNZW51JywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdBamF4IE1lbnUnOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV9zZXJ2aWNlbW9kZWxzJywnQnJvd3NlIFNEQyBTZXJ2aWNlIEluc3RhbmNlcycsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nQnJvd3NlIFNEQyBTZXJ2aWNlIEluc3RhbmNlcyc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X2NvbmNlcHQnLCdDb05DRVBUJywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdDb05DRVBUJzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfY3VzdG9tZXInLCdDdXN0b21lciBNZW51JywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdDdXN0b21lciBNZW51JzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfY3VzdG9tZXJfY3JlYXRlJywnQ3VzdG9tZXIgQ3JlYXRlJywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdDdXN0b21lciBDcmVhdGUnOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV9kb2NsaWInLCdEb2N1bWVudCBMaWJyYXJ5IE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J0RvY3VtZW50IExpYnJhcnkgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X2ZlZWRiYWNrJywnRmVlZGJhY2sgTWVudScsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nRmVlZGJhY2sgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X2hlbHAnLCdIZWxwIE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J0hlbHAgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X2hvbWUnLCdIb21lIE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J0hvbWUgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X2l0cmFja2VyJywnaVRyYWNrZXIgTWVudScsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0naVRyYWNrZXIgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X2l0cmFja2VyX2FkbWluJywnSXRyYWNrZXIgQWRtaW4vU3VwcG9ydCBtZW51JywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdJdHJhY2tlciBBZG1pbi9TdXBwb3J0IG1lbnUnOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV9qb2InLCdKb2IgTWVudScsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nSm9iIE1lbnUnOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV9qb2JfY3JlYXRlJywnSm9iIENyZWF0ZScsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nSm9iIENyZWF0ZSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X2pvYl9kZXNpZ25lcicsJ1Byb2Nlc3MgaW4gRGVzaWduZXIgdmlldycsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nUHJvY2VzcyBpbiBEZXNpZ25lciB2aWV3JzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfbG9nb3V0JywnTG9nb3V0IE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J0xvZ291dCBNZW51JzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfbWFwJywnTWFwIE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J01hcCBNZW51JzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfbmV3c2VyaW5zdGFuY2UnLCdDcmVhdGUgTmV3IFNlcnZpY2UgSW5zdGFuY2UnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J0NyZWF0ZSBOZXcgU2VydmljZSBJbnN0YW5jZSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X25vdGVzJywnTm90ZXMgTWVudScsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nTm90ZXMgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X3Byb2Nlc3MnLCdQcm9jZXNzIExpc3QnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J1Byb2Nlc3MgTGlzdCc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X3Byb2ZpbGUnLCdQcm9maWxlIE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J1Byb2ZpbGUgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X3Byb2ZpbGVfY3JlYXRlJywnUHJvZmlsZSBDcmVhdGUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J1Byb2ZpbGUgQ3JlYXRlJzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfcHJvZmlsZV9pbXBvcnQnLCdQcm9maWxlIEltcG9ydCcsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nUHJvZmlsZSBJbXBvcnQnOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV9yZXBvcnRzJywnUmVwb3J0cyBNZW51JywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdSZXBvcnRzIE1lbnUnOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV9zYW1wbGUnLCdTYW1wbGUgUGFnZXMgTWVudScsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nU2FtcGxlIFBhZ2VzIE1lbnUnOw0KK0lOU0VSVCBJTlRPIGBmbl9mdW5jdGlvbmAgVkFMVUVTICgnbWVudV90YWInLCdTYW1wbGUgVGFiIE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J1NhbXBsZSBUYWIgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X3Rhc2snLCdUYXNrIE1lbnUnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J1Rhc2sgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X3Rhc2tfc2VhcmNoJywnVGFzayBTZWFyY2gnLCdtZW51JywnKicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIEZVTkNUSU9OX05BTUU9J1Rhc2sgU2VhcmNoJzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfdGVzdCcsJ1Rlc3QgTWVudScsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nVGVzdCBNZW51JzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfdmlld2xvZycsJ0xvZyBNZW51JywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdMb2cgTWVudSc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCd2aWV3X3JlcG9ydHMnLCdWaWV3IFJhcHRvciByZXBvcnRzJywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdWaWV3IFJhcHRvciByZXBvcnRzJzsNCitJTlNFUlQgSU5UTyBgZm5fZnVuY3Rpb25gIFZBTFVFUyAoJ21lbnVfc2VhcmNoZXhpc3RpbmcnLCAnU2VhcmNoIGZvciBFeGlzdGluZyBTZXJ2aWNlIEluc3RhbmNlcycsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nU2VhcmNoIGZvciBFeGlzdGluZyBTZXJ2aWNlIEluc3RhbmNlcyc7DQorSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X2NoYW5nZW1hbmFnZW1lbnQnLCdWTkYgQ2hhbmdlcycsJ21lbnUnLCcqJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgRlVOQ1RJT05fTkFNRT0nVk5GIENoYW5nZXMnOw0KKy0tSU5TRVJUIElOVE8gYGZuX2Z1bmN0aW9uYCBWQUxVRVMgKCdtZW51X3Rlc3RlbnZpcm9ubWVudCcsJ1Rlc3QgRW52aXJvbm1lbnRzJywnbWVudScsJyonKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBGVU5DVElPTl9OQU1FPSdUZXN0IEVudmlyb25tZW50cyc7DQorDQorLS0NCistLSBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBmbl9sdV9hY3Rpdml0eWANCistLQ0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfYWN0aXZpdHlgIFZBTFVFUyAoJ2FkZF9jaGlsZF9yb2xlJywnYWRkX2NoaWxkX3JvbGUnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2FjdGl2aXR5YCBWQUxVRVMgKCdhZGRfcm9sZScsJ2FkZF9yb2xlJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9hY3Rpdml0eWAgVkFMVUVTICgnYWRkX3JvbGVfZnVuY3Rpb24nLCdhZGRfcm9sZV9mdW5jdGlvbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfYWN0aXZpdHlgIFZBTFVFUyAoJ2FkZF91c2VyX3JvbGUnLCdhZGRfdXNlcl9yb2xlJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9hY3Rpdml0eWAgVkFMVUVTICgnbG9naW4nLCdMb2dpbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfYWN0aXZpdHlgIFZBTFVFUyAoJ2xvZ291dCcsJ0xvZ291dCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfYWN0aXZpdHlgIFZBTFVFUyAoJ21vYmlsZV9sb2dpbicsJ01vYmlsZSBMb2dpbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfYWN0aXZpdHlgIFZBTFVFUyAoJ21vYmlsZV9sb2dvdXQnLCdNb2JpbGUgTG9nb3V0Jyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9hY3Rpdml0eWAgVkFMVUVTICgncmVtb3ZlX2NoaWxkX3JvbGUnLCdyZW1vdmVfY2hpbGRfcm9sZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfYWN0aXZpdHlgIFZBTFVFUyAoJ3JlbW92ZV9yb2xlJywncmVtb3ZlX3JvbGUnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2FjdGl2aXR5YCBWQUxVRVMgKCdyZW1vdmVfcm9sZV9mdW5jdGlvbicsJ3JlbW92ZV9yb2xlX2Z1bmN0aW9uJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9hY3Rpdml0eWAgVkFMVUVTICgncmVtb3ZlX3VzZXJfcm9sZScsJ3JlbW92ZV91c2VyX3JvbGUnKTsNCisNCistLQ0KKy0tIER1bXBpbmcgZGF0YSBmb3IgdGFibGUgYGZuX2x1X2FsZXJ0X21ldGhvZGANCistLQ0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfYWxlcnRfbWV0aG9kYCBWQUxVRVMgKCdFTUFJTCcsJ0VtYWlsJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9hbGVydF9tZXRob2RgIFZBTFVFUyAoJ0ZBWCcsJ0ZheCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfYWxlcnRfbWV0aG9kYCBWQUxVRVMgKCdQQUdFUicsJ1BhZ2VyJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9hbGVydF9tZXRob2RgIFZBTFVFUyAoJ1BIT05FJywnUGhvbmUnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2FsZXJ0X21ldGhvZGAgVkFMVUVTICgnU01TJywnU01TJyk7DQorDQorLS0NCistLSBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBmbl9sdV9jYWxsX3RpbWVzYA0KKy0tDQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDEsMjAsJzIwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgyLDQwLCc0MCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMyw2MCwnMSBocicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg0LDgwLCcxIGhyIDIwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg1LDEwMCwnMSBociA0MCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoNiwxMjAsJzIgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDcsMTQwLCcyIGhyIDIwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg4LDE2MCwnMiBociA0MCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoOSwxODAsJzMgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDEwLDIwMCwnMyBociAyMCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMTEsMjIwLCczIGhyIDQwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgxMiwyNDAsJzQgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDEzLDI2MCwnNCBociAyMCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMTQsMjgwLCc0IGhyIDQwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgxNSwzMDAsJzUgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDE2LDMyMCwnNSBociAyMCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMTcsMzQwLCc1IGhyIDQwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgxOCwzNjAsJzYgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDE5LDM4MCwnNiBociAyMCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMjAsNDAwLCc2IGhyIDQwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgyMSw0MjAsJzcgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDIyLDQ0MCwnNyBociAyMCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMjMsNDYwLCc3IGhyIDQwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgyNCw0ODAsJzggaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDI1LDUwMCwnOCBociAyMCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMjYsNTIwLCc4IGhyIDQwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgyNyw1NDAsJzkgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDI4LDU2MCwnOSBociAyMCBtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMjksNTgwLCc5IGhyIDQwIG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgzMCw2MDAsJzEwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgzMSwxMCwnMTAgbWluJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDMyLDUsJzUgbWluJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDMzLDEyMDAsJzIwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgzNCwxODAwLCczMCBocnMnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMzUsMjQwMCwnNDAgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDM2LDMwMDAsJzUwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICgzNyw0MjAwLCc3MCBocnMnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoMzgsNDgwMCwnODAgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDM5LDU0MDAsJzkwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg0MCw2MDAwLCcxMDAgaHJzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jYWxsX3RpbWVzYCBWQUxVRVMgKDQxLDcyMDAsJzEyMCBocnMnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NhbGxfdGltZXNgIFZBTFVFUyAoNDIsOTYwMCwnMTYwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg0MywxMDgwMCwnMTgwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg0NCwxMjAwMCwnMjAwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg0NSwxODAwMCwnMzAwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg0NiwyNDAwMCwnNDAwIGhycycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY2FsbF90aW1lc2AgVkFMVUVTICg0NywzMDAwMCwnNTAwIGhycycpOw0KKw0KKy0tDQorLS0gRHVtcGluZyBkYXRhIGZvciB0YWJsZSBgZm5fbHVfY291bnRyeWANCistLQ0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQUQnLCdBbmRvcnJhJywnQW5kb3JyYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdBRScsJ1VuaXRlZCBBcmFiIEVtaXJhdGVzJywnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQUYnLCdBZmdoYW5pc3RhbicsJ0FmZ2hhbmlzdGFuJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0FHJywnQW50aWd1YSBhbmQgQmFyYnVkYScsJ0FudGlndWEgYW5kIEJhcmJ1ZGEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQUknLCdBbmd1aWxsYScsJ0FuZ3VpbGxhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0FMJywnQWxiYW5pYScsJ0FsYmFuaWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQU0nLCdBcm1lbmlhJywnQXJtZW5pYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdBTicsJ05ldGhlcmxhbmRzIEFudGlsbGVzJywnTmV0aGVybGFuZHMgQW50aWxsZXMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQU8nLCdBbmdvbGEnLCdBbmdvbGEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQVEnLCdBbnRhcmN0aWNhJywnQW50YXJjdGljYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdBUicsJ0FyZ2VudGluYScsJ0FyZ2VudGluYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdBUycsJ0FtZXJpY2FuIFNhbW9hJywnQW1lcmljYW4gU2Ftb2EnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQVQnLCdBdXN0cmlhJywnQXVzdHJpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdBVScsJ0F1c3RyYWxpYScsJ0F1c3RyYWxpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdBVycsJ0FydWJhJywnQXJ1YmEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQVonLCdBemVyYmFpZGphbicsJ0F6ZXJiYWlkamFuJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0JBJywnQm9zbmlhLUhlcnplZ292aW5hJywnQm9zbmlhLUhlcnplZ292aW5hJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0JCJywnQmFyYmFkb3MnLCdCYXJiYWRvcycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdCRCcsJ0JhbmdsYWRlc2gnLCdCYW5nbGFkZXNoJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0JFJywnQmVsZ2l1bScsJ0JlbGdpdW0nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQkYnLCdCdXJraW5hIEZhc28nLCdCdXJraW5hIEZhc28nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQkcnLCdCdWxnYXJpYScsJ0J1bGdhcmlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0JIJywnQmFocmFpbicsJ0JhaHJhaW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQkknLCdCdXJ1bmRpJywnQnVydW5kaScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdCSicsJ0JlbmluJywnQmVuaW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQk0nLCdCZXJtdWRhJywnQmVybXVkYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdCTicsJ0JydW5laSBEYXJ1c3NhbGFtJywnQnJ1bmVpIERhcnVzc2FsYW0nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQk8nLCdCb2xpdmlhJywnQm9saXZpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdCUicsJ0JyYXppbCcsJ0JyYXppbCcsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdCUycsJ0JhaGFtYXMnLCdCYWhhbWFzJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0JUJywnQmh1dGFuJywnQmh1dGFuJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0JWJywnQm91dmV0IElzbGFuZCcsJ0JvdXZldCBJc2xhbmQnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQlcnLCdCb3Rzd2FuYScsJ0JvdHN3YW5hJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0JZJywnQmVsYXJ1cycsJ0JlbGFydXMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQlonLCdCZWxpemUnLCdCZWxpemUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQ0EnLCdDYW5hZGEnLCdDYW5hZGEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQ0MnLCdDb2NvcyAoS2VlbGluZykgSXNsYW5kcycsJ0NvY29zIChLZWVsaW5nKSBJc2xhbmRzJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0NGJywnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJywnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0NHJywnQ29uZ28nLCdDb25nbycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdDSCcsJ1N3aXR6ZXJsYW5kJywnU3dpdHplcmxhbmQnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQ0knLCdJdm9yeSBDb2FzdCAoQ290ZSBEXCdJdm9pcmUpJywnSXZvcnkgQ29hc3QgKENvdGUgRFwnSXZvaXJlKScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdDSycsJ0Nvb2sgSXNsYW5kcycsJ0Nvb2sgSXNsYW5kcycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdDTCcsJ0NoaWxlJywnQ2hpbGUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQ00nLCdDYW1lcm9vbicsJ0NhbWVyb29uJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0NOJywnQ2hpbmEnLCdDaGluYScsJ0NoaW5hJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdDTycsJ0NvbG9tYmlhJywnQ29sb21iaWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQ1InLCdDb3N0YSBSaWNhJywnQ29zdGEgUmljYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdDUycsJ0Zvcm1lciBDemVjaG9zbG92YWtpYScsJ0Zvcm1lciBDemVjaG9zbG92YWtpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdDVScsJ0N1YmEnLCdDdWJhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0NWJywnQ2FwZSBWZXJkZScsJ0NhcGUgVmVyZGUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnQ1gnLCdDaHJpc3RtYXMgSXNsYW5kJywnQ2hyaXN0bWFzIElzbGFuZCcsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdDWScsJ0N5cHJ1cycsJ0N5cHJ1cycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdDWicsJ0N6ZWNoIFJlcHVibGljJywnQ3plY2ggUmVwdWJsaWMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnREUnLCdHZXJtYW55JywnR2VybWFueScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdESicsJ0RqaWJvdXRpJywnRGppYm91dGknLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnREsnLCdEZW5tYXJrJywnRGVubWFyaycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdETScsJ0RvbWluaWNhJywnRG9taW5pY2EnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnRE8nLCdEb21pbmljYW4gUmVwdWJsaWMnLCdEb21pbmljYW4gUmVwdWJsaWMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnRFonLCdBbGdlcmlhJywnQWxnZXJpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdFQycsJ0VjdWFkb3InLCdFY3VhZG9yJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0VFJywnRXN0b25pYScsJ0VzdG9uaWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnRUcnLCdFZ3lwdCcsJ0VneXB0JyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0VIJywnV2VzdGVybiBTYWhhcmEnLCdXZXN0ZXJuIFNhaGFyYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdFUicsJ0VyaXRyZWEnLCdFcml0cmVhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0VTJywnU3BhaW4nLCdTcGFpbicsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdFVCcsJ0V0aGlvcGlhJywnRXRoaW9waWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnRkknLCdGaW5sYW5kJywnRmlubGFuZCcsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdGSicsJ0ZpamknLCdGaWppJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0ZLJywnRmFsa2xhbmQgSXNsYW5kcycsJ0ZhbGtsYW5kIElzbGFuZHMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnRk0nLCdNaWNyb25lc2lhJywnTWljcm9uZXNpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdGTycsJ0Zhcm9lIElzbGFuZHMnLCdGYXJvZSBJc2xhbmRzJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0ZSJywnRnJhbmNlJywnRnJhbmNlJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0ZYJywnRnJhbmNlIChFdXJvcGVhbiBUZXJyaXRvcnkpJywnRnJhbmNlIChFdXJvcGVhbiBUZXJyaXRvcnkpJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0dBJywnR2Fib24nLCdHYWJvbicsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHQicsJ0dyZWF0IEJyaXRhaW4nLCdHcmVhdCBCcml0YWluJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0dEJywnR3JlbmFkYScsJ0dyZW5hZGEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnR0UnLCdHZW9yZ2lhJywnR2VvcmdpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHRicsJ0ZyZW5jaCBHdXlhbmEnLCdGcmVuY2ggR3V5YW5hJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0dIJywnR2hhbmEnLCdHaGFuYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHSScsJ0dpYnJhbHRhcicsJ0dpYnJhbHRhcicsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHTCcsJ0dyZWVubGFuZCcsJ0dyZWVubGFuZCcsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHTScsJ0dhbWJpYScsJ0dhbWJpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHTicsJ0d1aW5lYScsJ0d1aW5lYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHUCcsJ0d1YWRlbG91cGUgKEZyZW5jaCknLCdHdWFkZWxvdXBlIChGcmVuY2gpJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0dRJywnRXF1YXRvcmlhbCBHdWluZWEnLCdFcXVhdG9yaWFsIEd1aW5lYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHUicsJ0dyZWVjZScsJ0dyZWVjZScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHUycsJ1MuIEdlb3JnaWEgYW5kIFMuIFNhbmR3aWNoIElzbHMuJywnUy4gR2VvcmdpYSBhbmQgUy4gU2FuZHdpY2ggSXNscy4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnR1QnLCdHdWF0ZW1hbGEnLCdHdWF0ZW1hbGEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnR1UnLCdHdWFtIChVU0EpJywnR3VhbSAoVVNBKScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdHVycsJ0d1aW5lYSBCaXNzYXUnLCdHdWluZWEgQmlzc2F1JyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0dZJywnR3V5YW5hJywnR3V5YW5hJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0hLJywnSG9uZyBLb25nJywnSG9uZyBLb25nJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0hNJywnSGVhcmQgYW5kIE1jRG9uYWxkIElzbGFuZHMnLCdIZWFyZCBhbmQgTWNEb25hbGQgSXNsYW5kcycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdITicsJ0hvbmR1cmFzJywnSG9uZHVyYXMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnSFInLCdDcm9hdGlhJywnQ3JvYXRpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdIVCcsJ0hhaXRpJywnSGFpdGknLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnSFUnLCdIdW5nYXJ5JywnSHVuZ2FyeScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdJRCcsJ0luZG9uZXNpYScsJ0luZG9uZXNpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdJRScsJ0lyZWxhbmQnLCdJcmVsYW5kJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0lMJywnSXNyYWVsJywnSXNyYWVsJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0lOJywnSW5kaWEnLCdJbmRpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdJTycsJ0JyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeScsJ0JyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdJUScsJ0lyYXEnLCdJcmFxJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0lSJywnSXJhbicsJ0lyYW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnSVMnLCdJY2VsYW5kJywnSWNlbGFuZCcsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdJVCcsJ0l0YWx5JywnSXRhbHknLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnSk0nLCdKYW1haWNhJywnSmFtYWljYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdKTycsJ0pvcmRhbicsJ0pvcmRhbicsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdKUCcsJ0phcGFuJywnSmFwYW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnS0UnLCdLZW55YScsJ0tlbnlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0tHJywnS3lyZ3l6c3RhbicsJ0t5cmd5enN0YW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnS0gnLCdDYW1ib2RpYScsJ0NhbWJvZGlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0tJJywnS2lyaWJhdGknLCdLaXJpYmF0aScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdLTScsJ0NvbW9yb3MnLCdDb21vcm9zJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0tOJywnU2FpbnQgS2l0dHMgYW5kIE5ldmlzIEFuZ3VpbGxhJywnU2FpbnQgS2l0dHMgYW5kIE5ldmlzIEFuZ3VpbGxhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0tQJywnTm9ydGggS29yZWEnLCdOb3J0aCBLb3JlYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdLUicsJ1NvdXRoIEtvcmVhJywnU291dGggS29yZWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnS1cnLCdLdXdhaXQnLCdLdXdhaXQnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnS1knLCdDYXltYW4gSXNsYW5kcycsJ0NheW1hbiBJc2xhbmRzJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0taJywnS2F6YWtoc3RhbicsJ0themFraHN0YW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTEEnLCdMYW9zJywnTGFvcycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdMQicsJ0xlYmFub24nLCdMZWJhbm9uJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0xDJywnU2FpbnQgTHVjaWEnLCdTYWludCBMdWNpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdMSScsJ0xpZWNodGVuc3RlaW4nLCdMaWVjaHRlbnN0ZWluJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0xLJywnU3JpIExhbmthJywnU3JpIExhbmthJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0xSJywnTGliZXJpYScsJ0xpYmVyaWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTFMnLCdMZXNvdGhvJywnTGVzb3RobycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdMVCcsJ0xpdGh1YW5pYScsJ0xpdGh1YW5pYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdMVScsJ0x1eGVtYm91cmcnLCdMdXhlbWJvdXJnJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0xWJywnTGF0dmlhJywnTGF0dmlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ0xZJywnTGlieWEnLCdMaWJ5YScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdNQScsJ01vcm9jY28nLCdNb3JvY2NvJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ01DJywnTW9uYWNvJywnTW9uYWNvJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ01EJywnTW9sZGF2aWEnLCdNb2xkYXZpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdNRycsJ01hZGFnYXNjYXInLCdNYWRhZ2FzY2FyJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ01IJywnTWFyc2hhbGwgSXNsYW5kcycsJ01hcnNoYWxsIElzbGFuZHMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTUsnLCdNYWNlZG9uaWEnLCdNYWNlZG9uaWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTUwnLCdNYWxpJywnTWFsaScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdNTScsJ015YW5tYXInLCdNeWFubWFyJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ01OJywnTW9uZ29saWEnLCdNb25nb2xpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdNTycsJ01hY2F1JywnTWFjYXUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTVAnLCdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnLCdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTVEnLCdNYXJ0aW5pcXVlIChGcmVuY2gpJywnTWFydGluaXF1ZSAoRnJlbmNoKScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdNUicsJ01hdXJpdGFuaWEnLCdNYXVyaXRhbmlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ01TJywnTW9udHNlcnJhdCcsJ01vbnRzZXJyYXQnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTVQnLCdNYWx0YScsJ01hbHRhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ01VJywnTWF1cml0aXVzJywnTWF1cml0aXVzJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ01WJywnTWFsZGl2ZXMnLCdNYWxkaXZlcycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdNVycsJ01hbGF3aScsJ01hbGF3aScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdNWCcsJ01leGljbycsJ01leGljbycsJ01leGljbycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTVknLCdNYWxheXNpYScsJ01hbGF5c2lhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ01aJywnTW96YW1iaXF1ZScsJ01vemFtYmlxdWUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTkEnLCdOYW1pYmlhJywnTmFtaWJpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdOQycsJ05ldyBDYWxlZG9uaWEgKEZyZW5jaCknLCdOZXcgQ2FsZWRvbmlhIChGcmVuY2gpJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ05FJywnTmlnZXInLCdOaWdlcicsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdORicsJ05vcmZvbGsgSXNsYW5kJywnTm9yZm9sayBJc2xhbmQnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTkcnLCdOaWdlcmlhJywnTmlnZXJpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdOSScsJ05pY2FyYWd1YScsJ05pY2FyYWd1YScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdOTCcsJ05ldGhlcmxhbmRzJywnTmV0aGVybGFuZHMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTk8nLCdOb3J3YXknLCdOb3J3YXknLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnTlAnLCdOZXBhbCcsJ05lcGFsJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ05SJywnTmF1cnUnLCdOYXVydScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdOVScsJ05pdWUnLCdOaXVlJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ05aJywnTmV3IFplYWxhbmQnLCdOZXcgWmVhbGFuZCcsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdPTScsJ09tYW4nLCdPbWFuJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1BBJywnUGFuYW1hJywnUGFuYW1hJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1BFJywnUGVydScsJ1BlcnUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnUEYnLCdQb2x5bmVzaWEgKEZyZW5jaCknLCdQb2x5bmVzaWEgKEZyZW5jaCknLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnUEcnLCdQYXB1YSBOZXcgR3VpbmVhJywnUGFwdWEgTmV3IEd1aW5lYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdQSCcsJ1BoaWxpcHBpbmVzJywnUGhpbGlwcGluZXMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnUEsnLCdQYWtpc3RhbicsJ1Bha2lzdGFuJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1BMJywnUG9sYW5kJywnUG9sYW5kJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1BNJywnU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbicsJ1NhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnUE4nLCdQaXRjYWlybiBJc2xhbmQnLCdQaXRjYWlybiBJc2xhbmQnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnUFInLCdQdWVydG8gUmljbycsJ1B1ZXJ0byBSaWNvJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1BUJywnUG9ydHVnYWwnLCdQb3J0dWdhbCcsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdQVycsJ1BhbGF1JywnUGFsYXUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnUFknLCdQYXJhZ3VheScsJ1BhcmFndWF5JyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1FBJywnUWF0YXInLCdRYXRhcicsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdSRScsJ1JldW5pb24gKEZyZW5jaCknLCdSZXVuaW9uIChGcmVuY2gpJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1JPJywnUm9tYW5pYScsJ1JvbWFuaWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnUlUnLCdSdXNzaWFuIEZlZGVyYXRpb24nLCdSdXNzaWFuIEZlZGVyYXRpb24nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnUlcnLCdSd2FuZGEnLCdSd2FuZGEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU0EnLCdTYXVkaSBBcmFiaWEnLCdTYXVkaSBBcmFiaWEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU0InLCdTb2xvbW9uIElzbGFuZHMnLCdTb2xvbW9uIElzbGFuZHMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU0MnLCdTZXljaGVsbGVzJywnU2V5Y2hlbGxlcycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdTRCcsJ1N1ZGFuJywnU3VkYW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU0UnLCdTd2VkZW4nLCdTd2VkZW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU0cnLCdTaW5nYXBvcmUnLCdTaW5nYXBvcmUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU0gnLCdTYWludCBIZWxlbmEnLCdTYWludCBIZWxlbmEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU0knLCdTbG92ZW5pYScsJ1Nsb3ZlbmlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1NKJywnU3ZhbGJhcmQgYW5kIEphbiBNYXllbiBJc2xhbmRzJywnU3ZhbGJhcmQgYW5kIEphbiBNYXllbiBJc2xhbmRzJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1NLJywnU2xvdmFrIFJlcHVibGljJywnU2xvdmFrIFJlcHVibGljJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1NMJywnU2llcnJhIExlb25lJywnU2llcnJhIExlb25lJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1NNJywnU2FuIE1hcmlubycsJ1NhbiBNYXJpbm8nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU04nLCdTZW5lZ2FsJywnU2VuZWdhbCcsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdTTycsJ1NvbWFsaWEnLCdTb21hbGlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1NSJywnU3VyaW5hbWUnLCdTdXJpbmFtZScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdTVCcsJ1NhaW50IFRvbWUgKFNhbyBUb21lKSBhbmQgUHJpbmNpcGUnLCdTYWludCBUb21lIChTYW8gVG9tZSkgYW5kIFByaW5jaXBlJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1NVJywnRm9ybWVyIFVTU1InLCdGb3JtZXIgVVNTUicsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdTVicsJ0VsIFNhbHZhZG9yJywnRWwgU2FsdmFkb3InLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnU1knLCdTeXJpYScsJ1N5cmlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1NaJywnU3dhemlsYW5kJywnU3dhemlsYW5kJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1RDJywnVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzJywnVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1REJywnQ2hhZCcsJ0NoYWQnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVEYnLCdGcmVuY2ggU291dGhlcm4gVGVycml0b3JpZXMnLCdGcmVuY2ggU291dGhlcm4gVGVycml0b3JpZXMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVEcnLCdUb2dvJywnVG9nbycsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdUSCcsJ1RoYWlsYW5kJywnVGhhaWxhbmQnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVEonLCdUYWRqaWtpc3RhbicsJ1RhZGppa2lzdGFuJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1RLJywnVG9rZWxhdScsJ1Rva2VsYXUnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVE0nLCdUdXJrbWVuaXN0YW4nLCdUdXJrbWVuaXN0YW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVE4nLCdUdW5pc2lhJywnVHVuaXNpYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdUTycsJ1RvbmdhJywnVG9uZ2EnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVFAnLCdFYXN0IFRpbW9yJywnRWFzdCBUaW1vcicsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdUUicsJ1R1cmtleScsJ1R1cmtleScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdUVCcsJ1RyaW5pZGFkIGFuZCBUb2JhZ28nLCdUcmluaWRhZCBhbmQgVG9iYWdvJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1RWJywnVHV2YWx1JywnVHV2YWx1JyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1RXJywnVGFpd2FuJywnVGFpd2FuJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1RaJywnVGFuemFuaWEnLCdUYW56YW5pYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdVQScsJ1VrcmFpbmUnLCdVa3JhaW5lJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1VHJywnVWdhbmRhJywnVWdhbmRhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1VLJywnVW5pdGVkIEtpbmdkb20nLCdVbml0ZWQgS2luZ2RvbScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdVTScsJ1VTQSBNaW5vciBPdXRseWluZyBJc2xhbmRzJywnVVNBIE1pbm9yIE91dGx5aW5nIElzbGFuZHMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVVMnLCdVbml0ZWQgU3RhdGVzJywnVW5pdGVkIFN0YXRlcycsJ1VTQScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVVknLCdVcnVndWF5JywnVXJ1Z3VheScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdVWicsJ1V6YmVraXN0YW4nLCdVemJla2lzdGFuJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1ZBJywnVmF0aWNhbiBDaXR5IFN0YXRlJywnVmF0aWNhbiBDaXR5IFN0YXRlJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1ZDJywnU2FpbnQgVmluY2VudCBhbmQgR3JlbmFkaW5lcycsJ1NhaW50IFZpbmNlbnQgYW5kIEdyZW5hZGluZXMnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVkUnLCdWZW5lenVlbGEnLCdWZW5lenVlbGEnLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVkcnLCdWaXJnaW4gSXNsYW5kcyAoQnJpdGlzaCknLCdWaXJnaW4gSXNsYW5kcyAoQnJpdGlzaCknLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVkknLCdWaXJnaW4gSXNsYW5kcyAoVVNBKScsJ1ZpcmdpbiBJc2xhbmRzIChVU0EpJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1ZOJywnVmlldG5hbScsJ1ZpZXRuYW0nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnVlUnLCdWYW51YXR1JywnVmFudWF0dScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdXRicsJ1dhbGxpcyBhbmQgRnV0dW5hIElzbGFuZHMnLCdXYWxsaXMgYW5kIEZ1dHVuYSBJc2xhbmRzJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1dTJywnU2Ftb2EnLCdTYW1vYScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdZRScsJ1llbWVuJywnWWVtZW4nLE5VTEwpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfY291bnRyeWAgVkFMVUVTICgnWVQnLCdNYXlvdHRlJywnTWF5b3R0ZScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdZVScsJ1l1Z29zbGF2aWEnLCdZdWdvc2xhdmlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1pBJywnU291dGggQWZyaWNhJywnU291dGggQWZyaWNhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1pNJywnWmFtYmlhJywnWmFtYmlhJyxOVUxMKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X2NvdW50cnlgIFZBTFVFUyAoJ1pSJywnWmFpcmUnLCdaYWlyZScsTlVMTCk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9jb3VudHJ5YCBWQUxVRVMgKCdaVycsJ1ppbWJhYndlJywnWmltYmFid2UnLE5VTEwpOw0KKw0KKy0tDQorLS0gRHVtcGluZyBkYXRhIGZvciB0YWJsZSBgZm5fbHVfbWVudV9zZXRgDQorLS0NCitJTlNFUlQgSU5UTyBgZm5fbHVfbWVudV9zZXRgIFZBTFVFUyAoJ0FQUCcsJ0FwcGxpY2F0aW9uIE1lbnUnKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBNRU5VX1NFVF9OQU1FPSdBcHBsaWNhdGlvbiBNZW51JzsNCisNCistLQ0KKy0tIER1bXBpbmcgZGF0YSBmb3IgdGFibGUgYGZuX2x1X3ByaW9yaXR5YA0KKy0tDQorUkVQTEFDRSBJTlRPIGBmbl9sdV9wcmlvcml0eWAgVkFMVUVTICgxMCwnTG93JywnWScsMTApOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfcHJpb3JpdHlgIFZBTFVFUyAoMjAsJ05vcm1hbCcsJ1knLDIwKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3ByaW9yaXR5YCBWQUxVRVMgKDMwLCdIaWdoJywnWScsMzApOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfcHJpb3JpdHlgIFZBTFVFUyAoNDAsJ1VyZ2VudCcsJ1knLDQwKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3ByaW9yaXR5YCBWQUxVRVMgKDUwLCdGYXRhbCcsJ1knLDUwKTsNCisNCistLQ0KKy0tIER1bXBpbmcgZGF0YSBmb3IgdGFibGUgYGZuX2x1X3N0YXRlYA0KKy0tDQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnQUsnLCdBSyAtIEFsYXNrYScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ0FMJywnQUwgLSBBbGFiYW1hJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnQVInLCdBUiAtIEFya2Fuc2FzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnQVonLCdBWiAtIEFyaXpvbmEnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdDQScsJ0NBIC0gQ2FsaWZvcm5pYScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ0NPJywnQ08gLSBDb2xvcmFkbycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ0NUJywnQ1QgLSBDb25uZWN0aWN1dCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ0RDJywnREMgLSBEaXN0cmljdCBPZiBDb2x1bWJpYScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ0RFJywnREUgLSBEZWxhd2FyZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ0ZMJywnRkwgLSBGbG9yaWRhJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnR0EnLCdHQSAtIEdlb3JnaWEnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdISScsJ0hJIC0gSGF3YWlpJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnSUEnLCdJQSAtIElvd2EnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdJRCcsJ0lEIC0gSWRhaG8nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdJTCcsJ0lMIC0gSWxsaW5vaXMnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdJTicsJ0lOIC0gSW5kaWFuYScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ0tTJywnS1MgLSBLYW5zYXMnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdLWScsJ0tZIC0gS2VudHVja3knKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdMQScsJ0xBIC0gTG91aXNpYW5hJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnTUEnLCdNQSAtIE1hc3NhY2h1c2V0dHMnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdNRCcsJ01EIC0gTWFyeWxhbmQnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdNRScsJ01FIC0gTWFpbmUnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdNSScsJ01JIC0gTWljaGlnYW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdNTicsJ01OIC0gTWlubmVzb3RhJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnTU8nLCdNTyAtIE1pc3NvdXJpJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnTVMnLCdNUyAtIE1pc3Npc3NpcHBpJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnTVQnLCdNVCAtIE1vbnRhbmEnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdOQycsJ05DIC0gTm9ydGggQ2Fyb2xpbmEnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdORCcsJ05EIC0gTm9ydGggRGFrb3RhJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnTkUnLCdORSAtIE5lYnJhc2thJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnTkgnLCdOSCAtIE5ldyBIYW1wc2hpcmUnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdOSicsJ05KIC0gTmV3IEplcnNleScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ05NJywnTk0gLSBOZXcgTWV4aWNvJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnTlYnLCdOViAtIE5ldmFkYScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ05ZJywnTlkgLSBOZXcgWW9yaycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ09IJywnT0ggLSBPaGlvJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnT0snLCdPSyAtIE9rbGFob21hJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnT1InLCdPUiAtIE9yZWdvbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ1BBJywnUEEgLSBQZW5uc3lsdmFuaWEnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdQUicsJ1BSIC0gUHVlcnRvIFJpY28nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdSSScsJ1JJIC0gUmhvZGUgSXNsYW5kJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnU0MnLCdTQyAtIFNvdXRoIENhcm9saW5hJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnU0QnLCdTRCAtIFNvdXRoIERha290YScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ1ROJywnVE4gLSBUZW5uZXNzZWUnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdUWCcsJ1RYIC0gVGV4YXMnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdVVCcsJ1VUIC0gVXRhaCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ1ZBJywnVkEgLSBWaXJnaW5pYScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ1ZJJywnVkktVmlyZ2luIElzbGFuZCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fbHVfc3RhdGVgIFZBTFVFUyAoJ1ZUJywnVlQgLSBWZXJtb250Jyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnV0EnLCdXQSAtIFdhc2hpbmd0b24nKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdXSScsJ1dJIC0gV2lzY29uc2luJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9sdV9zdGF0ZWAgVkFMVUVTICgnV1YnLCdXViAtIFdlc3QgVmlyZ2luaWEnKTsNCitSRVBMQUNFIElOVE8gYGZuX2x1X3N0YXRlYCBWQUxVRVMgKCdXWScsJ1dZIC0gV3lvbWluZycpOw0KKw0KKy0tDQorLS0gRHVtcGluZyBkYXRhIGZvciB0YWJsZSBgZm5fbHVfdGFiX3NldGANCistLQ0KK0lOU0VSVCBJTlRPIGBmbl9sdV90YWJfc2V0YCBWQUxVRVMgKCdBUFAnLCdBcHBsaWNhdGlvbiBUYWJzJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVEFCX1NFVF9OQU1FPSdBcHBsaWNhdGlvbiBUYWJzJzsNCisNCistLQ0KKy0tIER1bXBpbmcgZGF0YSBmb3IgdGFibGUgYGZuX2x1X3RpbWV6b25lYA0KKy0tDQorSU5TRVJUIElOVE8gYGZuX2x1X3RpbWV6b25lYCBWQUxVRVMgKDEwLCdVUy9FYXN0ZXJuJywnVVMvRWFzdGVybicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIFRJTUVaT05FX05BTUU9J1VTL0Vhc3Rlcm4nLCBUSU1FWk9ORV9WQUxVRT0nVVMvRWFzdGVybic7DQorSU5TRVJUIElOVE8gYGZuX2x1X3RpbWV6b25lYCBWQUxVRVMgKDIwLCdVUy9DZW50cmFsJywnVVMvQ2VudHJhbCcpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIFRJTUVaT05FX05BTUU9J1VTL0NlbnRyYWwnLCBUSU1FWk9ORV9WQUxVRT0nVVMvQ2VudHJhbCc7DQorSU5TRVJUIElOVE8gYGZuX2x1X3RpbWV6b25lYCBWQUxVRVMgKDMwLCdVUy9Nb3VudGFpbicsJ1VTL01vdW50YWluJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVElNRVpPTkVfTkFNRT0nVVMvTW91bnRhaW4nLCBUSU1FWk9ORV9WQUxVRT0nVVMvTW91bnRhaW4nOw0KK0lOU0VSVCBJTlRPIGBmbl9sdV90aW1lem9uZWAgVkFMVUVTICg0MCwnVVMvQXJpem9uYScsJ0FtZXJpY2EvUGhvZW5peCcpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIFRJTUVaT05FX05BTUU9J1VTL0FyaXpvbmEnLCBUSU1FWk9ORV9WQUxVRT0nQW1lcmljYS9QaG9lbml4JzsNCitJTlNFUlQgSU5UTyBgZm5fbHVfdGltZXpvbmVgIFZBTFVFUyAoNTAsJ1VTL1BhY2lmaWMnLCdVUy9QYWNpZmljJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVElNRVpPTkVfTkFNRT0nVVMvUGFjaWZpYycsIFRJTUVaT05FX1ZBTFVFPSdVUy9QYWNpZmljJzsNCitJTlNFUlQgSU5UTyBgZm5fbHVfdGltZXpvbmVgIFZBTFVFUyAoNjAsJ1VTL0FsYXNrYScsJ1VTL0FsYXNrYScpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIFRJTUVaT05FX05BTUU9J1VTL0FsYXNrYScsIFRJTUVaT05FX1ZBTFVFPSdVUy9BbGFza2EnOw0KK0lOU0VSVCBJTlRPIGBmbl9sdV90aW1lem9uZWAgVkFMVUVTICg3MCwnVVMvSGF3YWlpJywnVVMvSGF3YWlpJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVElNRVpPTkVfTkFNRT0nVVMvSGF3YWlpJywgVElNRVpPTkVfVkFMVUU9J1VTL0hhd2FpaSc7DQorDQorLS0NCistLSBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBmbl9tZW51YA0KKy0tDQorSU5TRVJUIElOVE8gYGZuX21lbnVgIFZBTFVFUyAoMSwnUm9vdCcsTlVMTCwxMCxOVUxMLCdtZW51X2hvbWUnLCdOJyxOVUxMLE5VTEwsTlVMTCxOVUxMLCdBUFAnLCdOJyxOVUxMKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBMQUJFTD0nUm9vdCcsIFBBUkVOVF9JRD1OVUxMLCBTT1JUX09SREVSPTEwLCBBQ1RJT049TlVMTCwgRlVOQ1RJT05fQ0Q9J21lbnVfaG9tZScsIEFDVElWRV9ZTj0nTicsIFNFUlZMRVQ9TlVMTCwgUVVFUllfU1RSSU5HPU5VTEwsIEVYVEVSTkFMX1VSTD1OVUxMLCBUQVJHRVQ9TlVMTCwgTUVOVV9TRVRfQ0Q9J0FQUCcsIFNFUEFSQVRPUl9ZTj0nTicsIElNQUdFX1NSQz1OVUxMOw0KK0lOU0VSVCBJTlRPIGBmbl9tZW51YCBWQUxVRVMgKDIsJ1ZJRCBIb21lJywxLDEwLCd3ZWxjb21lLmh0bScsJ21lbnVfaG9tZScsJ1knLE5VTEwsTlVMTCxOVUxMLE5VTEwsJ0FQUCcsJ04nLCdpY29uLWxvY2F0aW9uLXBpbicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIExBQkVMPSdWSUQgSG9tZScsIFBBUkVOVF9JRD0xLCBTT1JUX09SREVSPTEwLCBBQ1RJT049J3dlbGNvbWUuaHRtJywgRlVOQ1RJT05fQ0Q9J21lbnVfaG9tZScsIEFDVElWRV9ZTj0nWScsIFNFUlZMRVQ9TlVMTCwgUVVFUllfU1RSSU5HPU5VTEwsIEVYVEVSTkFMX1VSTD1OVUxMLCBUQVJHRVQ9TlVMTCwgTUVOVV9TRVRfQ0Q9J0FQUCcsIFNFUEFSQVRPUl9ZTj0nTicsIElNQUdFX1NSQz0naWNvbi1sb2NhdGlvbi1waW4nOw0KKw0KK0lOU0VSVCBJTlRPIGBmbl9tZW51YCBWQUxVRVMgKDMsJ1NlYXJjaCBmb3IgRXhpc3RpbmcgU2VydmljZSBJbnN0YW5jZXMnLDEsMTAsJ3NlcnZpY2VNb2RlbHMuaHRtIy9pbnN0YW5jZXMvc2VydmljZXMnLCdtZW51X3NlYXJjaGV4aXN0aW5nJywnWScsTlVMTCxOVUxMLE5VTEwsTlVMTCwnQVBQJywnTicsJ2ljb24tbG9jYXRpb24tcGluJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgTEFCRUw9J1NlYXJjaCBmb3IgRXhpc3RpbmcgU2VydmljZSBJbnN0YW5jZXMnLCBQQVJFTlRfSUQ9MSwgU09SVF9PUkRFUj0xMCwgQUNUSU9OPSdzZXJ2aWNlTW9kZWxzLmh0bSMvaW5zdGFuY2VzL3NlcnZpY2VzJywgRlVOQ1RJT05fQ0Q9J21lbnVfc2VhcmNoZXhpc3RpbmcnLCBBQ1RJVkVfWU49J1knLCBTRVJWTEVUPU5VTEwsIFFVRVJZX1NUUklORz1OVUxMLCBFWFRFUk5BTF9VUkw9TlVMTCwgVEFSR0VUPU5VTEwsIE1FTlVfU0VUX0NEPSdBUFAnLCBTRVBBUkFUT1JfWU49J04nLCBJTUFHRV9TUkM9J2ljb24tbG9jYXRpb24tcGluJzsNCitJTlNFUlQgSU5UTyBgZm5fbWVudWAgVkFMVUVTICgxMCwnQWRtaW4nLDEsMTEwLCdyb2xlX2xpc3QuaHRtJywnbWVudV9hZG1pbicsJ1knLE5VTEwsTlVMTCxOVUxMLE5VTEwsJ0FQUCcsJ04nLCdpY29uLXNldHRpbmdzJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgTEFCRUw9J0FkbWluJywgUEFSRU5UX0lEPTEsIFNPUlRfT1JERVI9MTEwLCBBQ1RJT049J2FkbWluJywgRlVOQ1RJT05fQ0Q9J21lbnVfYWRtaW4nLCBBQ1RJVkVfWU49J1knLCBTRVJWTEVUPU5VTEwsIFFVRVJZX1NUUklORz1OVUxMLCBFWFRFUk5BTF9VUkw9TlVMTCwgVEFSR0VUPU5VTEwsIE1FTlVfU0VUX0NEPSdBUFAnLCBTRVBBUkFUT1JfWU49J04nLCBJTUFHRV9TUkM9J2ljb24tc2V0dGluZ3MnOw0KK0lOU0VSVCBJTlRPIGBmbl9tZW51YCBWQUxVRVMgKDEzLCdWSUQgTG9nb3V0JywxLDEzMCwnYXBwX2xvZ291dC5odG0nLCdtZW51X2xvZ291dCcsJ04nLE5VTEwsTlVMTCxOVUxMLE5VTEwsJ0FQUCcsJ04nLCdpY29uLXNpZ24tb3V0JykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgTEFCRUw9J1ZJRCBMb2dvdXQnLCBQQVJFTlRfSUQ9MSwgU09SVF9PUkRFUj0xMzAsIEFDVElPTj0nYXBwX2xvZ291dC5odG0nLCBGVU5DVElPTl9DRD0nbWVudV9sb2dvdXQnLCBBQ1RJVkVfWU49J04nLCBTRVJWTEVUPU5VTEwsIFFVRVJZX1NUUklORz1OVUxMLCBFWFRFUk5BTF9VUkw9TlVMTCwgVEFSR0VUPU5VTEwsIE1FTlVfU0VUX0NEPSdBUFAnLCBTRVBBUkFUT1JfWU49J04nLCBJTUFHRV9TUkM9J2ljb24tc2lnbi1vdXQnOw0KK0lOU0VSVCBJTlRPIGBmbl9tZW51YCBWQUxVRVMgKDQyLCdCcm93c2UgU0RDIFNlcnZpY2UgTW9kZWxzJywxLDEwLCdzZXJ2aWNlTW9kZWxzLmh0bScsJ21lbnVfc2VydmljZW1vZGVscycsJ1knLE5VTEwsTlVMTCxOVUxMLE5VTEwsJ0FQUCcsJ04nLCdpY29uLWxvY2F0aW9uLXBpbicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIExBQkVMPSdCcm93c2UgU0RDIFNlcnZpY2UgSW5zdGFuY2VzJywgUEFSRU5UX0lEPTEsIFNPUlRfT1JERVI9MTAsIEFDVElPTj0nc2VydmljZU1vZGVscy5odG0nLCBGVU5DVElPTl9DRD0nbWVudV9zZXJ2aWNlbW9kZWxzJywgQUNUSVZFX1lOPSdZJywgU0VSVkxFVD1OVUxMLCBRVUVSWV9TVFJJTkc9TlVMTCwgRVhURVJOQUxfVVJMPU5VTEwsIFRBUkdFVD1OVUxMLCBNRU5VX1NFVF9DRD0nQVBQJywgU0VQQVJBVE9SX1lOPSdOJywgSU1BR0VfU1JDPSdpY29uLWxvY2F0aW9uLXBpbic7DQorSU5TRVJUIElOVE8gYGZuX21lbnVgIFZBTFVFUyAoNDEsJ0NyZWF0ZSBOZXcgU2VydmljZSBJbnN0YW5jZScsMSwxMCwnc2VydmljZU1vZGVscy5odG0jL2luc3RhbmNlcy9zdWJzY3JpYmVycycsJ21lbnVfbmV3c2VyaW5zdGFuY2UnLCdZJyxOVUxMLE5VTEwsTlVMTCxOVUxMLCdBUFAnLCdOJywnaWNvbi1sb2NhdGlvbi1waW4nKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBMQUJFTD0nQ3JlYXRlIE5ldyBTZXJ2aWNlIEluc3RhbmNlJywgUEFSRU5UX0lEPTEsIFNPUlRfT1JERVI9MTAsIEFDVElPTj0nc2VydmljZU1vZGVscy5odG0jL2luc3RhbmNlcy9zdWJzY3JpYmVycycsIEZVTkNUSU9OX0NEPSdtZW51X25ld3Nlcmluc3RhbmNlJywgQUNUSVZFX1lOPSdZJywgU0VSVkxFVD1OVUxMLCBRVUVSWV9TVFJJTkc9TlVMTCwgRVhURVJOQUxfVVJMPU5VTEwsIFRBUkdFVD1OVUxMLCBNRU5VX1NFVF9DRD0nQVBQJywgU0VQQVJBVE9SX1lOPSdOJywgSU1BR0VfU1JDPSdpY29uLWxvY2F0aW9uLXBpbic7DQorSU5TRVJUIElOVE8gYGZuX21lbnVgIFZBTFVFUyAoNDMsJ1ZpZXcgTG9nJywxLDEwLCd2aWV3bG9nLmh0bScsJ21lbnVfdmlld2xvZycsJ04nLE5VTEwsTlVMTCxOVUxMLE5VTEwsJ0FQUCcsJ04nLCdpY29uLWxvY2F0aW9uLXBpbicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIExBQkVMPSdWaWV3IExvZycsIFBBUkVOVF9JRD0xLCBTT1JUX09SREVSPTEwLCBBQ1RJT049J3ZpZXdsb2cuaHRtJywgRlVOQ1RJT05fQ0Q9J21lbnVfdmlld2xvZycsIEFDVElWRV9ZTj0nWScsIFNFUlZMRVQ9TlVMTCwgUVVFUllfU1RSSU5HPU5VTEwsIEVYVEVSTkFMX1VSTD1OVUxMLCBUQVJHRVQ9TlVMTCwgTUVOVV9TRVRfQ0Q9J0FQUCcsIFNFUEFSQVRPUl9ZTj0nTicsIElNQUdFX1NSQz0naWNvbi1sb2NhdGlvbi1waW4nOw0KK0lOU0VSVCBJTlRPIGBmbl9tZW51YCBWQUxVRVMgKDEwMSwnUm9sZXMnLDEwLDIwLCdhZG1pbicsJ21lbnVfYWRtaW4nLCdZJyxOVUxMLE5VTEwsTlVMTCxOVUxMLCdBUFAnLCdOJywnL3N0YXRpYy9mdXNpb24vaW1hZ2VzL3VzZXJzLnBuZycpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIExBQkVMPSdSb2xlcycsIFBBUkVOVF9JRD0xMCwgU09SVF9PUkRFUj0yMCwgQUNUSU9OPSdhZG1pbicsIEZVTkNUSU9OX0NEPSdtZW51X2FkbWluJywgQUNUSVZFX1lOPSdZJywgU0VSVkxFVD1OVUxMLCBRVUVSWV9TVFJJTkc9TlVMTCwgRVhURVJOQUxfVVJMPU5VTEwsIFRBUkdFVD1OVUxMLCBNRU5VX1NFVF9DRD0nQVBQJywgU0VQQVJBVE9SX1lOPSdOJywgSU1BR0VfU1JDPScvc3RhdGljL2Z1c2lvbi9pbWFnZXMvdXNlcnMucG5nJzsNCitJTlNFUlQgSU5UTyBgZm5fbWVudWAgVkFMVUVTICgxMDIsJ1JvbGUgRnVuY3Rpb25zJywxMCwzMCwnYWRtaW4jL3JvbGVfZnVuY3Rpb25fbGlzdCcsJ21lbnVfYWRtaW4nLCdZJyxOVUxMLE5VTEwsTlVMTCxOVUxMLCdBUFAnLCdOJyxOVUxMKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBMQUJFTD0nUm9sZSBGdW5jdGlvbnMnLCBQQVJFTlRfSUQ9MTAsIFNPUlRfT1JERVI9MzAsIEFDVElPTj0nYWRtaW4jL3JvbGVfZnVuY3Rpb25fbGlzdCcsIEZVTkNUSU9OX0NEPSdtZW51X2FkbWluJywgQUNUSVZFX1lOPSdZJywgU0VSVkxFVD1OVUxMLCBRVUVSWV9TVFJJTkc9TlVMTCwgRVhURVJOQUxfVVJMPU5VTEwsIFRBUkdFVD1OVUxMLCBNRU5VX1NFVF9DRD0nQVBQJywgU0VQQVJBVE9SX1lOPSdOJywgSU1BR0VfU1JDPU5VTEw7DQorSU5TRVJUIElOVE8gYGZuX21lbnVgIFZBTFVFUyAoMTAzLCdCcm9hZGNhc3QgTWVzc2FnZXMnLDEwLDUwLCdhZG1pbiMvYnJvYWRjYXN0X2xpc3QnLCdtZW51X2FkbWluJywnTicsTlVMTCxOVUxMLE5VTEwsTlVMTCwnQVBQJywnTicsJy9zdGF0aWMvZnVzaW9uL2ltYWdlcy9idWJibGUucG5nJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgTEFCRUw9J0Jyb2FkY2FzdCBNZXNzYWdlcycsIFBBUkVOVF9JRD0xMCwgU09SVF9PUkRFUj01MCwgQUNUSU9OPSdhZG1pbiMvYnJvYWRjYXN0X2xpc3QnLCBGVU5DVElPTl9DRD0nbWVudV9hZG1pbicsIEFDVElWRV9ZTj0nTicsIFNFUlZMRVQ9TlVMTCwgUVVFUllfU1RSSU5HPU5VTEwsIEVYVEVSTkFMX1VSTD1OVUxMLCBUQVJHRVQ9TlVMTCwgTUVOVV9TRVRfQ0Q9J0FQUCcsIFNFUEFSQVRPUl9ZTj0nTicsIElNQUdFX1NSQz0nL3N0YXRpYy9mdXNpb24vaW1hZ2VzL2J1YmJsZS5wbmcnOw0KK0lOU0VSVCBJTlRPIGBmbl9tZW51YCBWQUxVRVMgKDEwNSwnQ2FjaGUgQWRtaW4nLDEwLDQwLCdhZG1pbiMvamNzX2FkbWluJywnbWVudV9hZG1pbicsJ04nLE5VTEwsTlVMTCxOVUxMLE5VTEwsJ0FQUCcsJ04nLCcvc3RhdGljL2Z1c2lvbi9pbWFnZXMvY2FjaGUucG5nJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgTEFCRUw9J0NhY2hlIEFkbWluJywgUEFSRU5UX0lEPTEwLCBTT1JUX09SREVSPTQwLCBBQ1RJT049J2FkbWluIy9qY3NfYWRtaW4nLCBGVU5DVElPTl9DRD0nbWVudV9hZG1pbicsIEFDVElWRV9ZTj0nTicsIFNFUlZMRVQ9TlVMTCwgUVVFUllfU1RSSU5HPU5VTEwsIEVYVEVSTkFMX1VSTD1OVUxMLCBUQVJHRVQ9TlVMTCwgTUVOVV9TRVRfQ0Q9J0FQUCcsIFNFUEFSQVRPUl9ZTj0nTicsIElNQUdFX1NSQz0nL3N0YXRpYy9mdXNpb24vaW1hZ2VzL2NhY2hlLnBuZyc7DQorSU5TRVJUIElOVE8gYGZuX21lbnVgIFZBTFVFUyAoMTA2LCdMb2NrL1VubG9jayBBcHBsaWNhdGlvbicsMTAsNjAsJ2FwcGxpY2F0aW9uX2xvY2tvdXQuaHRtJywnbWVudV9hZG1pbicsJ04nLE5VTEwsTlVMTCxOVUxMLE5VTEwsJ0FQUCcsJ04nLCcvc3RhdGljL2Z1c2lvbi9pbWFnZXMvZGVjcnlwdGVkLnBuZycpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIExBQkVMPSdMb2NrL1VubG9jayBBcHBsaWNhdGlvbicsIFBBUkVOVF9JRD0xMCwgU09SVF9PUkRFUj02MCwgQUNUSU9OPSdhcHBsaWNhdGlvbl9sb2Nrb3V0Lmh0bScsIEZVTkNUSU9OX0NEPSdtZW51X2FkbWluJywgQUNUSVZFX1lOPSdOJywgU0VSVkxFVD1OVUxMLCBRVUVSWV9TVFJJTkc9TlVMTCwgRVhURVJOQUxfVVJMPU5VTEwsIFRBUkdFVD1OVUxMLCBNRU5VX1NFVF9DRD0nQVBQJywgU0VQQVJBVE9SX1lOPSdOJywgSU1BR0VfU1JDPScvc3RhdGljL2Z1c2lvbi9pbWFnZXMvZGVjcnlwdGVkLnBuZyc7DQorSU5TRVJUIElOVE8gYGZuX21lbnVgIFZBTFVFUyAoMTA4LCdVc2FnZScsMTAsODAsJ2FkbWluIy91c2FnZV9saXN0JywnbWVudV9hZG1pbicsJ04nLE5VTEwsTlVMTCxOVUxMLE5VTEwsJ0FQUCcsJ04nLCcvc3RhdGljL2Z1c2lvbi9pbWFnZXMvdXNlcnMucG5nJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgTEFCRUw9J1VzYWdlJywgUEFSRU5UX0lEPTEwLCBTT1JUX09SREVSPTgwLCBBQ1RJT049J2FkbWluIy91c2FnZV9saXN0JywgRlVOQ1RJT05fQ0Q9J21lbnVfYWRtaW4nLCBBQ1RJVkVfWU49J1knLCBTRVJWTEVUPU5VTEwsIFFVRVJZX1NUUklORz1OVUxMLCBFWFRFUk5BTF9VUkw9TlVMTCwgVEFSR0VUPU5VTEwsIE1FTlVfU0VUX0NEPSdBUFAnLCBTRVBBUkFUT1JfWU49J04nLCBJTUFHRV9TUkM9Jy9zdGF0aWMvZnVzaW9uL2ltYWdlcy91c2Vycy5wbmcnOw0KK0lOU0VSVCBJTlRPIGBmbl9tZW51YCBWQUxVRVMgKDEwOSwgJ1ZORiBDaGFuZ2VzJywgMSwgMTEsICdzZXJ2aWNlTW9kZWxzLmh0bSMvY2hhbmdlLW1hbmFnZW1lbnQnLCAnbWVudV9jaGFuZ2VtYW5hZ2VtZW50JywgJ1knLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCAnQVBQJywgJ04nLCAnaWNvbi1sb2NhdGlvbi1waW4nKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBMQUJFTD0nVk5GIENoYW5nZXMnLCBQQVJFTlRfSUQ9MSwgU09SVF9PUkRFUj0xMSwgQUNUSU9OPSdzZXJ2aWNlTW9kZWxzLmh0bSMvY2hhbmdlLW1hbmFnZW1lbnQnLCBGVU5DVElPTl9DRD0nbWVudV9jaGFuZ2VtYW5hZ2VtZW50JywgQUNUSVZFX1lOPSdZJywgU0VSVkxFVD1OVUxMLCBRVUVSWV9TVFJJTkc9TlVMTCwgRVhURVJOQUxfVVJMPU5VTEwsIFRBUkdFVD1OVUxMLCBNRU5VX1NFVF9DRD0nQVBQJywgU0VQQVJBVE9SX1lOPSdOJywgSU1BR0VfU1JDPSdpY29uLWxvY2F0aW9uLXBpbic7DQorLS1JTlNFUlQgSU5UTyBgZm5fbWVudWAgVkFMVUVTICgxMTAsICdUZXN0IEVudmlyb25tZW50cycsIDEsIDEyLCAnc2VydmljZU1vZGVscy5odG0jL3Rlc3RFbnZpcm9ubWVudHMnLCAnbWVudV90ZXN0ZW52aXJvbm1lbnQnLCAnWScsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsICdBUFAnLCAnTicsICdpY29uLWxvY2F0aW9uLXBpbicpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIExBQkVMPSdUZXN0IEVudmlyb25tZW50cycsIFBBUkVOVF9JRD0xLCBTT1JUX09SREVSPTEyLCBBQ1RJT049J3NlcnZpY2VNb2RlbHMuaHRtIy90ZXN0RW52aXJvbm1lbnRzJywgRlVOQ1RJT05fQ0Q9J21lbnVfdGVzdGVudmlyb25tZW50JywgQUNUSVZFX1lOPSdZJywgU0VSVkxFVD1OVUxMLCBRVUVSWV9TVFJJTkc9TlVMTCwgRVhURVJOQUxfVVJMPU5VTEwsIFRBUkdFVD1OVUxMLCBNRU5VX1NFVF9DRD0nQVBQJywgU0VQQVJBVE9SX1lOPSdOJywgSU1BR0VfU1JDPSdpY29uLWxvY2F0aW9uLXBpbic7DQorLS0NCistLSBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBmbl9yZXN0cmljdGVkX3VybGANCistLQ0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2F0dGFjaG1lbnQuaHRtJywnbWVudV9hZG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2Jyb2FkY2FzdC5odG0nLCdtZW51X2FkbWluJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnZmlsZV91cGxvYWQuaHRtJywnbWVudV9hZG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2pvYi5odG0nLCdtZW51X2FkbWluJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgncm9sZS5odG0nLCdtZW51X2FkbWluJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgncm9sZV9mdW5jdGlvbi5odG0nLCdtZW51X2FkbWluJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgndGVzdC5odG0nLCdtZW51X2FkbWluJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnc2VydmljZU1vZGVscy5odG0nLCdtZW51X3NlcnZpY2Vtb2RlbHMnKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdhc3luY190ZXN0Lmh0bScsJ21lbnVfaG9tZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2NoYXRXaW5kb3cuaHRtJywnbWVudV9ob21lJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnY29udGFjdF9saXN0Lmh0bScsJ21lbnVfaG9tZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2N1c3RvbWVyX2R5bmFtaWNfbGlzdC5odG0nLCdtZW51X2hvbWUnKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdldmVudC5odG0nLCdtZW51X2hvbWUnKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdldmVudF9saXN0Lmh0bScsJ21lbnVfaG9tZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ21vYmlsZV93ZWxjb21lLmh0bScsJ21lbnVfaG9tZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ3NhbXBsZV9tYXAuaHRtJywnbWVudV9ob21lJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgndGVtcGxhdGUuanNwJywnbWVudV9ob21lJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnd2VsY29tZS5odG0nLCdtZW51X2hvbWUnKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCd6a2F1JywnbWVudV9ob21lJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnaXRyYWNrZXJfYXNzaWduLmh0bScsJ21lbnVfaXRyYWNrZXInKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdpdHJhY2tlcl9ieWFzc2lnbmVlLmh0bScsJ21lbnVfaXRyYWNrZXInKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdpdHJhY2tlcl9jcmVhdGUuaHRtJywnbWVudV9pdHJhY2tlcicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2l0cmFja2VyX3VwZGF0ZS5odG0nLCdtZW51X2l0cmFja2VyJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnbWFuYWdlX2xpY2Vuc2UuaHRtJywnbWVudV9pdHJhY2tlcicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ3N1cHBvcnRfdGlja2V0Lmh0bScsJ21lbnVfaXRyYWNrZXInKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdqYnBtX2Rlc2lnbmVyLmh0bScsJ21lbnVfam9iX2NyZWF0ZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2picG1fZHJvb2xzLmh0bScsJ21lbnVfam9iX2NyZWF0ZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ3Byb2Nlc3Nfam9iLmh0bScsJ21lbnVfam9iX2NyZWF0ZScpOw0KKy0tIFJFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ25vdmFtYXBfY29udHJvbGxlci5odG0nLCdtZW51X21hcCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2NyZWF0ZW5ld3NlcnZpY2VpbnN0YW5jZS5odG0nLCdtZW51X25ld3Nlcmluc3RhbmNlJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgncHJvZmlsZS5odG0nLCdtZW51X3Byb2ZpbGVfY3JlYXRlJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgncmFwdG9yLmh0bScsJ21lbnVfcmVwb3J0cycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ3JhcHRvcjIuaHRtJywnbWVudV9yZXBvcnRzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgncmFwdG9yX2Jsb2JfZXh0cmFjdC5odG0nLCdtZW51X3JlcG9ydHMnKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdyYXB0b3JfZW1haWxfYXR0YWNobWVudC5odG0nLCdtZW51X3JlcG9ydHMnKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdyYXB0b3Jfc2VhcmNoLmh0bScsJ21lbnVfcmVwb3J0cycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ3JlcG9ydF9saXN0Lmh0bScsJ21lbnVfcmVwb3J0cycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2dhdWdlLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnZ21hcF9jb250cm9sbGVyLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnZ21hcF9mcmFtZS5odG0nLCdtZW51X3RhYicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ21hcC5odG0nLCdtZW51X3RhYicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ21hcF9kb3dubG9hZC5odG0nLCdtZW51X3RhYicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ21hcF9ncmlkX3NlYXJjaC5odG0nLCdtZW51X3RhYicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ3NhbXBsZV9hbmltYXRlZF9tYXAuaHRtJywnbWVudV90YWInKTsNCistLSBSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdzYW1wbGVfaGVhdF9tYXAuaHRtJywnbWVudV90YWInKTsNCistLSBSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdzYW1wbGVfaGVhdF9tYXBfbm9faGVhZGVyLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnc2FtcGxlX21hcF8yLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnc2FtcGxlX21hcF8zLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgndGFiMl9zdWIxLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgndGFiMl9zdWIyX2xpbmsxLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgndGFiMl9zdWIyX2xpbmsyLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgndGFiMl9zdWIzLmh0bScsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgndGFiMy5odG0nLCdtZW51X3RhYicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ3RhYjQuaHRtJywnbWVudV90YWInKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCd2aWV3bG9nLmh0bScsJ21lbnVfdmlld2xvZycpOw0KKy0tIFJFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2JkX29wdGltYS5odG0nLCdxdWFudHVtX2JkJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnYmRfb3B0aW1hX2ludGVyYWN0aXZlLmh0bScsJ3F1YW50dW1fYmQnKTsNCistLSBSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdiZF9wMnQuaHRtJywncXVhbnR1bV9iZCcpOw0KKy0tIFJFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2dyaWRfaGVhdG1hcC5odG0nLCdxdWFudHVtX2JkJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnaGl2ZS5odG0nLCdxdWFudHVtX2JkJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnaGl2ZWNvbmZpZy5odG0nLCdxdWFudHVtX2JkJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnaGl2ZWNvbmZpZ19wb3B1cC5odG0nLCdxdWFudHVtX2JkJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnaGl2ZV9zZWFyY2guaHRtJywncXVhbnR1bV9iZCcpOw0KKy0tIFJFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2hpdmVfc2VhcmNoX3BvcHVwLmh0bScsJ3F1YW50dW1fYmQnKTsNCistLSBSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdqYnBtVGVzdFByb2Nlc3MuaHRtJywncXVhbnR1bV9iZCcpOw0KKy0tIFJFUExBQ0UgSU5UTyBgZm5fcmVzdHJpY3RlZF91cmxgIFZBTFVFUyAoJ2pvYl9wcm9ncmVzcy5odG0nLCdxdWFudHVtX2JkJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgnbWFwcmVkdWNlLmh0bScsJ3F1YW50dW1fYmQnKTsNCistLSBSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdtYXByZWR1Y2Vfc2VhcmNoLmh0bScsJ3F1YW50dW1fYmQnKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdyYXB0b3IuaHRtJywndmlld19yZXBvcnRzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yZXN0cmljdGVkX3VybGAgVkFMVUVTICgncmFwdG9yX2Jsb2JfZXh0cmFjdC5odG0nLCd2aWV3X3JlcG9ydHMnKTsNCitSRVBMQUNFIElOVE8gYGZuX3Jlc3RyaWN0ZWRfdXJsYCBWQUxVRVMgKCdzZXJ2aWNlTW9kZWxzLmh0bScsJ21lbnVfc2VydmljZW1vZGVscycpOw0KKy0tDQorLS0gRHVtcGluZyBkYXRhIGZvciB0YWJsZSBgZm5fcm9sZWANCistLQ0KK0lOU0VSVCBJTlRPIGBmbl9yb2xlYCBWQUxVRVMgKDEsJ1N5c3RlbSBBZG1pbmlzdHJhdG9yJywnWScsMSkgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgUk9MRV9OQU1FPSdTeXN0ZW0gQWRtaW5pc3RyYXRvcicsIEFDVElWRV9ZTj0nWScsIFBSSU9SSVRZPTE7DQorSU5TRVJUIElOVE8gYGZuX3JvbGVgIFZBTFVFUyAoMTYsJ1N0YW5kYXJkIFVzZXInLCdZJyw1KSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBST0xFX05BTUU9J1N0YW5kYXJkIFVzZXInLCBBQ1RJVkVfWU49J1knLCBQUklPUklUWT01Ow0KKw0KKy0tDQorLS0gRHVtcGluZyBkYXRhIGZvciB0YWJsZSBgZm5fcm9sZV9jb21wb3NpdGVgDQorLS0NCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfY29tcG9zaXRlYCBWQUxVRVMgKDEsMTYpOw0KKw0KKy0tDQorLS0gRHVtcGluZyBkYXRhIGZvciB0YWJsZSBgZm5fcm9sZV9mdW5jdGlvbmANCistLQ0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdkb2NsaWInKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnZG9jbGliX2FkbWluJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ2xvZ2luJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfYWRtaW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9hamF4Jyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfc2VydmljZW1vZGVscycpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdtZW51X2N1c3RvbWVyJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfY3VzdG9tZXJfY3JlYXRlJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfZmVlZGJhY2snKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9oZWxwJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfaGl2ZWNvbmZpZycpOw0KKy0tIFJFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdtZW51X2hpdmVjb25maWdfY3JlYXRlJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfaGl2ZWNvbmZpZ19zZWFyY2gnKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9ob21lJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfaXRyYWNrZXInKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9pdHJhY2tlcl9hZG1pbicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdtZW51X2pvYicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdtZW51X2pvYl9jcmVhdGUnKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9sb2dvdXQnKTsNCistLSBSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9tYXByZWR1Y2UnKTsNCistLSBSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9tYXByZWR1Y2VfY3JlYXRlJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfbWFwcmVkdWNlX3NlYXJjaCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdtZW51X25ld3Nlcmluc3RhbmNlJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfbm90ZXMnKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9wcm9jZXNzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfcHJvZmlsZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdtZW51X3Byb2ZpbGVfY3JlYXRlJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfcHJvZmlsZV9pbXBvcnQnKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9yZXBvcnRzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfc2FtcGxlJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfdGFiJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDEsJ21lbnVfdGVzdCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdtZW51X3ZpZXdsb2cnKTsNCistLSBSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwncXVhbnR1bV9iZCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxNiwnbG9naW4nKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMTYsJ21lbnVfYWpheCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxNiwnbWVudV9zZXJ2aWNlbW9kZWxzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDE2LCdtZW51X2N1c3RvbWVyJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDE2LCdtZW51X2N1c3RvbWVyX2NyZWF0ZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxNiwnbWVudV9ob21lJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDE2LCdtZW51X2l0cmFja2VyJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDE2LCdtZW51X2xvZ291dCcpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxNiwnbWVudV9tYXAnKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMTYsJ21lbnVfbmV3c2VyaW5zdGFuY2UnKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMTYsJ21lbnVfcHJvZmlsZScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxNiwnbWVudV9yZXBvcnRzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDE2LCdtZW51X3RhYicpOw0KK1JFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxNiwnbWVudV92aWV3bG9nJyk7DQorLS0gUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDE2LCdxdWFudHVtX2JkJyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKCcxJywgJ21lbnVfc2VhcmNoZXhpc3RpbmcnKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoJzE2JywgJ21lbnVfc2VhcmNoZXhpc3RpbmcnKTsNCitSRVBMQUNFIElOVE8gYGZuX3JvbGVfZnVuY3Rpb25gIFZBTFVFUyAoMSwnbWVudV9jaGFuZ2VtYW5hZ2VtZW50Jyk7DQorUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDE2LCdtZW51X2NoYW5nZW1hbmFnZW1lbnQnKTsNCistLVJFUExBQ0UgSU5UTyBgZm5fcm9sZV9mdW5jdGlvbmAgVkFMVUVTICgxLCdtZW51X3Rlc3RlbnZpcm9ubWVudCcpOw0KKy0tUkVQTEFDRSBJTlRPIGBmbl9yb2xlX2Z1bmN0aW9uYCBWQUxVRVMgKDE2LCdtZW51X3Rlc3RlbnZpcm9ubWVudCcpOw0KKw0KK3VwZGF0ZSBmbl9tZW51IHNldCBhY3RpdmVfeW4gPSAnWScgd2hlcmUgbGFiZWwgPSAnQWRtaW4nOw0KK3VwZGF0ZSBmbl9tZW51IHNldCBhY3RpdmVfeW4gPSAnWScgd2hlcmUgbGFiZWwgPSAnUm9vdCc7DQordXBkYXRlIGZuX21lbnUgc2V0IGFjdGlvbiA9ICdhZG1pbicgd2hlcmUgbGFiZWwgPSAnQWRtaW4nOw0KKw0KKy0tDQorLS0gRHVtcGluZyBkYXRhIGZvciB0YWJsZSBgZm5fdGFiYA0KKy0tDQorSU5TRVJUIElOVE8gYGZuX3RhYmAgVkFMVUVTICgnVEFCMScsJ1RhYiAxJywnVGFiIDEgSW5mb3JtYXRpb24nLCd0YWIxLmh0bScsJ21lbnVfdGFiJywnWScsMTAsTlVMTCwnQVBQJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVEFCX05BTUU9J1RhYiAxJywgVEFCX0RFU0NSPSdUYWIgMSBJbmZvcm1hdGlvbicsIEFDVElPTj0ndGFiMS5odG0nLCBGVU5DVElPTl9DRD0nbWVudV90YWInLCBBQ1RJVkVfWU49J1knLCBTT1JUX09SREVSPTEwLCBQQVJFTlRfVEFCX0NEPU5VTEwsIFRBQl9TRVRfQ0Q9J0FQUCc7DQorSU5TRVJUIElOVE8gYGZuX3RhYmAgVkFMVUVTICgnVEFCMicsJ1RhYiAyJywnVGFiIDIgSW5mb3JtYXRpb24nLCd0YWIyX3N1YjEuaHRtJywnbWVudV90YWInLCdZJywyMCxOVUxMLCdBUFAnKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBUQUJfTkFNRT0nVGFiIDInLCBUQUJfREVTQ1I9J1RhYiAyIEluZm9ybWF0aW9uJywgQUNUSU9OPSd0YWIyX3N1YjEuaHRtJywgRlVOQ1RJT05fQ0Q9J21lbnVfdGFiJywgQUNUSVZFX1lOPSdZJywgU09SVF9PUkRFUj0yMCwgUEFSRU5UX1RBQl9DRD1OVUxMLCBUQUJfU0VUX0NEPSdBUFAnOw0KK0lOU0VSVCBJTlRPIGBmbl90YWJgIFZBTFVFUyAoJ1RBQjJfU1VCMScsJ1N1YiBUYWIgMScsJ1N1YiBUYWIgMSBJbmZvcm1hdGlvbicsJ3RhYjJfc3ViMS5odG0nLCdtZW51X3RhYicsJ1knLDEwLCdUQUIyJywnQVBQJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVEFCX05BTUU9J1N1YiBUYWIgMScsIFRBQl9ERVNDUj0nU3ViIFRhYiAxIEluZm9ybWF0aW9uJywgQUNUSU9OPSd0YWIyX3N1YjEuaHRtJywgRlVOQ1RJT05fQ0Q9J21lbnVfdGFiJywgQUNUSVZFX1lOPSdZJywgU09SVF9PUkRFUj0xMCwgUEFSRU5UX1RBQl9DRD0nVEFCMicsIFRBQl9TRVRfQ0Q9J0FQUCc7DQorSU5TRVJUIElOVE8gYGZuX3RhYmAgVkFMVUVTICgnVEFCMl9TVUIxX1MxJywnTGVmdCBUYWIgMScsJ1N1YiAtIFN1YiBUYWIgMSBJbmZvcm1hdGlvbicsJ3RhYjJfc3ViMS5odG0nLCdtZW51X3RhYicsJ1knLDEwLCdUQUIyX1NVQjEnLCdBUFAnKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBUQUJfTkFNRT0nTGVmdCBUYWIgMScsIFRBQl9ERVNDUj0nU3ViIC0gU3ViIFRhYiAxIEluZm9ybWF0aW9uJywgQUNUSU9OPSd0YWIyX3N1YjEuaHRtJywgRlVOQ1RJT05fQ0Q9J21lbnVfdGFiJywgQUNUSVZFX1lOPSdZJywgU09SVF9PUkRFUj0xMCwgUEFSRU5UX1RBQl9DRD0nVEFCMl9TVUIxJywgVEFCX1NFVF9DRD0nQVBQJzsNCitJTlNFUlQgSU5UTyBgZm5fdGFiYCBWQUxVRVMgKCdUQUIyX1NVQjInLCdTdWIgVGFiIDInLCdTdWIgVGFiIDIgSW5mb3JtYXRpb24nLCd0YWIyX3N1YjIuaHRtJywnbWVudV90YWInLCdZJywyMCwnVEFCMicsJ0FQUCcpIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIFRBQl9OQU1FPSdTdWIgVGFiIDInLCBUQUJfREVTQ1I9J1N1YiBUYWIgMiBJbmZvcm1hdGlvbicsIEFDVElPTj0ndGFiMl9zdWIyLmh0bScsIEZVTkNUSU9OX0NEPSdtZW51X3RhYicsIEFDVElWRV9ZTj0nWScsIFNPUlRfT1JERVI9MjAsIFBBUkVOVF9UQUJfQ0Q9J1RBQjInLCBUQUJfU0VUX0NEPSdBUFAnOw0KK0lOU0VSVCBJTlRPIGBmbl90YWJgIFZBTFVFUyAoJ1RBQjJfU1VCMycsJ1N1YiBUYWIgMycsJ1N1YiBUYWIgMyBJbmZvcm1hdGlvbicsJ3RhYjJfc3ViMy5odG0nLCdtZW51X3RhYicsJ1knLDMwLCdUQUIyJywnQVBQJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVEFCX05BTUU9J1N1YiBUYWIgMycsIFRBQl9ERVNDUj0nU3ViIFRhYiAzIEluZm9ybWF0aW9uJywgQUNUSU9OPSd0YWIyX3N1YjMuaHRtJywgRlVOQ1RJT05fQ0Q9J21lbnVfdGFiJywgQUNUSVZFX1lOPSdZJywgU09SVF9PUkRFUj0zMCwgUEFSRU5UX1RBQl9DRD0nVEFCMicsIFRBQl9TRVRfQ0Q9J0FQUCc7DQorSU5TRVJUIElOVE8gYGZuX3RhYmAgVkFMVUVTICgnVEFCMycsJ1RhYiAzJywnVGFiIDMgSW5mb3JtYXRpb24nLCd0YWIzLmh0bScsJ21lbnVfdGFiJywnWScsMzAsTlVMTCwnQVBQJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVEFCX05BTUU9J1RhYiAzJywgVEFCX0RFU0NSPSdUYWIgMyBJbmZvcm1hdGlvbicsIEFDVElPTj0ndGFiMy5odG0nLCBGVU5DVElPTl9DRD0nbWVudV90YWInLCBBQ1RJVkVfWU49J1knLCBTT1JUX09SREVSPTMwLCBQQVJFTlRfVEFCX0NEPU5VTEwsIFRBQl9TRVRfQ0Q9J0FQUCc7DQorSU5TRVJUIElOVE8gYGZuX3RhYmAgVkFMVUVTICgnVEFCNCcsJ1RhYiA0JywnVGFiIDQgSW5mb3JtYXRpb24nLCd0YWI0Lmh0bScsJ21lbnVfdGFiJywnWScsNDAsTlVMTCwnQVBQJykgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgVEFCX05BTUU9J1RhYiA0JywgVEFCX0RFU0NSPSdUYWIgNCBJbmZvcm1hdGlvbicsIEFDVElPTj0ndGFiNC5odG0nLCBGVU5DVElPTl9DRD0nbWVudV90YWInLCBBQ1RJVkVfWU49J1knLCBTT1JUX09SREVSPTQwLCBQQVJFTlRfVEFCX0NEPU5VTEwsIFRBQl9TRVRfQ0Q9J0FQUCc7DQorDQorLS0NCistLSBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBmbl90YWJfc2VsZWN0ZWRgDQorLS0NCitSRVBMQUNFIElOVE8gYGZuX3RhYl9zZWxlY3RlZGAgVkFMVUVTICgnVEFCMScsJ3RhYjEnKTsNCitSRVBMQUNFIElOVE8gYGZuX3RhYl9zZWxlY3RlZGAgVkFMVUVTICgnVEFCMicsJ3RhYjJfc3ViMScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fdGFiX3NlbGVjdGVkYCBWQUxVRVMgKCdUQUIyJywndGFiMl9zdWIyJyk7DQorUkVQTEFDRSBJTlRPIGBmbl90YWJfc2VsZWN0ZWRgIFZBTFVFUyAoJ1RBQjInLCd0YWIyX3N1YjMnKTsNCitSRVBMQUNFIElOVE8gYGZuX3RhYl9zZWxlY3RlZGAgVkFMVUVTICgnVEFCMl9TVUIxJywndGFiMl9zdWIxJyk7DQorUkVQTEFDRSBJTlRPIGBmbl90YWJfc2VsZWN0ZWRgIFZBTFVFUyAoJ1RBQjJfU1VCMV9TMScsJ3RhYjJfc3ViMScpOw0KK1JFUExBQ0UgSU5UTyBgZm5fdGFiX3NlbGVjdGVkYCBWQUxVRVMgKCdUQUIyX1NVQjInLCd0YWIyX3N1YjInKTsNCitSRVBMQUNFIElOVE8gYGZuX3RhYl9zZWxlY3RlZGAgVkFMVUVTICgnVEFCMl9TVUIzJywndGFiMl9zdWIzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl90YWJfc2VsZWN0ZWRgIFZBTFVFUyAoJ1RBQjMnLCd0YWIzJyk7DQorUkVQTEFDRSBJTlRPIGBmbl90YWJfc2VsZWN0ZWRgIFZBTFVFUyAoJ1RBQjQnLCd0YWI0Jyk7DQorDQorDQorLS0NCistLSBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBmbl91c2VyYA0KKy0tDQorSU5TRVJUIElHTk9SRSBgZm5fdXNlcmAgVkFMVUVTICgxLG51bGwsbnVsbCwnRGVtbycsbnVsbCwnVXNlcicsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwnZGVtbycsbnVsbCwnZGVtbycsJ0twOGJKNFNYc3pNMFdYJywnMjAxNi0xMS0xNCAxMzoyNDowNycsJ1knLG51bGwsJzIwMTYtMTAtMTcgMDA6MDA6MDAnLDEsJzIwMTYtMTEtMTQgMTM6MjQ6MDcnLCdOJyxudWxsLG51bGwsbnVsbCwnTkonLG51bGwsJ1VTJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMTAsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpOw0KK0lOU0VSVCBJR05PUkUgYGZuX3VzZXJgIFZBTFVFUyAoMixudWxsLG51bGwsJ3ZpZDEnLG51bGwsJ1VzZXInLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsJ3ZpZDEnLG51bGwsJ3ZpZDEnLCdLcDhiSjRTWHN6TTBXWCcsJzIwMTYtMTEtMTQgMTM6MjQ6MDcnLCdZJyxudWxsLCcyMDE2LTEwLTE3IDAwOjAwOjAwJywxLCcyMDE2LTExLTE0IDEzOjI0OjA3JywnTicsbnVsbCxudWxsLG51bGwsJ05KJyxudWxsLCdVUycsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDEwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTsNCitJTlNFUlQgSUdOT1JFIGBmbl91c2VyYCBWQUxVRVMgKDMsbnVsbCxudWxsLCd2aWQyJyxudWxsLCdVc2VyJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCd2aWQyJyxudWxsLCd2aWQyJywnS3A4Yko0U1hzek0wV1gnLCcyMDE2LTExLTE0IDEzOjI0OjA3JywnWScsbnVsbCwnMjAxNi0xMC0xNyAwMDowMDowMCcsMSwnMjAxNi0xMS0xNCAxMzoyNDowNycsJ04nLG51bGwsbnVsbCxudWxsLCdOSicsbnVsbCwnVVMnLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwxMCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7DQorSU5TRVJUIElHTk9SRSBgZm5fdXNlcmAgVkFMVUVTICg0LG51bGwsbnVsbCwndmlkMycsbnVsbCwnVXNlcicsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwndmlkMycsbnVsbCwndmlkMycsJ0twOGJKNFNYc3pNMFdYJywnMjAxNi0xMS0xNCAxMzoyNDowNycsJ1knLG51bGwsJzIwMTYtMTAtMTcgMDA6MDA6MDAnLDEsJzIwMTYtMTEtMTQgMTM6MjQ6MDcnLCdOJyxudWxsLG51bGwsbnVsbCwnTkonLG51bGwsJ1VTJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMTAsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpOw0KK0lOU0VSVCBJR05PUkUgYGZuX3VzZXJgIFZBTFVFUyAoNSxudWxsLG51bGwsJ3ZpZDQnLG51bGwsJ1VzZXInLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsJ3ZpZDQnLG51bGwsJ3ZpZDQnLCdLcDhiSjRTWHN6TTBXWCcsJzIwMTYtMTEtMTQgMTM6MjQ6MDcnLCdZJyxudWxsLCcyMDE2LTEwLTE3IDAwOjAwOjAwJywxLCcyMDE2LTExLTE0IDEzOjI0OjA3JywnTicsbnVsbCxudWxsLG51bGwsJ05KJyxudWxsLCdVUycsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDEwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTsNCisNCitJTlNFUlQgSUdOT1JFIGBmbl91c2VyX3JvbGVgIFZBTFVFUyAoMSwxLE5VTEwsMSk7DQorSU5TRVJUIElHTk9SRSBgZm5fdXNlcl9yb2xlYCBWQUxVRVMgKDIsMSxOVUxMLDEpOw0KK0lOU0VSVCBJR05PUkUgYGZuX3VzZXJfcm9sZWAgVkFMVUVTICgzLDEsTlVMTCwxKTsNCitJTlNFUlQgSUdOT1JFIGBmbl91c2VyX3JvbGVgIFZBTFVFUyAoNCwxLE5VTEwsMSk7DQorSU5TRVJUIElHTk9SRSBgZm5fdXNlcl9yb2xlYCBWQUxVRVMgKDUsMSxOVUxMLDEpOw0KZGlmZiAtLWdpdCBhL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvb3NhbS1jb3JlLXByZS1pbml0LnNxbCBiL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvb3NhbS1jb3JlLXByZS1pbml0LnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Mzc0MGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9vc2FtLWNvcmUtcHJlLWluaXQuc3FsCkBAIC0wLDAgKzEsMzIgQEAKKy8qLQ0KKyAqID09PT09PT09PT09PUxJQ0VOU0VfU1RBUlQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICogVklEDQorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQVQmVCBJbnRlbGxlY3R1YWwgUHJvcGVydHkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICogDQorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgKiANCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorICogPT09PT09PT09PT09TElDRU5TRV9FTkQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgKi8NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gc2NoZW1hX2luZm9gICgNCisgIGBTQ0hFTUFfSURgIFZBUkNIQVIoMjUpIE5PVCBOVUxMLA0KKyAgYFNDSEVNQV9ERVNDYCBWQVJDSEFSKDc1KSBOT1QgTlVMTCwNCisgIGBEQVRBU09VUkNFX1RZUEVgIFZBUkNIQVIoMTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBDT05ORUNUSU9OX1VSTGAgVkFSQ0hBUigyMDApIE5PVCBOVUxMLA0KKyAgYFVTRVJfTkFNRWAgVkFSQ0hBUig0NSkgTk9UIE5VTEwsDQorICBgUEFTU1dPUkRgIFZBUkNIQVIoNDUpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYERSSVZFUl9DTEFTU2AgVkFSQ0hBUigxMDApIE5PVCBOVUxMLA0KKyAgYE1JTl9QT09MX1NJWkVgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgTUFYX1BPT0xfU0laRWAgSU5UKDExKSBOT1QgTlVMTCwNCisgIGBJRExFX0NPTk5FQ1RJT05fVEVTVF9QRVJJT0RgIElOVCgxMSkgTk9UIE5VTEwpDQorRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCmRpZmYgLS1naXQgYS9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL29zYW0tY29yZS1zY2hlbWEuc3FsIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9vc2FtLWNvcmUtc2NoZW1hLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTJlMTdlCi0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9vc2FtLWNvcmUtc2NoZW1hLnNxbApAQCAtMCwwICsxLDEzMjQgQEAKKy8qLQ0KKyAqID09PT09PT09PT09PUxJQ0VOU0VfU1RBUlQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICogVklEDQorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQVQmVCBJbnRlbGxlY3R1YWwgUHJvcGVydHkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICogDQorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgKiANCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorICogPT09PT09PT09PT09TElDRU5TRV9FTkQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgKi8NCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gTXlTUUwgV29ya2JlbmNoIE1pZ3JhdGlvbg0KKy0tIE1pZ3JhdGVkIFNjaGVtYXRhOiBvc2FtX2NvcmUNCistLSBTb3VyY2UgU2NoZW1hdGE6IGVjb21wX3NkDQorLS0gQ3JlYXRlZDogU3VuIE5vdiAxMyAwODo1ODo1MyAyMDE2DQorLS0gV29ya2JlbmNoIFZlcnNpb246IDYuMy42DQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKw0KK1NFVCBGT1JFSUdOX0tFWV9DSEVDS1MgPSAwOw0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBTY2hlbWEgb3NhbV9jb3JlDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBTQ0hFTUEgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYCA7DQorDQorVVNFIG9zYW1fY29yZTsNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmNyX2Zhdm9yaXRlX3JlcG9ydHMNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX2Zhdm9yaXRlX3JlcG9ydHNgICgNCisgIGBVU0VSX0lEYCBJTlQoMTEpIE5PVCBOVUxMLA0KKyAgYFJFUF9JRGAgSU5UKDExKSBOT1QgTlVMTCwNCitQUklNQVJZIEtFWSAoYFVTRVJfSURgLCBgUkVQX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfZmlsZWhpc3RfbG9nDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBjcl9maWxlaGlzdF9sb2dgICgNCisgIGBTQ0hFRFVMRV9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBVUkxgIFZBUkNIQVIoNDAwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgTk9URVNgIFZBUkNIQVIoMzUwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgUlVOX1RJTUVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QIE9OIFVQREFURSBDVVJSRU5UX1RJTUVTVEFNUCkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5jcl9mb2xkZXINCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX2ZvbGRlcmAgKA0KKyAgYEZPTERFUl9JRGAgSU5UKDExKSBOT1QgTlVMTCwNCisgIGBGT0xERVJfTkFNRWAgVkFSQ0hBUig1MCkgTk9UIE5VTEwsDQorICBgREVTQ1JgIFZBUkNIQVIoNTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBDUkVBVEVfSURgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgQ1JFQVRFX0RBVEVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QIE9OIFVQREFURSBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBQQVJFTlRfRk9MREVSX0lEYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFBVQkxJQ19ZTmAgVkFSQ0hBUigxKSBOT1QgTlVMTCBERUZBVUxUICdOJywNCitQUklNQVJZIEtFWSAoYEZPTERFUl9JRGApLA0KK0lOREVYIGBGS19QQVJFTlRfS0VZX0NSX0ZPTERFUmAgKGBQQVJFTlRfRk9MREVSX0lEYCBBU0MpLA0KK0NPTlNUUkFJTlQgYEZLX1BBUkVOVF9LRVlfQ1JfRk9MREVSYA0KK0ZPUkVJR04gS0VZIChgUEFSRU5UX0ZPTERFUl9JRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gY3JfZm9sZGVyYCAoYEZPTERFUl9JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmNyX2ZvbGRlcl9hY2Nlc3MNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX2ZvbGRlcl9hY2Nlc3NgICgNCisgIGBGT0xERVJfQUNDRVNTX0lEYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYEZPTERFUl9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBPUkRFUl9OT2AgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBST0xFX0lEYCBERUNJTUFMKDExLDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFVTRVJfSURgIERFQ0lNQUwoMTEsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgUkVBRF9PTkxZX1lOYCBWQVJDSEFSKDEpIE5PVCBOVUxMIERFRkFVTFQgJ04nLA0KK1BSSU1BUlkgS0VZIChgRk9MREVSX0FDQ0VTU19JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmNyX2hpc3RfdXNlcl9tYXANCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX2hpc3RfdXNlcl9tYXBgICgNCisgIGBISVNUX0lEYCBJTlQoMTEpIE5PVCBOVUxMLA0KKyAgYFVTRVJfSURgIElOVCgxMSkgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBISVNUX0lEYCwgYFVTRVJfSURgKSwNCitJTkRFWCBgU1lTX0MwMDE0NjE3YCAoYFVTRVJfSURgIEFTQyksDQorQ09OU1RSQUlOVCBgU1lTX0MwMDE0NjE2YA0KK0ZPUkVJR04gS0VZIChgSElTVF9JRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gY3JfcmVwb3J0X2ZpbGVfaGlzdG9yeWAgKGBISVNUX0lEYCksDQorQ09OU1RSQUlOVCBgU1lTX0MwMDE0NjE3YA0KK0ZPUkVJR04gS0VZIChgVVNFUl9JRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fdXNlcmAgKGBVU0VSX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfbHVfZmlsZV90eXBlDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBjcl9sdV9maWxlX3R5cGVgICgNCisgIGBMT09LVVBfSURgIERFQ0lNQUwoMiwwKSBOT1QgTlVMTCwNCisgIGBMT09LVVBfREVTQ1JgIFZBUkNIQVIoMjU1KSBOT1QgTlVMTCwNCisgIGBBQ1RJVkVfWU5gIENIQVIoMSkgTlVMTCBERUZBVUxUICdZJywNCisgIGBFUlJPUl9DT0RFYCBERUNJTUFMKDExLDApIE5VTEwgREVGQVVMVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgTE9PS1VQX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfcmFwdG9yX2FjdGlvbl9pbWcNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX3JhcHRvcl9hY3Rpb25faW1nYCAoDQorICBgSU1BR0VfSURgIFZBUkNIQVIoMTAwKSBOT1QgTlVMTCwNCisgIGBJTUFHRV9MT0NgIFZBUkNIQVIoNDAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYElNQUdFX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfcmFwdG9yX3BkZl9pbWcNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX3JhcHRvcl9wZGZfaW1nYCAoDQorICBgSU1BR0VfSURgIFZBUkNIQVIoMTAwKSBOT1QgTlVMTCwNCisgIGBJTUFHRV9MT0NgIFZBUkNIQVIoNDAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYElNQUdFX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfcmVtb3RlX3NjaGVtYV9pbmZvDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBjcl9yZW1vdGVfc2NoZW1hX2luZm9gICgNCisgIGBTQ0hFTUFfUFJFRklYYCBWQVJDSEFSKDUpIE5PVCBOVUxMLA0KKyAgYFNDSEVNQV9ERVNDYCBWQVJDSEFSKDc1KSBOT1QgTlVMTCwNCisgIGBEQVRBU09VUkNFX1RZUEVgIFZBUkNIQVIoMTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYFNDSEVNQV9QUkVGSVhgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5jcl9yZXBvcnQNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX3JlcG9ydGAgKA0KKyAgYFJFUF9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBUSVRMRWAgVkFSQ0hBUigxMDApIE5PVCBOVUxMLA0KKyAgYERFU0NSYCBWQVJDSEFSKDI1NSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgUFVCTElDX1lOYCBWQVJDSEFSKDEpIE5PVCBOVUxMIERFRkFVTFQgJ04nLA0KKyAgYFJFUE9SVF9YTUxgIFRFWFQgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQ1JFQVRFX0lEYCBERUNJTUFMKDExLDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYENSRUFURV9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBNQUlOVF9JRGAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBNQUlOVF9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBNRU5VX0lEYCBWQVJDSEFSKDUwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgTUVOVV9BUFBST1ZFRF9ZTmAgVkFSQ0hBUigxKSBOT1QgTlVMTCBERUZBVUxUICdOJywNCisgIGBPV05FUl9JRGAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBGT0xERVJfSURgIElOVCgxMSkgTlVMTCBERUZBVUxUICcwJywNCisgIGBEQVNIQk9BUkRfVFlQRV9ZTmAgVkFSQ0hBUigxKSBOVUxMIERFRkFVTFQgJ04nLA0KKyAgYERBU0hCT0FSRF9ZTmAgVkFSQ0hBUigxKSBOVUxMIERFRkFVTFQgJ04nLA0KK1BSSU1BUlkgS0VZIChgUkVQX0lEYCksDQorSU5ERVggYENSX1JFUE9SVF9DUkVBVEVfSURQVUJMSUNfWU5USVRMRWAgKGBDUkVBVEVfSURgIEFTQywgYFBVQkxJQ19ZTmAgQVNDLCBgVElUTEVgIEFTQykpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfcmVwb3J0X2FjY2Vzcw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gY3JfcmVwb3J0X2FjY2Vzc2AgKA0KKyAgYFJFUF9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBPUkRFUl9OT2AgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBST0xFX0lEYCBERUNJTUFMKDExLDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFVTRVJfSURgIERFQ0lNQUwoMTEsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgUkVBRF9PTkxZX1lOYCBWQVJDSEFSKDEpIE5PVCBOVUxMIERFRkFVTFQgJ04nLA0KK1BSSU1BUlkgS0VZIChgUkVQX0lEYCwgYE9SREVSX05PYCksDQorQ09OU1RSQUlOVCBgRktfQ1JfUkVQT1JfUkVGXzg1NTBfQ1JfUkVQT1JgDQorRk9SRUlHTiBLRVkgKGBSRVBfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGNyX3JlcG9ydGAgKGBSRVBfSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5jcl9yZXBvcnRfZHdubGRfbG9nDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBjcl9yZXBvcnRfZHdubGRfbG9nYCAoDQorICBgVVNFUl9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBSRVBfSURgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgRklMRV9OQU1FYCBWQVJDSEFSKDEwMCkgTk9UIE5VTEwsDQorICBgRFdOTERfU1RBUlRfVElNRWAgVElNRVNUQU1QIE5PVCBOVUxMIERFRkFVTFQgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgUkVDT1JEX1JFQURZX1RJTUVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KKyAgYEZJTFRFUl9QQVJBTVNgIFZBUkNIQVIoMjAwMCkgTlVMTCBERUZBVUxUIE5VTEwpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfcmVwb3J0X2VtYWlsX3NlbnRfbG9nDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBjcl9yZXBvcnRfZW1haWxfc2VudF9sb2dgICgNCisgIGBMT0dfSURgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgU0NIRURVTEVfSURgIERFQ0lNQUwoMTEsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgR0VOX0tFWWAgVkFSQ0hBUigyNSkgTk9UIE5VTEwsDQorICBgUkVQX0lEYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYFVTRVJfSURgIERFQ0lNQUwoMTEsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgU0VOVF9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBBQ0NFU1NfRkxBR2AgVkFSQ0hBUigxKSBOT1QgTlVMTCBERUZBVUxUICdZJywNCisgIGBUT1VDSF9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCitQUklNQVJZIEtFWSAoYExPR19JRGApLA0KK0lOREVYIGBGS19DUl9SRVBPUlRfUkVQX0lEYCAoYFJFUF9JRGAgQVNDKSwNCitDT05TVFJBSU5UIGBGS19DUl9SRVBPUlRfUkVQX0lEYA0KK0ZPUkVJR04gS0VZIChgUkVQX0lEYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBjcl9yZXBvcnRgIChgUkVQX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfcmVwb3J0X2ZpbGVfaGlzdG9yeQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gY3JfcmVwb3J0X2ZpbGVfaGlzdG9yeWAgKA0KKyAgYEhJU1RfSURgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgU0NIRURfVVNFUl9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBTQ0hFRFVMRV9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBVU0VSX0lEYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYFJFUF9JRGAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBSVU5fREFURWAgVElNRVNUQU1QIE5PVCBOVUxMIERFRkFVTFQgQ1VSUkVOVF9USU1FU1RBTVAgT04gVVBEQVRFIENVUlJFTlRfVElNRVNUQU1QLA0KKyAgYFJFQ1VSUkVOQ0VgIFZBUkNIQVIoNTApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEZJTEVfVFlQRV9JRGAgREVDSU1BTCgyLDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEZJTEVfTkFNRWAgVkFSQ0hBUig4MCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgRklMRV9CTE9CYCBCTE9CIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEZJTEVfU0laRWAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBSQVBUT1JfVVJMYCBWQVJDSEFSKDQwMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEVSUk9SX1lOYCBDSEFSKDEpIE5VTEwgREVGQVVMVCAnTicsDQorICBgRVJST1JfQ09ERWAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBERUxFVEVEX1lOYCBDSEFSKDEpIE5VTEwgREVGQVVMVCAnTicsDQorICBgREVMRVRFRF9CWWAgREVDSU1BTCgzOCwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYEhJU1RfSURgKSwNCitJTkRFWCBgU1lTX0MwMDE0NjE0YCAoYEZJTEVfVFlQRV9JRGAgQVNDKSwNCitJTkRFWCBgU1lTX0MwMDE0NjE1YCAoYFJFUF9JRGAgQVNDKSwNCitDT05TVFJBSU5UIGBTWVNfQzAwMTQ2MTRgDQorRk9SRUlHTiBLRVkgKGBGSUxFX1RZUEVfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGNyX2x1X2ZpbGVfdHlwZWAgKGBMT09LVVBfSURgKSwNCitDT05TVFJBSU5UIGBTWVNfQzAwMTQ2MTVgDQorRk9SRUlHTiBLRVkgKGBSRVBfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGNyX3JlcG9ydGAgKGBSRVBfSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5jcl9yZXBvcnRfbG9nDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBjcl9yZXBvcnRfbG9nYCAoDQorICBgUkVQX0lEYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYExPR19USU1FYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCBPTiBVUERBVEUgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgVVNFUl9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBBQ1RJT05gIFZBUkNIQVIoMjAwMCkgTk9UIE5VTEwsDQorICBgQUNUSU9OX1ZBTFVFYCBWQVJDSEFSKDUwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBGT1JNX0ZJRUxEU2AgVkFSQ0hBUig0MDAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitJTkRFWCBgRktfQ1JfUkVQT1JfUkVGXzE3NjQ1X0NSX1JFUE9SYCAoYFJFUF9JRGAgQVNDKSwNCitDT05TVFJBSU5UIGBGS19DUl9SRVBPUl9SRUZfMTc2NDVfQ1JfUkVQT1JgDQorRk9SRUlHTiBLRVkgKGBSRVBfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGNyX3JlcG9ydGAgKGBSRVBfSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5jcl9yZXBvcnRfc2NoZWR1bGUNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX3JlcG9ydF9zY2hlZHVsZWAgKA0KKyAgYFNDSEVEVUxFX0lEYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYFNDSEVEX1VTRVJfSURgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorICBgUkVQX0lEYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYEVOQUJMRURfWU5gIFZBUkNIQVIoMSkgTk9UIE5VTEwsDQorICBgU1RBUlRfREFURWAgVElNRVNUQU1QIE5PVCBOVUxMIERFRkFVTFQgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgRU5EX0RBVEVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KKyAgYFJVTl9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBSRUNVUlJFTkNFYCBWQVJDSEFSKDUwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBDT05ESVRJT05BTF9ZTmAgVkFSQ0hBUigxKSBOT1QgTlVMTCwNCisgIGBDT05ESVRJT05fU1FMYCBWQVJDSEFSKDQwMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYE5PVElGWV9UWVBFYCBJTlQoMTEpIE5VTEwgREVGQVVMVCAnMCcsDQorICBgTUFYX1JPV2AgSU5UKDExKSBOVUxMIERFRkFVTFQgJzEwMDAnLA0KKyAgYElOSVRJQUxfRk9STUZJRUxEU2AgVkFSQ0hBUigzNTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBQUk9DRVNTRURfRk9STUZJRUxEU2AgVkFSQ0hBUigzNTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBGT1JNRklFTERTYCBWQVJDSEFSKDM1MDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYENPTkRJVElPTl9MQVJHRV9TUUxgIFRFWFQgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgRU5DUllQVF9ZTmAgQ0hBUigxKSBOVUxMIERFRkFVTFQgJ04nLA0KKyAgYEFUVEFDSE1FTlRfWU5gIENIQVIoMSkgTlVMTCBERUZBVUxUICdZJywNCitQUklNQVJZIEtFWSAoYFNDSEVEVUxFX0lEYCksDQorSU5ERVggYEZLX0NSX1JFUE9SX1JFRl8xNDcwN19DUl9SRVBPUmAgKGBSRVBfSURgIEFTQyksDQorQ09OU1RSQUlOVCBgRktfQ1JfUkVQT1JfUkVGXzE0NzA3X0NSX1JFUE9SYA0KK0ZPUkVJR04gS0VZIChgUkVQX0lEYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBjcl9yZXBvcnRgIChgUkVQX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfcmVwb3J0X3NjaGVkdWxlX3VzZXJzDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBjcl9yZXBvcnRfc2NoZWR1bGVfdXNlcnNgICgNCisgIGBTQ0hFRFVMRV9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBSRVBfSURgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorICBgVVNFUl9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBST0xFX0lEYCBERUNJTUFMKDExLDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYE9SREVSX05PYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgU0NIRURVTEVfSURgLCBgUkVQX0lEYCwgYFVTRVJfSURgLCBgT1JERVJfTk9gKSwNCitDT05TVFJBSU5UIGBGS19DUl9SRVBPUl9SRUZfMTQ3MTZfQ1JfUkVQT1JgDQorRk9SRUlHTiBLRVkgKGBTQ0hFRFVMRV9JRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gY3JfcmVwb3J0X3NjaGVkdWxlYCAoYFNDSEVEVUxFX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfcmVwb3J0X3RlbXBsYXRlX21hcA0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gY3JfcmVwb3J0X3RlbXBsYXRlX21hcGAgKA0KKyAgYFJFUE9SVF9JRGAgSU5UKDExKSBOT1QgTlVMTCwNCisgIGBURU1QTEFURV9GSUxFYCBWQVJDSEFSKDIwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBSRVBPUlRfSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5jcl9zY2hlZHVsZV9hY3Rpdml0eV9sb2cNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX3NjaGVkdWxlX2FjdGl2aXR5X2xvZ2AgKA0KKyAgYFNDSEVEVUxFX0lEYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYFVSTGAgVkFSQ0hBUig0MDAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBOT1RFU2AgVkFSQ0hBUigyMDAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBSVU5fVElNRWAgVElNRVNUQU1QIE5PVCBOVUxMIERFRkFVTFQgQ1VSUkVOVF9USU1FU1RBTVAgT04gVVBEQVRFIENVUlJFTlRfVElNRVNUQU1QKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmNyX3RhYmxlX2pvaW4NCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGNyX3RhYmxlX2pvaW5gICgNCisgIGBTUkNfVEFCTEVfTkFNRWAgVkFSQ0hBUigzMCkgTk9UIE5VTEwsDQorICBgREVTVF9UQUJMRV9OQU1FYCBWQVJDSEFSKDMwKSBOT1QgTlVMTCwNCisgIGBKT0lOX0VYUFJgIFZBUkNIQVIoNTAwKSBOT1QgTlVMTCwNCitJTkRFWCBgQ1JfVEFCTEVfSk9JTl9ERVNUX1RBQkxFX05BTUVgIChgREVTVF9UQUJMRV9OQU1FYCBBU0MpLA0KK0lOREVYIGBDUl9UQUJMRV9KT0lOX1NSQ19UQUJMRV9OQU1FYCAoYFNSQ19UQUJMRV9OQU1FYCBBU0MpLA0KK0NPTlNUUkFJTlQgYEZLX0NSX1RBQkxFX1JFRl8zMTFfQ1JfVEFCYA0KK0ZPUkVJR04gS0VZIChgU1JDX1RBQkxFX05BTUVgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGNyX3RhYmxlX3NvdXJjZWAgKGBUQUJMRV9OQU1FYCksDQorQ09OU1RSQUlOVCBgRktfQ1JfVEFCTEVfUkVGXzMxNV9DUl9UQUJgDQorRk9SRUlHTiBLRVkgKGBERVNUX1RBQkxFX05BTUVgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGNyX3RhYmxlX3NvdXJjZWAgKGBUQUJMRV9OQU1FYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuY3JfdGFibGVfcm9sZQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gY3JfdGFibGVfcm9sZWAgKA0KKyAgYFRBQkxFX05BTUVgIFZBUkNIQVIoMzApIE5PVCBOVUxMLA0KKyAgYFJPTEVfSURgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBUQUJMRV9OQU1FYCwgYFJPTEVfSURgKSwNCitDT05TVFJBSU5UIGBGS19DUl9UQUJMRV9SRUZfMzIzODRfQ1JfVEFCTEVgDQorRk9SRUlHTiBLRVkgKGBUQUJMRV9OQU1FYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBjcl90YWJsZV9zb3VyY2VgIChgVEFCTEVfTkFNRWApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmNyX3RhYmxlX3NvdXJjZQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gY3JfdGFibGVfc291cmNlYCAoDQorICBgVEFCTEVfTkFNRWAgVkFSQ0hBUigzMCkgTk9UIE5VTEwsDQorICBgRElTUExBWV9OQU1FYCBWQVJDSEFSKDMwKSBOT1QgTlVMTCwNCisgIGBQS19GSUVMRFNgIFZBUkNIQVIoMjAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBXRUJfVklFV19BQ1RJT05gIFZBUkNIQVIoNTApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYExBUkdFX0RBVEFfU09VUkNFX1lOYCBWQVJDSEFSKDEpIE5PVCBOVUxMIERFRkFVTFQgJ04nLA0KKyAgYEZJTFRFUl9TUUxgIFZBUkNIQVIoNDAwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgU09VUkNFX0RCYCBWQVJDSEFSKDUwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYFRBQkxFX05BTUVgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIHZpZF9wb3J0YWwuZm5fYXBwDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9hcHBgICgNCisgIGBBUFBfSURgIElOVCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQsDQorICBgQVBQX05BTUVgIFZBUkNIQVIoMTAwKSBOT1QgTlVMTCBERUZBVUxUICc/JywNCisgIGBBUFBfSU1BR0VfVVJMYCBWQVJDSEFSKDI1NikgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQVBQX0RFU0NSSVBUSU9OYCBWQVJDSEFSKDUxMikgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQVBQX05PVEVTYCBWQVJDSEFSKDQwOTYpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFQUF9VUkxgIFZBUkNIQVIoMjU2KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBBUFBfQUxURVJOQVRFX1VSTGAgVkFSQ0hBUigyNTYpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFQUF9SRVNUX0VORFBPSU5UYCBWQVJDSEFSKDIwMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYE1MX0FQUF9OQU1FYCBWQVJDSEFSKDUwKSBOT1QgTlVMTCBERUZBVUxUICc/JywNCisgIGBNTF9BUFBfQURNSU5fSURgIFZBUkNIQVIoNykgTk9UIE5VTEwgREVGQVVMVCAnPycsDQorICBgTU9UU19JRGAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBBUFBfUEFTU1dPUkRgIFZBUkNIQVIoMjU2KSBOT1QgTlVMTCBERUZBVUxUICc/JywNCisgIGBPUEVOYCBDSEFSKDEpIE5VTEwgREVGQVVMVCAnTicsDQorICBgRU5BQkxFRGAgQ0hBUigxKSBOVUxMIERFRkFVTFQgJ1knLA0KKyAgYFRIVU1CTkFJTGAgTUVESVVNQkxPQiBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBBUFBfVVNFUk5BTUVgIFZBUkNIQVIoNTApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFVFQl9LRVlgIFZBUkNIQVIoMjU2KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBVRUJfU0VDUkVUYCBWQVJDSEFSKDI1NikgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgVUVCX1RPUElDX05BTUVgIFZBUkNIQVIoMjU2KSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYEFQUF9JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorICBBVVRPX0lOQ1JFTUVOVCA9IDINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fYXBwX21tZV9jcHUNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX2FwcF9tbWVfY3B1YCAoDQorICBgTU1FYCBWQVJDSEFSKDIwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgWUVBUk1PTlRIYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFNDVFBfQ1BVYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFQX0NQVWAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBEUF9DUFVgIElOVCgxMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgUk9VVEVSX0NQVWAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBQRUJfQ1BVYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFNBVWAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9hdWRpdF9hY3Rpb24NCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX2F1ZGl0X2FjdGlvbmAgKA0KKyAgYEFVRElUX0FDVElPTl9JRGAgSU5UKDExKSBOT1QgTlVMTCwNCisgIGBDTEFTU19OQU1FYCBWQVJDSEFSKDUwMCkgTk9UIE5VTEwsDQorICBgTUVUSE9EX05BTUVgIFZBUkNIQVIoNTApIE5PVCBOVUxMLA0KKyAgYEFVRElUX0FDVElPTl9DRGAgVkFSQ0hBUigyMCkgTk9UIE5VTEwsDQorICBgQVVESVRfQUNUSU9OX0RFU0NgIFZBUkNIQVIoMjAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBBQ1RJVkVfWU5gIFZBUkNIQVIoMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBBVURJVF9BQ1RJT05fSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9hdWRpdF9hY3Rpb25fbG9nDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9hdWRpdF9hY3Rpb25fbG9nYCAoDQorICBgQVVESVRfTE9HX0lEYCBJTlQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5ULA0KKyAgYEFVRElUX0FDVElPTl9DRGAgVkFSQ0hBUigyMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFDVElPTl9USU1FYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCBPTiBVUERBVEUgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgVVNFUl9JRGAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBDTEFTU19OQU1FYCBWQVJDSEFSKDEwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgTUVUSE9EX05BTUVgIFZBUkNIQVIoNTApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFNVQ0NFU1NfTVNHYCBWQVJDSEFSKDIwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBFUlJPUl9NU0dgIFZBUkNIQVIoNTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYEFVRElUX0xPR19JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2F1ZGl0X2xvZw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fYXVkaXRfbG9nYCAoDQorICBgTE9HX0lEYCBJTlQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5ULA0KKyAgYFVTRVJfSURgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgQUNUSVZJVFlfQ0RgIFZBUkNIQVIoNTApIE5PVCBOVUxMLA0KKyAgYEFVRElUX0RBVEVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KKyAgYENPTU1FTlRTYCBWQVJDSEFSKDEwMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFGRkVDVEVEX1JFQ09SRF9JRF9CS2AgVkFSQ0hBUig1MDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFGRkVDVEVEX1JFQ09SRF9JRGAgVkFSQ0hBUig0MDAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYExPR19JRGApLA0KK0lOREVYIGBGTl9BVURJVF9MT0dfQUNUSVZJVFlfQ0RgIChgQUNUSVZJVFlfQ0RgIEFTQyksDQorSU5ERVggYEZOX0FVRElUX0xPR19VU0VSX0lEYCAoYFVTRVJfSURgIEFTQyksDQorQ09OU1RSQUlOVCBgRktfRk5fQVVESVRfUkVGXzIwNV9GTl9MVV9BQ2ANCitGT1JFSUdOIEtFWSAoYEFDVElWSVRZX0NEYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBmbl9sdV9hY3Rpdml0eWAgKGBBQ1RJVklUWV9DRGApLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX0FVRElUX1JFRl8yMDlfRk5fVVNFUmANCitGT1JFSUdOIEtFWSAoYFVTRVJfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX3VzZXJgIChgVVNFUl9JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2Jyb2FkY2FzdF9tZXNzYWdlDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9icm9hZGNhc3RfbWVzc2FnZWAgKA0KKyAgYE1FU1NBR0VfSURgIElOVCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQsDQorICBgTUVTU0FHRV9URVhUYCBWQVJDSEFSKDEwMDApIE5PVCBOVUxMLA0KKyAgYE1FU1NBR0VfTE9DQVRJT05fSURgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorICBgQlJPQURDQVNUX1NUQVJUX0RBVEVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KKyAgYEJST0FEQ0FTVF9FTkRfREFURWAgVElNRVNUQU1QIE5PVCBOVUxMIERFRkFVTFQgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgQUNUSVZFX1lOYCBDSEFSKDEpIE5PVCBOVUxMIERFRkFVTFQgJ1knLA0KKyAgYFNPUlRfT1JERVJgIERFQ0lNQUwoNCwwKSBOT1QgTlVMTCwNCisgIGBCUk9BRENBU1RfU0lURV9DRGAgVkFSQ0hBUig1MCkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBNRVNTQUdFX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fY2hhdF9sb2dzDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9jaGF0X2xvZ3NgICgNCisgIGBDSEFUX0xPR19JRGAgSU5UKDExKSBOT1QgTlVMTCwNCisgIGBDSEFUX1JPT01fSURgIElOVCgxMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgVVNFUl9JRGAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBNRVNTQUdFYCBWQVJDSEFSKDEwMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYE1FU1NBR0VfREFURV9USU1FYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCBPTiBVUERBVEUgQ1VSUkVOVF9USU1FU1RBTVAsDQorUFJJTUFSWSBLRVkgKGBDSEFUX0xPR19JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2NoYXRfcm9vbQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fY2hhdF9yb29tYCAoDQorICBgQ0hBVF9ST09NX0lEYCBJTlQoMTEpIE5PVCBOVUxMLA0KKyAgYE5BTUVgIFZBUkNIQVIoNTApIE5PVCBOVUxMLA0KKyAgYERFU0NSSVBUSU9OYCBWQVJDSEFSKDUwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgT1dORVJfSURgIElOVCgxMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQ1JFQVRFRF9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBVUERBVEVEX0RBVEVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KK1BSSU1BUlkgS0VZIChgQ0hBVF9ST09NX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fY2hhdF91c2Vycw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fY2hhdF91c2Vyc2AgKA0KKyAgYENIQVRfUk9PTV9JRGAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBVU0VSX0lEYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYExBU1RfQUNUSVZJVFlfREFURV9USU1FYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCBPTiBVUERBVEUgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgQ0hBVF9TVEFUVVNgIFZBUkNIQVIoMjApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYElEYCBJTlQoMTEpIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9kYXRhc291cmNlDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9kYXRhc291cmNlYCAoDQorICBgSURgIElOVCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQsDQorICBgTkFNRWAgVkFSQ0hBUig1MCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgRFJJVkVSX05BTUVgIFZBUkNIQVIoMjU2KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBTRVJWRVJgIFZBUkNIQVIoMjU2KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBQT1JUYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFVTRVJfTkFNRWAgVkFSQ0hBUigyNTYpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFBBU1NXT1JEYCBWQVJDSEFSKDI1NikgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgVVJMYCBWQVJDSEFSKDI1NikgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgTUlOX1BPT0xfU0laRWAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBNQVhfUE9PTF9TSVpFYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFEQVBURVJfSURgIElOVCgxMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgRFNfVFlQRWAgVkFSQ0hBUigyMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBJRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorICBBVVRPX0lOQ1JFTUVOVCA9IDQNCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fZnVuY3Rpb24NCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX2Z1bmN0aW9uYCAoDQorICBgRlVOQ1RJT05fQ0RgIFZBUkNIQVIoMzApIE5PVCBOVUxMLA0KKyAgYEZVTkNUSU9OX05BTUVgIFZBUkNIQVIoNTApIE5PVCBOVUxMLA0KKyAgYHR5cGVgIFZBUkNIQVIoMjApIE5PVCBOVUxMLA0KKyAgYGFjdGlvbmAgVkFSQ0hBUigyMCkgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBGVU5DVElPTl9DRGApLA0KK0NPTlNUUkFJTlQgYGZ1bmN0aW9uYCBVTklRVUUgKEZVTkNUSU9OX0NELFRZUEUsQUNUSU9OKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9saWNlbnNlDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9saWNlbnNlYCAoDQorICBgaWRgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorICBgYXBwX2lkYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYGlwX2FkZHJlc3NgIFZBUkNIQVIoMTAwKSBOT1QgTlVMTCwNCisgIGBxdWFudHVtX3ZlcnNpb25faWRgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorICBgY3JlYXRlZF9kYXRlYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBtb2RpZmllZF9kYXRlYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBjcmVhdGVkX2lkYCBERUNJTUFMKDExLDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYG1vZGlmaWVkX2lkYCBERUNJTUFMKDExLDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYGVuZF9kYXRlYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCAnMjAzNi0wMS0xOSAwMzoxNDowNycsDQorUFJJTUFSWSBLRVkgKGBpZGApLA0KK0lOREVYIGBmbl9saWNlbnNlX3IwMmAgKGBxdWFudHVtX3ZlcnNpb25faWRgIEFTQyksDQorQ09OU1RSQUlOVCBgZm5fbGljZW5zZV9yMDJgDQorRk9SRUlHTiBLRVkgKGBxdWFudHVtX3ZlcnNpb25faWRgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX2xpY2Vuc2VfdmVyc2lvbmAgKGBpZGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2xpY2Vuc2VfYXBwDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9saWNlbnNlX2FwcGAgKA0KKyAgYGlkYCBERUNJTUFMKDExLDApIE5PVCBOVUxMLA0KKyAgYGFwcF9uYW1lYCBWQVJDSEFSKDEwMCkgTk9UIE5VTEwsDQorICBgY3R4dF9uYW1lYCBWQVJDSEFSKDEwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorSU5ERVggYGZuX2xpY2Vuc2VfYXBwX0lEYCAoYGlkYCBBU0MpKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2xpY2Vuc2VfY29udGFjdA0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fbGljZW5zZV9jb250YWN0YCAoDQorICBgaWRgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgbGljZW5zZV9pZGAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBzYmNpZGAgVkFSQ0hBUigyMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBpZGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2xpY2Vuc2VfaGlzdG9yeQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fbGljZW5zZV9oaXN0b3J5YCAoDQorICBgbGljZW5zZV9pZGAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBhcHBfaWRgIERFQ0lNQUwoMTEsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgaXBfYWRkcmVzc2AgVkFSQ0hBUigxMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYHF1YW50dW1fdmVyc2lvbl9pZGAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBjcmVhdGVkX2RhdGVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KKyAgYG1vZGlmaWVkX2RhdGVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KKyAgYGNyZWF0ZWRfaWRgIERFQ0lNQUwoMTEsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgbW9kaWZpZWRfaWRgIERFQ0lNQUwoMTEsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgaWRgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBpZGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2xpY2Vuc2VfdmVyc2lvbg0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fbGljZW5zZV92ZXJzaW9uYCAoDQorICBgaWRgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorICBgcXVhbnR1bV92ZXJzaW9uYCBWQVJDSEFSKDI1KSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYGlkYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fbHVfYWN0aXZpdHkNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX2x1X2FjdGl2aXR5YCAoDQorICBgQUNUSVZJVFlfQ0RgIFZBUkNIQVIoNTApIE5PVCBOVUxMLA0KKyAgYEFDVElWSVRZYCBWQVJDSEFSKDUwKSBOT1QgTlVMTCwNCitQUklNQVJZIEtFWSAoYEFDVElWSVRZX0NEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fbHVfYWxlcnRfbWV0aG9kDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9sdV9hbGVydF9tZXRob2RgICgNCisgIGBBTEVSVF9NRVRIT0RfQ0RgIFZBUkNIQVIoMTApIE5PVCBOVUxMLA0KKyAgYEFMRVJUX01FVEhPRGAgVkFSQ0hBUig1MCkgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBBTEVSVF9NRVRIT0RfQ0RgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9sdV9icm9hZGNhc3Rfc2l0ZQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fbHVfYnJvYWRjYXN0X3NpdGVgICgNCisgIGBCUk9BRENBU1RfU0lURV9DRGAgVkFSQ0hBUig1MCkgTk9UIE5VTEwsDQorICBgQlJPQURDQVNUX1NJVEVfREVTQ1JgIFZBUkNIQVIoMTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYEJST0FEQ0FTVF9TSVRFX0NEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fbHVfY2FsbF90aW1lcw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fbHVfY2FsbF90aW1lc2AgKA0KKyAgYENBTExfVElNRV9JRGAgREVDSU1BTCgxMCwwKSBOT1QgTlVMTCwNCisgIGBDQUxMX1RJTUVfQU1PVU5UYCBERUNJTUFMKDEwLDApIE5PVCBOVUxMLA0KKyAgYENBTExfVElNRV9ESVNQTEFZYCBWQVJDSEFSKDUwKSBOT1QgTlVMTCwNCitQUklNQVJZIEtFWSAoYENBTExfVElNRV9JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2x1X2NpdHkNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX2x1X2NpdHlgICgNCisgIGBDSVRZX0NEYCBWQVJDSEFSKDIpIE5PVCBOVUxMLA0KKyAgYENJVFlgIFZBUkNIQVIoMTAwKSBOT1QgTlVMTCwNCisgIGBTVEFURV9DRGAgVkFSQ0hBUigyKSBOT1QgTlVMTCwNCitQUklNQVJZIEtFWSAoYENJVFlfQ0RgLCBgU1RBVEVfQ0RgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9sdV9jb3VudHJ5DQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9sdV9jb3VudHJ5YCAoDQorICBgQ09VTlRSWV9DRGAgVkFSQ0hBUigzKSBOT1QgTlVMTCwNCisgIGBDT1VOVFJZYCBWQVJDSEFSKDEwMCkgTk9UIE5VTEwsDQorICBgRlVMTF9OQU1FYCBWQVJDSEFSKDEwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgV0VCUEhPTkVfQ09VTlRSWV9MQUJFTGAgVkFSQ0hBUigzMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBDT1VOVFJZX0NEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fbHVfbWVudV9zZXQNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX2x1X21lbnVfc2V0YCAoDQorICBgTUVOVV9TRVRfQ0RgIFZBUkNIQVIoMTApIE5PVCBOVUxMLA0KKyAgYE1FTlVfU0VUX05BTUVgIFZBUkNIQVIoNTApIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgTUVOVV9TRVRfQ0RgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9sdV9wcmlvcml0eQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fbHVfcHJpb3JpdHlgICgNCisgIGBQUklPUklUWV9JRGAgREVDSU1BTCgxMSwwKSBOT1QgTlVMTCwNCisgIGBQUklPUklUWWAgVkFSQ0hBUig1MCkgTk9UIE5VTEwsDQorICBgQUNUSVZFX1lOYCBDSEFSKDEpIE5PVCBOVUxMLA0KKyAgYFNPUlRfT1JERVJgIERFQ0lNQUwoNSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYFBSSU9SSVRZX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fbHVfcm9sZV90eXBlDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9sdV9yb2xlX3R5cGVgICgNCisgIGBST0xFX1RZUEVfSURgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorICBgUk9MRV9UWVBFYCBWQVJDSEFSKDUwKSBOT1QgTlVMTCwNCitQUklNQVJZIEtFWSAoYFJPTEVfVFlQRV9JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2x1X3N0YXRlDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9sdV9zdGF0ZWAgKA0KKyAgYFNUQVRFX0NEYCBWQVJDSEFSKDIpIE5PVCBOVUxMLA0KKyAgYFNUQVRFYCBWQVJDSEFSKDEwMCkgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBTVEFURV9DRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2x1X3RhYl9zZXQNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX2x1X3RhYl9zZXRgICgNCisgIGBUQUJfU0VUX0NEYCBWQVJDSEFSKDMwKSBOT1QgTlVMTCwNCisgIGBUQUJfU0VUX05BTUVgIFZBUkNIQVIoNTApIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgVEFCX1NFVF9DRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX2x1X3RpbWV6b25lDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9sdV90aW1lem9uZWAgKA0KKyAgYFRJTUVaT05FX0lEYCBJTlQoMTEpIE5PVCBOVUxMLA0KKyAgYFRJTUVaT05FX05BTUVgIFZBUkNIQVIoMTAwKSBOT1QgTlVMTCwNCisgIGBUSU1FWk9ORV9WQUxVRWAgVkFSQ0hBUigxMDApIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgVElNRVpPTkVfSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9tZW51DQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9tZW51YCAoDQorICBgTUVOVV9JRGAgSU5UKDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVCwNCisgIGBMQUJFTGAgVkFSQ0hBUigxMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFBBUkVOVF9JRGAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBTT1JUX09SREVSYCBERUNJTUFMKDQsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQUNUSU9OYCBWQVJDSEFSKDIwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgRlVOQ1RJT05fQ0RgIFZBUkNIQVIoMzApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFDVElWRV9ZTmAgVkFSQ0hBUigxKSBOT1QgTlVMTCBERUZBVUxUICdZJywNCisgIGBTRVJWTEVUYCBWQVJDSEFSKDUwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBRVUVSWV9TVFJJTkdgIFZBUkNIQVIoMjAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBFWFRFUk5BTF9VUkxgIFZBUkNIQVIoMjAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBUQVJHRVRgIFZBUkNIQVIoMjUpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYE1FTlVfU0VUX0NEYCBWQVJDSEFSKDEwKSBOVUxMIERFRkFVTFQgJ0FQUCcsDQorICBgU0VQQVJBVE9SX1lOYCBDSEFSKDEpIE5VTEwgREVGQVVMVCAnTicsDQorICBgSU1BR0VfU1JDYCBWQVJDSEFSKDEwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBNRU5VX0lEYCksDQorSU5ERVggYEZLX0ZOX01FTlVfUkVGXzE5Nl9GTl9NRU5VYCAoYFBBUkVOVF9JRGAgQVNDKSwNCitJTkRFWCBgRktfRk5fTUVOVV9NRU5VX1NFVF9DRGAgKGBNRU5VX1NFVF9DRGAgQVNDKSwNCitJTkRFWCBgRk5fTUVOVV9GVU5DVElPTl9DRGAgKGBGVU5DVElPTl9DRGAgQVNDKSwNCitDT05TVFJBSU5UIGBGS19GTl9NRU5VX01FTlVfU0VUX0NEYA0KK0ZPUkVJR04gS0VZIChgTUVOVV9TRVRfQ0RgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX2x1X21lbnVfc2V0YCAoYE1FTlVfU0VUX0NEYCksDQorQ09OU1RSQUlOVCBgRktfRk5fTUVOVV9SRUZfMTk2X0ZOX01FTlVgDQorRk9SRUlHTiBLRVkgKGBQQVJFTlRfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX21lbnVgIChgTUVOVV9JRGApLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX01FTlVfUkVGXzIyM19GTl9GVU5DVGANCitGT1JFSUdOIEtFWSAoYEZVTkNUSU9OX0NEYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBmbl9mdW5jdGlvbmAgKGBGVU5DVElPTl9DRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorICBBVVRPX0lOQ1JFTUVOVCA9IDE1MDAyOQ0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9vcmcNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX29yZ2AgKA0KKyAgYE9SR19JRGAgSU5UKDExKSBOT1QgTlVMTCwNCisgIGBPUkdfTkFNRWAgVkFSQ0hBUig1MCkgTk9UIE5VTEwsDQorICBgQUNDRVNTX0NEYCBWQVJDSEFSKDEwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYE9SR19JRGApLA0KK0lOREVYIGBGTl9PUkdfQUNDRVNTX0NEYCAoYEFDQ0VTU19DRGAgQVNDKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9xel9ibG9iX3RyaWdnZXJzDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9xel9ibG9iX3RyaWdnZXJzYCAoDQorICBgU0NIRURfTkFNRWAgVkFSQ0hBUigxMjApIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfTkFNRWAgVkFSQ0hBUigyMDApIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfR1JPVVBgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBCTE9CX0RBVEFgIEJMT0IgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBTQ0hFRF9OQU1FYCwgYFRSSUdHRVJfTkFNRWAsIGBUUklHR0VSX0dST1VQYCksDQorSU5ERVggYFNDSEVEX05BTUVgIChgU0NIRURfTkFNRWAgQVNDLCBgVFJJR0dFUl9OQU1FYCBBU0MsIGBUUklHR0VSX0dST1VQYCBBU0MpLA0KK0NPTlNUUkFJTlQgYGZuX3F6X2Jsb2JfdHJpZ2dlcnNfaWJma18xYA0KK0ZPUkVJR04gS0VZIChgU0NIRURfTkFNRWAgLCBgVFJJR0dFUl9OQU1FYCAsIGBUUklHR0VSX0dST1VQYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBmbl9xel90cmlnZ2Vyc2AgKGBTQ0hFRF9OQU1FYCAsIGBUUklHR0VSX05BTUVgICwgYFRSSUdHRVJfR1JPVVBgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9xel9jYWxlbmRhcnMNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX3F6X2NhbGVuZGFyc2AgKA0KKyAgYFNDSEVEX05BTUVgIFZBUkNIQVIoMTIwKSBOT1QgTlVMTCwNCisgIGBDQUxFTkRBUl9OQU1FYCBWQVJDSEFSKDIwMCkgTk9UIE5VTEwsDQorICBgQ0FMRU5EQVJgIEJMT0IgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBTQ0hFRF9OQU1FYCwgYENBTEVOREFSX05BTUVgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9xel9jcm9uX3RyaWdnZXJzDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9xel9jcm9uX3RyaWdnZXJzYCAoDQorICBgU0NIRURfTkFNRWAgVkFSQ0hBUigxMjApIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfTkFNRWAgVkFSQ0hBUigyMDApIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfR1JPVVBgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBDUk9OX0VYUFJFU1NJT05gIFZBUkNIQVIoMTIwKSBOT1QgTlVMTCwNCisgIGBUSU1FX1pPTkVfSURgIFZBUkNIQVIoODApIE5VTEwgREVGQVVMVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgU0NIRURfTkFNRWAsIGBUUklHR0VSX05BTUVgLCBgVFJJR0dFUl9HUk9VUGApLA0KK0NPTlNUUkFJTlQgYGZuX3F6X2Nyb25fdHJpZ2dlcnNfaWJma18xYA0KK0ZPUkVJR04gS0VZIChgU0NIRURfTkFNRWAgLCBgVFJJR0dFUl9OQU1FYCAsIGBUUklHR0VSX0dST1VQYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBmbl9xel90cmlnZ2Vyc2AgKGBTQ0hFRF9OQU1FYCAsIGBUUklHR0VSX05BTUVgICwgYFRSSUdHRVJfR1JPVVBgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9xel9maXJlZF90cmlnZ2Vycw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fcXpfZmlyZWRfdHJpZ2dlcnNgICgNCisgIGBTQ0hFRF9OQU1FYCBWQVJDSEFSKDEyMCkgTk9UIE5VTEwsDQorICBgRU5UUllfSURgIFZBUkNIQVIoOTUpIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfTkFNRWAgVkFSQ0hBUigyMDApIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfR1JPVVBgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBJTlNUQU5DRV9OQU1FYCBWQVJDSEFSKDIwMCkgTk9UIE5VTEwsDQorICBgRklSRURfVElNRWAgQklHSU5UKDEzKSBOT1QgTlVMTCwNCisgIGBTQ0hFRF9USU1FYCBCSUdJTlQoMTMpIE5PVCBOVUxMLA0KKyAgYFBSSU9SSVRZYCBJTlQoMTEpIE5PVCBOVUxMLA0KKyAgYFNUQVRFYCBWQVJDSEFSKDE2KSBOT1QgTlVMTCwNCisgIGBKT0JfTkFNRWAgVkFSQ0hBUigyMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEpPQl9HUk9VUGAgVkFSQ0hBUigyMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYElTX05PTkNPTkNVUlJFTlRgIFZBUkNIQVIoMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgUkVRVUVTVFNfUkVDT1ZFUllgIFZBUkNIQVIoMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBTQ0hFRF9OQU1FYCwgYEVOVFJZX0lEYCksDQorSU5ERVggYElEWF9GTl9RWl9GVF9UUklHX0lOU1RfTkFNRWAgKGBTQ0hFRF9OQU1FYCBBU0MsIGBJTlNUQU5DRV9OQU1FYCBBU0MpLA0KK0lOREVYIGBJRFhfRk5fUVpfRlRfSU5TVF9KT0JfUkVRX1JDVlJZYCAoYFNDSEVEX05BTUVgIEFTQywgYElOU1RBTkNFX05BTUVgIEFTQywgYFJFUVVFU1RTX1JFQ09WRVJZYCBBU0MpLA0KK0lOREVYIGBJRFhfRk5fUVpfRlRfSl9HYCAoYFNDSEVEX05BTUVgIEFTQywgYEpPQl9OQU1FYCBBU0MsIGBKT0JfR1JPVVBgIEFTQyksDQorSU5ERVggYElEWF9GTl9RWl9GVF9KR2AgKGBTQ0hFRF9OQU1FYCBBU0MsIGBKT0JfR1JPVVBgIEFTQyksDQorSU5ERVggYElEWF9GTl9RWl9GVF9UX0dgIChgU0NIRURfTkFNRWAgQVNDLCBgVFJJR0dFUl9OQU1FYCBBU0MsIGBUUklHR0VSX0dST1VQYCBBU0MpLA0KK0lOREVYIGBJRFhfRk5fUVpfRlRfVEdgIChgU0NIRURfTkFNRWAgQVNDLCBgVFJJR0dFUl9HUk9VUGAgQVNDKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9xel9qb2JfZGV0YWlscw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fcXpfam9iX2RldGFpbHNgICgNCisgIGBTQ0hFRF9OQU1FYCBWQVJDSEFSKDEyMCkgTk9UIE5VTEwsDQorICBgSk9CX05BTUVgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBKT0JfR1JPVVBgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBERVNDUklQVElPTmAgVkFSQ0hBUigyNTApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEpPQl9DTEFTU19OQU1FYCBWQVJDSEFSKDI1MCkgTk9UIE5VTEwsDQorICBgSVNfRFVSQUJMRWAgVkFSQ0hBUigxKSBOT1QgTlVMTCwNCisgIGBJU19OT05DT05DVVJSRU5UYCBWQVJDSEFSKDEpIE5PVCBOVUxMLA0KKyAgYElTX1VQREFURV9EQVRBYCBWQVJDSEFSKDEpIE5PVCBOVUxMLA0KKyAgYFJFUVVFU1RTX1JFQ09WRVJZYCBWQVJDSEFSKDEpIE5PVCBOVUxMLA0KKyAgYEpPQl9EQVRBYCBCTE9CIE5VTEwgREVGQVVMVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgU0NIRURfTkFNRWAsIGBKT0JfTkFNRWAsIGBKT0JfR1JPVVBgKSwNCitJTkRFWCBgSURYX0ZOX1FaX0pfUkVRX1JFQ09WRVJZYCAoYFNDSEVEX05BTUVgIEFTQywgYFJFUVVFU1RTX1JFQ09WRVJZYCBBU0MpLA0KK0lOREVYIGBJRFhfRk5fUVpfSl9HUlBgIChgU0NIRURfTkFNRWAgQVNDLCBgSk9CX0dST1VQYCBBU0MpKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX3F6X2xvY2tzDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9xel9sb2Nrc2AgKA0KKyAgYFNDSEVEX05BTUVgIFZBUkNIQVIoMTIwKSBOT1QgTlVMTCwNCisgIGBMT0NLX05BTUVgIFZBUkNIQVIoNDApIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgU0NIRURfTkFNRWAsIGBMT0NLX05BTUVgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9xel9wYXVzZWRfdHJpZ2dlcl9ncnBzDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9xel9wYXVzZWRfdHJpZ2dlcl9ncnBzYCAoDQorICBgU0NIRURfTkFNRWAgVkFSQ0hBUigxMjApIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfR1JPVVBgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCitQUklNQVJZIEtFWSAoYFNDSEVEX05BTUVgLCBgVFJJR0dFUl9HUk9VUGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX3F6X3NjaGVkdWxlcl9zdGF0ZQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fcXpfc2NoZWR1bGVyX3N0YXRlYCAoDQorICBgU0NIRURfTkFNRWAgVkFSQ0hBUigxMjApIE5PVCBOVUxMLA0KKyAgYElOU1RBTkNFX05BTUVgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBMQVNUX0NIRUNLSU5fVElNRWAgQklHSU5UKDEzKSBOT1QgTlVMTCwNCisgIGBDSEVDS0lOX0lOVEVSVkFMYCBCSUdJTlQoMTMpIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgU0NIRURfTkFNRWAsIGBJTlNUQU5DRV9OQU1FYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fcXpfc2ltcGxlX3RyaWdnZXJzDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9xel9zaW1wbGVfdHJpZ2dlcnNgICgNCisgIGBTQ0hFRF9OQU1FYCBWQVJDSEFSKDEyMCkgTk9UIE5VTEwsDQorICBgVFJJR0dFUl9OQU1FYCBWQVJDSEFSKDIwMCkgTk9UIE5VTEwsDQorICBgVFJJR0dFUl9HUk9VUGAgVkFSQ0hBUigyMDApIE5PVCBOVUxMLA0KKyAgYFJFUEVBVF9DT1VOVGAgQklHSU5UKDcpIE5PVCBOVUxMLA0KKyAgYFJFUEVBVF9JTlRFUlZBTGAgQklHSU5UKDEyKSBOT1QgTlVMTCwNCisgIGBUSU1FU19UUklHR0VSRURgIEJJR0lOVCgxMCkgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBTQ0hFRF9OQU1FYCwgYFRSSUdHRVJfTkFNRWAsIGBUUklHR0VSX0dST1VQYCksDQorQ09OU1RSQUlOVCBgZm5fcXpfc2ltcGxlX3RyaWdnZXJzX2liZmtfMWANCitGT1JFSUdOIEtFWSAoYFNDSEVEX05BTUVgICwgYFRSSUdHRVJfTkFNRWAgLCBgVFJJR0dFUl9HUk9VUGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fcXpfdHJpZ2dlcnNgIChgU0NIRURfTkFNRWAgLCBgVFJJR0dFUl9OQU1FYCAsIGBUUklHR0VSX0dST1VQYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fcXpfc2ltcHJvcF90cmlnZ2Vycw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fcXpfc2ltcHJvcF90cmlnZ2Vyc2AgKA0KKyAgYFNDSEVEX05BTUVgIFZBUkNIQVIoMTIwKSBOT1QgTlVMTCwNCisgIGBUUklHR0VSX05BTUVgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBUUklHR0VSX0dST1VQYCBWQVJDSEFSKDIwMCkgTk9UIE5VTEwsDQorICBgU1RSX1BST1BfMWAgVkFSQ0hBUig1MTIpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFNUUl9QUk9QXzJgIFZBUkNIQVIoNTEyKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBTVFJfUFJPUF8zYCBWQVJDSEFSKDUxMikgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgSU5UX1BST1BfMWAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBJTlRfUFJPUF8yYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYExPTkdfUFJPUF8xYCBCSUdJTlQoMjApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYExPTkdfUFJPUF8yYCBCSUdJTlQoMjApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYERFQ19QUk9QXzFgIERFQ0lNQUwoMTMsNCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgREVDX1BST1BfMmAgREVDSU1BTCgxMyw0KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBCT09MX1BST1BfMWAgVkFSQ0hBUigxKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBCT09MX1BST1BfMmAgVkFSQ0hBUigxKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYFNDSEVEX05BTUVgLCBgVFJJR0dFUl9OQU1FYCwgYFRSSUdHRVJfR1JPVVBgKSwNCitDT05TVFJBSU5UIGBmbl9xel9zaW1wcm9wX3RyaWdnZXJzX2liZmtfMWANCitGT1JFSUdOIEtFWSAoYFNDSEVEX05BTUVgICwgYFRSSUdHRVJfTkFNRWAgLCBgVFJJR0dFUl9HUk9VUGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fcXpfdHJpZ2dlcnNgIChgU0NIRURfTkFNRWAgLCBgVFJJR0dFUl9OQU1FYCAsIGBUUklHR0VSX0dST1VQYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fcXpfdHJpZ2dlcnMNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX3F6X3RyaWdnZXJzYCAoDQorICBgU0NIRURfTkFNRWAgVkFSQ0hBUigxMjApIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfTkFNRWAgVkFSQ0hBUigyMDApIE5PVCBOVUxMLA0KKyAgYFRSSUdHRVJfR1JPVVBgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBKT0JfTkFNRWAgVkFSQ0hBUigyMDApIE5PVCBOVUxMLA0KKyAgYEpPQl9HUk9VUGAgVkFSQ0hBUigyMDApIE5PVCBOVUxMLA0KKyAgYERFU0NSSVBUSU9OYCBWQVJDSEFSKDI1MCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgTkVYVF9GSVJFX1RJTUVgIEJJR0lOVCgxMykgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgUFJFVl9GSVJFX1RJTUVgIEJJR0lOVCgxMykgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgUFJJT1JJVFlgIElOVCgxMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgVFJJR0dFUl9TVEFURWAgVkFSQ0hBUigxNikgTk9UIE5VTEwsDQorICBgVFJJR0dFUl9UWVBFYCBWQVJDSEFSKDgpIE5PVCBOVUxMLA0KKyAgYFNUQVJUX1RJTUVgIEJJR0lOVCgxMykgTk9UIE5VTEwsDQorICBgRU5EX1RJTUVgIEJJR0lOVCgxMykgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQ0FMRU5EQVJfTkFNRWAgVkFSQ0hBUigyMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYE1JU0ZJUkVfSU5TVFJgIFNNQUxMSU5UKDIpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEpPQl9EQVRBYCBCTE9CIE5VTEwgREVGQVVMVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgU0NIRURfTkFNRWAsIGBUUklHR0VSX05BTUVgLCBgVFJJR0dFUl9HUk9VUGApLA0KK0lOREVYIGBJRFhfRk5fUVpfVF9KYCAoYFNDSEVEX05BTUVgIEFTQywgYEpPQl9OQU1FYCBBU0MsIGBKT0JfR1JPVVBgIEFTQyksDQorSU5ERVggYElEWF9GTl9RWl9UX0pHYCAoYFNDSEVEX05BTUVgIEFTQywgYEpPQl9HUk9VUGAgQVNDKSwNCitJTkRFWCBgSURYX0ZOX1FaX1RfQ2AgKGBTQ0hFRF9OQU1FYCBBU0MsIGBDQUxFTkRBUl9OQU1FYCBBU0MpLA0KK0lOREVYIGBJRFhfRk5fUVpfVF9HYCAoYFNDSEVEX05BTUVgIEFTQywgYFRSSUdHRVJfR1JPVVBgIEFTQyksDQorSU5ERVggYElEWF9GTl9RWl9UX1NUQVRFYCAoYFNDSEVEX05BTUVgIEFTQywgYFRSSUdHRVJfU1RBVEVgIEFTQyksDQorSU5ERVggYElEWF9GTl9RWl9UX05fU1RBVEVgIChgU0NIRURfTkFNRWAgQVNDLCBgVFJJR0dFUl9OQU1FYCBBU0MsIGBUUklHR0VSX0dST1VQYCBBU0MsIGBUUklHR0VSX1NUQVRFYCBBU0MpLA0KK0lOREVYIGBJRFhfRk5fUVpfVF9OX0dfU1RBVEVgIChgU0NIRURfTkFNRWAgQVNDLCBgVFJJR0dFUl9HUk9VUGAgQVNDLCBgVFJJR0dFUl9TVEFURWAgQVNDKSwNCitJTkRFWCBgSURYX0ZOX1FaX1RfTkVYVF9GSVJFX1RJTUVgIChgU0NIRURfTkFNRWAgQVNDLCBgTkVYVF9GSVJFX1RJTUVgIEFTQyksDQorSU5ERVggYElEWF9GTl9RWl9UX05GVF9TVGAgKGBTQ0hFRF9OQU1FYCBBU0MsIGBUUklHR0VSX1NUQVRFYCBBU0MsIGBORVhUX0ZJUkVfVElNRWAgQVNDKSwNCitJTkRFWCBgSURYX0ZOX1FaX1RfTkZUX01JU0ZJUkVgIChgU0NIRURfTkFNRWAgQVNDLCBgTUlTRklSRV9JTlNUUmAgQVNDLCBgTkVYVF9GSVJFX1RJTUVgIEFTQyksDQorSU5ERVggYElEWF9GTl9RWl9UX05GVF9TVF9NSVNGSVJFYCAoYFNDSEVEX05BTUVgIEFTQywgYE1JU0ZJUkVfSU5TVFJgIEFTQywgYE5FWFRfRklSRV9USU1FYCBBU0MsIGBUUklHR0VSX1NUQVRFYCBBU0MpLA0KK0lOREVYIGBJRFhfRk5fUVpfVF9ORlRfU1RfTUlTRklSRV9HUlBgIChgU0NIRURfTkFNRWAgQVNDLCBgTUlTRklSRV9JTlNUUmAgQVNDLCBgTkVYVF9GSVJFX1RJTUVgIEFTQywgYFRSSUdHRVJfR1JPVVBgIEFTQywgYFRSSUdHRVJfU1RBVEVgIEFTQyksDQorQ09OU1RSQUlOVCBgZm5fcXpfdHJpZ2dlcnNfaWJma18xYA0KK0ZPUkVJR04gS0VZIChgU0NIRURfTkFNRWAgLCBgSk9CX05BTUVgICwgYEpPQl9HUk9VUGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fcXpfam9iX2RldGFpbHNgIChgU0NIRURfTkFNRWAgLCBgSk9CX05BTUVgICwgYEpPQl9HUk9VUGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX3Jlc3RyaWN0ZWRfdXJsDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9yZXN0cmljdGVkX3VybGAgKA0KKyAgYFJFU1RSSUNURURfVVJMYCBWQVJDSEFSKDI1MCkgTk9UIE5VTEwsDQorICBgRlVOQ1RJT05fQ0RgIFZBUkNIQVIoMzApIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgUkVTVFJJQ1RFRF9VUkxgLCBgRlVOQ1RJT05fQ0RgKSwNCitJTkRFWCBgRktfUkVTVFJJQ1RFRF9VUkxfRlVOQ1RJT05fQ0RgIChgRlVOQ1RJT05fQ0RgIEFTQyksDQorQ09OU1RSQUlOVCBgRktfUkVTVFJJQ1RFRF9VUkxfRlVOQ1RJT05fQ0RgDQorRk9SRUlHTiBLRVkgKGBGVU5DVElPTl9DRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fZnVuY3Rpb25gIChgRlVOQ1RJT05fQ0RgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9yb2xlDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9yb2xlYCAoDQorICBgUk9MRV9JRGAgSU5UKDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVCwNCisgIGBST0xFX05BTUVgIFZBUkNIQVIoMjU1KSBOT1QgTlVMTCwNCisgIGBBQ1RJVkVfWU5gIFZBUkNIQVIoMSkgTk9UIE5VTEwgREVGQVVMVCAnWScsDQorICBgUFJJT1JJVFlgIERFQ0lNQUwoNCwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYFJPTEVfSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KKyAgQVVUT19JTkNSRU1FTlQgPSAxNw0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorQUxURVIgVEFCTEUgYG9zYW1fY29yZWAuYGZuX3JvbGVgIE1PRElGWSBgUk9MRV9OQU1FYCBWQVJDSEFSICgyNTUpOw0KKw0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fcm9sZV9jb21wb3NpdGUNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX3JvbGVfY29tcG9zaXRlYCAoDQorICBgUEFSRU5UX1JPTEVfSURgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgQ0hJTERfUk9MRV9JRGAgSU5UKDExKSBOT1QgTlVMTCwNCitQUklNQVJZIEtFWSAoYFBBUkVOVF9ST0xFX0lEYCwgYENISUxEX1JPTEVfSURgKSwNCitJTkRFWCBgRktfRk5fUk9MRV9DT01QT1NJVEVfQ0hJTERgIChgQ0hJTERfUk9MRV9JRGAgQVNDKSwNCitDT05TVFJBSU5UIGBGS19GTl9ST0xFX0NPTVBPU0lURV9DSElMRGANCitGT1JFSUdOIEtFWSAoYENISUxEX1JPTEVfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX3JvbGVgIChgUk9MRV9JRGApLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX1JPTEVfQ09NUE9TSVRFX1BBUkVOVGANCitGT1JFSUdOIEtFWSAoYFBBUkVOVF9ST0xFX0lEYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBmbl9yb2xlYCAoYFJPTEVfSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9yb2xlX2Z1bmN0aW9uDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl9yb2xlX2Z1bmN0aW9uYCAoDQorICBgUk9MRV9JRGAgSU5UKDExKSBOT1QgTlVMTCwNCisgIGBGVU5DVElPTl9DRGAgVkFSQ0hBUigzMCkgTk9UIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBST0xFX0lEYCwgYEZVTkNUSU9OX0NEYCksDQorSU5ERVggYEZOX1JPTEVfRlVOQ1RJT05fRlVOQ1RJT05fQ0RgIChgRlVOQ1RJT05fQ0RgIEFTQyksDQorSU5ERVggYEZOX1JPTEVfRlVOQ1RJT05fUk9MRV9JRGAgKGBST0xFX0lEYCBBU0MpLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX1JPTEVfX1JFRl8xOThfRk5fUk9MRWANCitGT1JFSUdOIEtFWSAoYFJPTEVfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX3JvbGVgIChgUk9MRV9JRGApLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX1JPTEVfX1JFRl8yMDFfRk5fRlVOQ1RgDQorRk9SRUlHTiBLRVkgKGBGVU5DVElPTl9DRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fZnVuY3Rpb25gIChgRlVOQ1RJT05fQ0RgKSkNCisgIEVOR0lORSA9IElubm9EQg0KK0RFRkFVTFQgQ0hBUkFDVEVSIFNFVCA9IHV0Zjg7DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFRhYmxlIG9zYW1fY29yZS5mbl9zY2hlZHVsZV93b3JrZmxvd3MNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX3NjaGVkdWxlX3dvcmtmbG93c2AgKA0KKyAgYGlkX3NjaGVkdWxlX3dvcmtmbG93c2AgQklHSU5UKDI1KSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVCwNCisgIGB3b3JrZmxvd19zZXJ2ZXJfdXJsYCBWQVJDSEFSKDQ1KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGB3b3JrZmxvd19rZXlgIFZBUkNIQVIoNDUpIE5PVCBOVUxMLA0KKyAgYHdvcmtmbG93X2FyZ3VtZW50c2AgVkFSQ0hBUig0NSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgc3RhcnREYXRlVGltZUNyb25gIFZBUkNIQVIoNDUpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYGVuZERhdGVUaW1lYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBzdGFydF9kYXRlX3RpbWVgIFRJTUVTVEFNUCBOT1QgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KKyAgYHJlY3VycmVuY2VgIFZBUkNIQVIoNDUpIE5VTEwgREVGQVVMVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgaWRfc2NoZWR1bGVfd29ya2Zsb3dzYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fdGFiDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGBvc2FtX2NvcmVgLmBmbl90YWJgICgNCisgIGBUQUJfQ0RgIFZBUkNIQVIoMzApIE5PVCBOVUxMLA0KKyAgYFRBQl9OQU1FYCBWQVJDSEFSKDUwKSBOT1QgTlVMTCwNCisgIGBUQUJfREVTQ1JgIFZBUkNIQVIoMTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBBQ1RJT05gIFZBUkNIQVIoMTAwKSBOT1QgTlVMTCwNCisgIGBGVU5DVElPTl9DRGAgVkFSQ0hBUigzMCkgTk9UIE5VTEwsDQorICBgQUNUSVZFX1lOYCBDSEFSKDEpIE5PVCBOVUxMLA0KKyAgYFNPUlRfT1JERVJgIERFQ0lNQUwoMTEsMCkgTk9UIE5VTEwsDQorICBgUEFSRU5UX1RBQl9DRGAgVkFSQ0hBUigzMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgVEFCX1NFVF9DRGAgVkFSQ0hBUigzMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBUQUJfQ0RgKSwNCitJTkRFWCBgRktfRk5fVEFCX0ZVTkNUSU9OX0NEYCAoYEZVTkNUSU9OX0NEYCBBU0MpLA0KK0lOREVYIGBGS19GTl9UQUJfU0VUX0NEYCAoYFRBQl9TRVRfQ0RgIEFTQyksDQorQ09OU1RSQUlOVCBgRktfRk5fVEFCX0ZVTkNUSU9OX0NEYA0KK0ZPUkVJR04gS0VZIChgRlVOQ1RJT05fQ0RgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX2Z1bmN0aW9uYCAoYEZVTkNUSU9OX0NEYCksDQorQ09OU1RSQUlOVCBgRktfRk5fVEFCX1NFVF9DRGANCitGT1JFSUdOIEtFWSAoYFRBQl9TRVRfQ0RgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX2x1X3RhYl9zZXRgIChgVEFCX1NFVF9DRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX3RhYl9zZWxlY3RlZA0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fdGFiX3NlbGVjdGVkYCAoDQorICBgU0VMRUNURURfVEFCX0NEYCBWQVJDSEFSKDMwKSBOT1QgTlVMTCwNCisgIGBUQUJfVVJJYCBWQVJDSEFSKDQwKSBOT1QgTlVMTCwNCitQUklNQVJZIEtFWSAoYFNFTEVDVEVEX1RBQl9DRGAsIGBUQUJfVVJJYCksDQorQ09OU1RSQUlOVCBgRktfRk5fVEFCX1NFTEVDVEVEX1RBQl9DRGANCitGT1JFSUdOIEtFWSAoYFNFTEVDVEVEX1RBQl9DRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fdGFiYCAoYFRBQl9DRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX3VzZXINCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX3VzZXJgICgNCisgIGBVU0VSX0lEYCBJTlQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5ULA0KKyAgYE9SR19JRGAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBNQU5BR0VSX0lEYCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEZJUlNUX05BTUVgIFZBUkNIQVIoNTApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYE1JRERMRV9OQU1FYCBWQVJDSEFSKDUwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBMQVNUX05BTUVgIFZBUkNIQVIoNTApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYFBIT05FYCBWQVJDSEFSKDI1KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBGQVhgIFZBUkNIQVIoMjUpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYENFTExVTEFSYCBWQVJDSEFSKDI1KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBFTUFJTGAgVkFSQ0hBUig1MCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQUREUkVTU19JRGAgREVDSU1BTCgxMSwwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBBTEVSVF9NRVRIT0RfQ0RgIFZBUkNIQVIoMTApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEhSSURgIFZBUkNIQVIoMjApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYE9SR19VU0VSX0lEYCBWQVJDSEFSKDIwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBPUkdfQ09ERWAgVkFSQ0hBUigzMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgTE9HSU5fSURgIFZBUkNIQVIoMjUpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYExPR0lOX1BXRGAgVkFSQ0hBUigyNSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgTEFTVF9MT0dJTl9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCBPTiBVUERBVEUgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgQUNUSVZFX1lOYCBWQVJDSEFSKDEpIE5PVCBOVUxMIERFRkFVTFQgJ1knLA0KKyAgYENSRUFURURfSURgIElOVCgxMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQ1JFQVRFRF9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBNT0RJRklFRF9JRGAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBNT0RJRklFRF9EQVRFYCBUSU1FU1RBTVAgTk9UIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCisgIGBJU19JTlRFUk5BTF9ZTmAgQ0hBUigxKSBOT1QgTlVMTCBERUZBVUxUICdOJywNCisgIGBBRERSRVNTX0xJTkVfMWAgVkFSQ0hBUigxMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYEFERFJFU1NfTElORV8yYCBWQVJDSEFSKDEwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQ0lUWWAgVkFSQ0hBUig1MCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgU1RBVEVfQ0RgIFZBUkNIQVIoMykgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgWklQX0NPREVgIFZBUkNIQVIoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYENPVU5UUllfQ0RgIFZBUkNIQVIoMykgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgTE9DQVRJT05fQ0xMSWAgVkFSQ0hBUig4KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBPUkdfTUFOQUdFUl9VU0VSSURgIFZBUkNIQVIoMjApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYENPTVBBTllgIFZBUkNIQVIoMTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBERVBBUlRNRU5UX05BTUVgIFZBUkNIQVIoMTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBKT0JfVElUTEVgIFZBUkNIQVIoMTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBUSU1FWk9ORWAgSU5UKDExKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBERVBBUlRNRU5UYCBWQVJDSEFSKDI1KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBCVVNJTkVTU19VTklUYCBWQVJDSEFSKDI1KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBCVVNJTkVTU19VTklUX05BTUVgIFZBUkNIQVIoMTAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBDT1NUX0NFTlRFUmAgVkFSQ0hBUigyNSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgRklOX0xPQ19DT0RFYCBWQVJDSEFSKDEwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBTSUxPX1NUQVRVU2AgVkFSQ0hBUigxMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorUFJJTUFSWSBLRVkgKGBVU0VSX0lEYCksDQorVU5JUVVFIElOREVYIGBGTl9VU0VSX0hSSURgIChgSFJJRGAgQVNDKSwNCitVTklRVUUgSU5ERVggYEZOX1VTRVJfTE9HSU5fSURgIChgTE9HSU5fSURgIEFTQyksDQorSU5ERVggYEZOX1VTRVJfQUREUkVTU19JRGAgKGBBRERSRVNTX0lEYCBBU0MpLA0KK0lOREVYIGBGTl9VU0VSX0FMRVJUX01FVEhPRF9DRGAgKGBBTEVSVF9NRVRIT0RfQ0RgIEFTQyksDQorSU5ERVggYEZOX1VTRVJfT1JHX0lEYCAoYE9SR19JRGAgQVNDKSwNCitJTkRFWCBgRktfRk5fVVNFUl9SRUZfMTk3X0ZOX1VTRVJgIChgTUFOQUdFUl9JRGAgQVNDKSwNCitJTkRFWCBgRktfRk5fVVNFUl9SRUZfMTk4X0ZOX1VTRVJgIChgQ1JFQVRFRF9JRGAgQVNDKSwNCitJTkRFWCBgRktfRk5fVVNFUl9SRUZfMTk5X0ZOX1VTRVJgIChgTU9ESUZJRURfSURgIEFTQyksDQorSU5ERVggYEZLX1RJTUVaT05FYCAoYFRJTUVaT05FYCBBU0MpLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX1VTRVJfUkVGXzExMF9GTl9PUkdgDQorRk9SRUlHTiBLRVkgKGBPUkdfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX29yZ2AgKGBPUkdfSURgKSwNCitDT05TVFJBSU5UIGBGS19GTl9VU0VSX1JFRl8xMjNfRk5fTFVfQUxgDQorRk9SRUlHTiBLRVkgKGBBTEVSVF9NRVRIT0RfQ0RgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX2x1X2FsZXJ0X21ldGhvZGAgKGBBTEVSVF9NRVRIT0RfQ0RgKSwNCitDT05TVFJBSU5UIGBGS19GTl9VU0VSX1JFRl8xOTdfRk5fVVNFUmANCitGT1JFSUdOIEtFWSAoYE1BTkFHRVJfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX3VzZXJgIChgVVNFUl9JRGApLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX1VTRVJfUkVGXzE5OF9GTl9VU0VSYA0KK0ZPUkVJR04gS0VZIChgQ1JFQVRFRF9JRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fdXNlcmAgKGBVU0VSX0lEYCksDQorQ09OU1RSQUlOVCBgRktfRk5fVVNFUl9SRUZfMTk5X0ZOX1VTRVJgDQorRk9SRUlHTiBLRVkgKGBNT0RJRklFRF9JRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fdXNlcmAgKGBVU0VSX0lEYCksDQorQ09OU1RSQUlOVCBgRktfVElNRVpPTkVgDQorRk9SRUlHTiBLRVkgKGBUSU1FWk9ORWApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fbHVfdGltZXpvbmVgIChgVElNRVpPTkVfSURgKSkNCisgIEVOR0lORSA9IElubm9EQg0KKyAgQVVUT19JTkNSRU1FTlQgPSAzDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX3VzZXJfcHNldWRvX3JvbGUNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX3VzZXJfcHNldWRvX3JvbGVgICgNCisgIGBQU0VVRE9fUk9MRV9JRGAgSU5UKDExKSBOT1QgTlVMTCwNCisgIGBVU0VSX0lEYCBJTlQoMTEpIE5PVCBOVUxMLA0KK1BSSU1BUlkgS0VZIChgUFNFVURPX1JPTEVfSURgLCBgVVNFUl9JRGApLA0KK0lOREVYIGBGS19QU0VVRE9fUk9MRV9VU0VSX0lEYCAoYFVTRVJfSURgIEFTQyksDQorQ09OU1RSQUlOVCBgRktfUFNFVURPX1JPTEVfUFNFVURPX1JPTEVfSURgDQorRk9SRUlHTiBLRVkgKGBQU0VVRE9fUk9MRV9JRGApDQorUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gZm5fcm9sZWAgKGBST0xFX0lEYCksDQorQ09OU1RSQUlOVCBgRktfUFNFVURPX1JPTEVfVVNFUl9JRGANCitGT1JFSUdOIEtFWSAoYFVTRVJfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX3VzZXJgIChgVVNFUl9JRGApKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCisNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLmZuX3VzZXJfcm9sZQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5fdXNlcl9yb2xlYCAoDQorICBgVVNFUl9JRGAgSU5UKDEwKSBOT1QgTlVMTCwNCisgIGBST0xFX0lEYCBJTlQoMTApIE5PVCBOVUxMLA0KKyAgYFBSSU9SSVRZYCBERUNJTUFMKDQsMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQVBQX0lEYCBJTlQoMTEpIE5PVCBOVUxMIERFRkFVTFQgJzEnLA0KK1BSSU1BUlkgS0VZIChgVVNFUl9JRGAsIGBST0xFX0lEYCwgYEFQUF9JRGApLA0KK0lOREVYIGBGTl9VU0VSX1JPTEVfUk9MRV9JRGAgKGBST0xFX0lEYCBBU0MpLA0KK0lOREVYIGBGTl9VU0VSX1JPTEVfVVNFUl9JRGAgKGBVU0VSX0lEYCBBU0MpLA0KK0lOREVYIGBGS19GTl9VU0VSX19SRUZfMTc4X0ZOX0FQUF9pZHhgIChgQVBQX0lEYCBBU0MpLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX1VTRVJfX1JFRl8xNzJfRk5fVVNFUmANCitGT1JFSUdOIEtFWSAoYFVTRVJfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX3VzZXJgIChgVVNFUl9JRGApLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX1VTRVJfX1JFRl8xNzVfRk5fUk9MRWANCitGT1JFSUdOIEtFWSAoYFJPTEVfSURgKQ0KK1JFRkVSRU5DRVMgYG9zYW1fY29yZWAuYGZuX3JvbGVgIChgUk9MRV9JRGApLA0KK0NPTlNUUkFJTlQgYEZLX0ZOX1VTRVJfX1JFRl8xNzhfRk5fQVBQYA0KK0ZPUkVJR04gS0VZIChgQVBQX0lEYCkNCitSRUZFUkVOQ0VTIGBvc2FtX2NvcmVgLmBmbl9hcHBgIChgQVBQX0lEYCkpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5fd29ya2Zsb3cNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYGZuX3dvcmtmbG93YCAoDQorICBgaWRgIE1FRElVTUlOVCg5KSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVCwNCisgIGBuYW1lYCBWQVJDSEFSKDIwKSBOT1QgTlVMTCwNCisgIGBkZXNjcmlwdGlvbmAgVkFSQ0hBUig1MDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYHJ1bl9saW5rYCBWQVJDSEFSKDMwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgc3VzcGVuZF9saW5rYCBWQVJDSEFSKDMwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgbW9kaWZpZWRfbGlua2AgVkFSQ0hBUigzMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYGFjdGl2ZV95bmAgVkFSQ0hBUigzMDApIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYGNyZWF0ZWRgIFZBUkNIQVIoMzAwKSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBjcmVhdGVkX2J5YCBJTlQoMTEpIE5VTEwgREVGQVVMVCBOVUxMLA0KKyAgYG1vZGlmaWVkYCBWQVJDSEFSKDMwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgbW9kaWZpZWRfYnlgIElOVCgxMSkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgd29ya2Zsb3dfa2V5YCBWQVJDSEFSKDUwKSBOVUxMIERFRkFVTFQgTlVMTCwNCitQUklNQVJZIEtFWSAoYGlkYCksDQorVU5JUVVFIElOREVYIGBuYW1lYCAoYG5hbWVgIEFTQykpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuZm5feG1sdHlwZQ0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgb3NhbV9jb3JlYC5gZm5feG1sdHlwZWAgKA0KKyAgYElEYCBERUNJTUFMKDEwLDApIE5PVCBOVUxMLA0KKyAgYFhNTF9ET0NVTUVOVGAgVEVYVCBOVUxMIERFRkFVTFQgTlVMTCwNCitVTklRVUUgSU5ERVggYEZOX1hNTFRZUEVfSURgIChgSURgIEFTQykpDQorICBFTkdJTkUgPSBJbm5vREINCitERUZBVUxUIENIQVJBQ1RFUiBTRVQgPSB1dGY4Ow0KKw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCistLSBUYWJsZSBvc2FtX2NvcmUuc2NoZW1hX2luZm8NCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYHNjaGVtYV9pbmZvYCAoDQorICBgU0NIRU1BX0lEYCBWQVJDSEFSKDI1KSBOT1QgTlVMTCwNCisgIGBTQ0hFTUFfREVTQ2AgVkFSQ0hBUig3NSkgTk9UIE5VTEwsDQorICBgREFUQVNPVVJDRV9UWVBFYCBWQVJDSEFSKDEwMCkgTlVMTCBERUZBVUxUIE5VTEwsDQorICBgQ09OTkVDVElPTl9VUkxgIFZBUkNIQVIoMjAwKSBOT1QgTlVMTCwNCisgIGBVU0VSX05BTUVgIFZBUkNIQVIoNDUpIE5PVCBOVUxMLA0KKyAgYFBBU1NXT1JEYCBWQVJDSEFSKDQ1KSBOVUxMIERFRkFVTFQgTlVMTCwNCisgIGBEUklWRVJfQ0xBU1NgIFZBUkNIQVIoMTAwKSBOT1QgTlVMTCwNCisgIGBNSU5fUE9PTF9TSVpFYCBJTlQoMTEpIE5PVCBOVUxMLA0KKyAgYE1BWF9QT09MX1NJWkVgIElOVCgxMSkgTk9UIE5VTEwsDQorICBgSURMRV9DT05ORUNUSU9OX1RFU1RfUEVSSU9EYCBJTlQoMTEpIE5PVCBOVUxMKQ0KKyAgRU5HSU5FID0gSW5ub0RCDQorREVGQVVMVCBDSEFSQUNURVIgU0VUID0gdXRmODsNCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorLS0gVGFibGUgb3NhbV9jb3JlLm9zYW1fY29yZV9qb2INCistLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYG9zYW1fY29yZWAuYG9zYW1fY29yZV9qb2JgICgNCisgIGBKT0JfSURgICAgICAgICBCSU5BUlkoMTYpICAgTk9UIE5VTEwgUFJJTUFSWSBLRVksDQorICBgQ1JFQVRFRF9EQVRFYCAgVElNRVNUQU1QICAgIE5PVCBOVUxMIERFRkFVTFQgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgTU9ESUZJRURfREFURWAgVElNRVNUQU1QICAgIE5PVCBOVUxMIERFRkFVTFQgQ1VSUkVOVF9USU1FU1RBTVAsDQorICBgSk9CX1NUQVRVU2AgICAgVkFSQ0hBUig1MCkgIE5VTEwgQ09MTEFURSAndXRmOF9iaW4nLA0KKyAgYEpPQl9UWVBFYCAgICAgIFZBUkNIQVIoNTApICBOVUxMIENPTExBVEUgJ3V0ZjhfYmluJywNCisgIGBKT0JfREFUQWAgICAgICBNRURJVU1URVhUICAgTlVMTCBDT0xMQVRFICd1dGY4X2JpbicsDQorICBgUEFSRU5UX0pPQl9JRGAgQklOQVJZKDE2KSAgIE5VTEwsDQorICBgVEFLRU5fQllgICAgICAgVkFSQ0hBUigxMDApIE5VTEwgQ09MTEFURSAndXRmOF9iaW4nLA0KK0NPTlNUUkFJTlQgYEZLX09XTklOR19WSURfSk9CX1BBUkVOVGAgRk9SRUlHTiBLRVkgKGBQQVJFTlRfSk9CX0lEYCkgUkVGRVJFTkNFUyBgb3NhbV9jb3JlYC5gdmlkX2pvYmAgKGBKT0JfSURgKQ0KKykgRU5HSU5FPUlubm9EQiBBVVRPX0lOQ1JFTUVOVD02IERFRkFVTFQgQ0hBUlNFVD11dGY4IENPTExBVEU9dXRmOF9iaW47DQorDQorLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKy0tIFZpZXcgb3NhbV9jb3JlLnZfdXJsX2FjY2Vzcw0KKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitDUkVBVEUgT1IgUkVQTEFDRSBBTEdPUklUSE09VU5ERUZJTkVEIFNRTCBTRUNVUklUWSBERUZJTkVSIFZJRVcgYHZfdXJsX2FjY2Vzc2AgQVMgc2VsZWN0IGRpc3RpbmN0IGBtYC5gQUNUSU9OYCBBUyBgVVJMYCxgbWAuYEZVTkNUSU9OX0NEYCBBUyBgRlVOQ1RJT05fQ0RgIGZyb20gYGZuX21lbnVgIGBtYCB3aGVyZSAoYG1gLmBBQ1RJT05gIGlzIG5vdCBudWxsKSB1bmlvbiBzZWxlY3QgZGlzdGluY3QgYHRgLmBBQ1RJT05gIEFTIGBVUkxgLGB0YC5gRlVOQ1RJT05fQ0RgIEFTIGBGVU5DVElPTl9DRGAgZnJvbSBgZm5fdGFiYCBgdGAgd2hlcmUgKGB0YC5gQUNUSU9OYCBpcyBub3QgbnVsbCkgdW5pb24gc2VsZWN0IGByYC5gUkVTVFJJQ1RFRF9VUkxgIEFTIGBVUkxgLGByYC5gRlVOQ1RJT05fQ0RgIEFTIGBGVU5DVElPTl9DRGAgZnJvbSBgZm5fcmVzdHJpY3RlZF91cmxgIGByYDsNCitTRVQgRk9SRUlHTl9LRVlfQ0hFQ0tTID0gMTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL3BvcnRhbC5wcm9wZXJ0aWVzIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9wb3J0YWwucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDRlODVkCi0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9wb3J0YWwucHJvcGVydGllcwpAQCAtMCwwICsxLDg1IEBACisjIyMNCisjID09PT09PT09PT09PUxJQ0VOU0VfU1RBUlQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisjIE9OQVAgUG9ydGFsIFNESw0KKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyMgQ29weXJpZ2h0IKkgMjAxNyBBVCZUIEludGVsbGVjdHVhbCBQcm9wZXJ0eS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisjDQorIyBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgYWxsIHNvZnR3YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgbGljZW5zZWQNCisjIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSCTTGljZW5zZZQpOw0KKyMgeW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyMgDQorIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKyMgDQorIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisjDQorIyBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgYWxsIGRvY3VtZW50YXRpb24gY29udGFpbmVkIGhlcmVpbiBpcyBsaWNlbnNlZA0KKyMgdW5kZXIgdGhlIENyZWF0aXZlIENvbW1vbnMgTGljZW5zZSwgQXR0cmlidXRpb24gNC4wIEludGwuICh0aGUgk0xpY2Vuc2WUKTsNCisjIHlvdSBtYXkgbm90IHVzZSB0aGlzIGRvY3VtZW50YXRpb24gZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKyMNCisjICAgICAgICAgICAgIGh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvDQorIw0KKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBkb2N1bWVudGF0aW9uDQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisjDQorIyA9PT09PT09PT09PT1MSUNFTlNFX0VORD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorIw0KKyMgRUNPTVAgaXMgYSB0cmFkZW1hcmsgYW5kIHNlcnZpY2UgbWFyayBvZiBBVCZUIEludGVsbGVjdHVhbCBQcm9wZXJ0eS4NCisjIyMNCisjIFByb3BlcnRpZXMgcmVhZCBieSBFQ09NUCBGcmFtZXdvcmsgbGlicmFyeSwgZWNvbXBGVy5qYXINCisNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHNob3VsZCBOT1QgYmUgY2hhbmdlZCBieSBwYXJ0bmVyIGFwcGxpY2F0aW9ucy4NCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKw0KK3BvcnRhbC5hcGkucHJlZml4ID0gL2FwaQ0KK21heC5pZGxlLnRpbWUgPSA1DQordXNlci5hdHRyaWJ1dGUubmFtZSA9IHVzZXJfYXR0cmlidXRlDQorDQorI1VzZSBSRVNUIEFQSSBpbnN0ZWFkIG9mIFVFQiB0byBmZXRjaCB0aGUgZnVuY3Rpb25hbCBtZW51IGRhdGENCit1c2VfcmVzdF9mb3JfZnVuY3Rpb25hbF9tZW51PXRydWUNCisNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIE1VU1QgYmUgY2hhbmdlZCBieSBwYXJ0bmVyIGFwcGxpY2F0aW9ucy4NCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKw0KKyMgTmFtZSBvZiBqYXZhIGNsYXNzIHRoYXQgaW1wbGVtZW50cyB0aGUgT25Cb2FyZGluZ0FwaVNlcnZpY2UgaW50ZXJmYWNlLg0KK3BvcnRhbC5hcGkuaW1wbC5jbGFzcyA9IG9yZy5vbmFwLnBvcnRhbGFwcC5zZXJ2aWNlLk9uQm9hcmRpbmdBcGlTZXJ2aWNlSW1wbA0KKw0KKyMgTG9nIE9uIGZvciBzaW5nbGUgc2lnbiBvbg0KK2Vjb21wX3JlZGlyZWN0X3VybCA9IGh0dHA6Ly9wb3J0YWwuYXBpLnNpbXBsZWRlbW8ub25hcC5vcmc6ODk4OS9PTkFQUE9SVEFML2xvZ2luLmh0bQ0KKw0KKyMgVVJMIG9mIHRoZSBFQ09NUCBQb3J0YWwgUkVTVCBBUEkNCitlY29tcF9yZXN0X3VybCA9IGh0dHA6Ly9wb3J0YWwuYXBpLnNpbXBsZWRlbW8ub25hcC5vcmc6ODk4OS9PTkFQUE9SVEFML2F1eGFwaQ0KKw0KKyMgQXBwbGljYXRpb25zIGRvIG5vdCBuZWVkIHRvIHJ1biBhIFVFQiBsaXN0ZW5lciBhZnRlciAxNjA3Lg0KK3VlYl9saXN0ZW5lcnNfZW5hYmxlID0gZmFsc2UNCisNCisjIFVFQiBDb25maWd1cmF0aW9uDQorIyBJbiByZWxlYXNlIDE2MDcsIGFsbCA2IGVudHJpZXMgYmVsb3cgd2VyZSByZXF1aXJlZC4NCisjIEluIHJlbGVhc2UgMTYxMCwgaWYga2V5IHVlYl9saXN0ZW5lcnNfZW5hYmxlIGlzIHNldCB0byBmYWxzZSwNCisjIHRoZW4gb25seSB0aGUgdWViX2FwcF9rZXkgaXMgcmVxdWlyZWQuDQorIyBVRUIgc2VydmVycw0KKyN1ZWJfdXJsX2xpc3QgPSB0b2RvX3VlYl91cmxfbGlzdA0KKyMgRUNPTVAgUG9ydGFsIGxpc3RlbnMgb24gdGhpcyBVRUIgdG9waWMNCisjZWNvbXBfcG9ydGFsX2luYm94X25hbWUgPSBFQ09NUC1QT1JUQUwtSU5CT1gtREVWLUxPQ0FMDQorDQorIyBSZXBsYWNlIHRoZXNlIDMgZGVmYXVsdCB2YWx1ZXMgd2l0aCB0aGUgb25lcyBmb3IgeW91ciBzcGVjaWZpYyBBcHAsDQorIyBhcyBzaG93biBvbiB0aGUgb24tYm9hcmRpbmcgcGFnZSBvbiB0aGUgRUNPTVAgUG9ydGFsIHdlYiBhcHBsaWNhdGlvbi4NCit1ZWJfYXBwX2tleSA9IG9WR2lrSUlGanpqVU50cGgNCit1ZWJfYXBwX3NlY3JldCA9IDh4Sk5QY2dLSkpnSGhmYnRoNkMxeU4zZQ0KK3VlYl9hcHBfbWFpbGJveF9uYW1lID0gRUNPTVAtUE9SVEFMLU9VVEJPWC1URVNULTc3NjIxDQorIyBDb25zdW1lciBncm91cCBuYW1lIGZvciBVRUIgdG9waWMuDQorIyBVc2UgdGhlIHNwZWNpYWwgdGFnIHRvIGdlbmVyYXRlIGEgdW5pcXVlIG9uZSBmb3IgZWFjaCBzZGstYXBwIHNlcnZlci4NCisjdWViX2FwcF9jb25zdW1lcl9ncm91cF9uYW1lID0ge1VVSUR9DQorDQorI2RlY3J5cHRpb25fa2V5CQkJCSAgPSBBR0xEZEc0RDA0QkttMkl4SVdFcjhvPT0NCmRpZmYgLS1naXQgYS9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL3BvcnRhbF90ZW1wbGF0ZS5wcm9wZXJ0aWVzIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9wb3J0YWxfdGVtcGxhdGUucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDE0MTNhCi0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9wb3J0YWxfdGVtcGxhdGUucHJvcGVydGllcwpAQCAtMCwwICsxLDMyIEBACisjIFByb3BlcnRpZXMgcmVhZCBieSBFQ09NUCBGcmFtZXdvcmsgbGlicmFyeSwgZWNvbXBGVy5qYXINCisNCitwb3J0YWwuYXBpLmltcGwuY2xhc3MgPSBvcmcub25hcC5wb3J0YWxhcHAuc2VydmljZS5PbkJvYXJkaW5nQXBpU2VydmljZUltcGwNCitwb3J0YWwuYXBpLnByZWZpeCA9IC9hcGkNCittYXguaWRsZS50aW1lID0gNQ0KK3VzZXIuYXR0cmlidXRlLm5hbWUgPSB1c2VyX2F0dHJpYnV0ZQ0KK2RlY3J5cHRpb25fa2V5ID0gJHtWSURfREVDUllQVElPTl9LRVl9DQorDQorIyBMb2cgT24gZm9yIHNpbmdsZSBzaWduIG9uDQorZWNvbXBfcmVkaXJlY3RfdXJsCT0gJHtWSURfRUNPTVBfUkVESVJFQ1RfVVJMfQ0KKw0KKw0KKyMgVVJMIG9mIHRoZSBFQ09NUCBQb3J0YWwgUkVTVCBBUEkNCitlY29tcF9yZXN0X3VybCA9ICR7VklEX0VDT01QX1JFU1RfVVJMfQ0KKw0KKyMgVUVCIHNlcnZlcnMNCit1ZWJfdXJsX2xpc3QgPSAke1ZJRF9VRUJfVVJMX0xJU1R9DQorDQorIyBFQ09NUCBQb3J0YWwgbGlzdGVucyBoZXJlIA0KK2Vjb21wX3BvcnRhbF9pbmJveF9uYW1lID0gJHtWSURfRUNPTVBfUE9SVEFMX0lOQk9YX05BTUV9DQorDQorIyBSZXBsYWNlIHRoZXNlIDMgZGVmYXVsdCB2YWx1ZXMgd2l0aCB0aGUgb25lcyBmb3IgeW91ciBzcGVjaWZpYyBBcHAsDQorIyBhcyBzaG93biBvbiB0aGUgb24tYm9hcmRpbmcgcGFnZSBvbiB0aGUgRUNPTVAgUG9ydGFsIHdlYnNpdGUuDQordWViX2FwcF9rZXkgPSAke1ZJRF9VRUJfQVBQX0tFWX0NCit1ZWJfYXBwX3NlY3JldCA9ICR7VklEX1VFQl9BUFBfU0VDUkVUfQ0KK3VlYl9hcHBfbWFpbGJveF9uYW1lID0gJHtWSURfVUVCX0FQUF9NQUlMQk9YX05BTUV9DQorIyBDb25zdW1lciBncm91cCBuYW1lIGZvciBVRUIgdG9waWMuDQorIyBVc2UgdGhlIHNwZWNpYWwgdGFnIHRvIGdlbmVyYXRlIGEgdW5pcXVlIG9uZSBmb3IgZWFjaCBzZGstYXBwIHNlcnZlci4NCit1ZWJfYXBwX2NvbnN1bWVyX2dyb3VwX25hbWUgPSAke1ZJRF9VRUJfQ09OU1VNRVJfR1JPVVB9DQorDQordWViX2xpc3RlbmVyc19lbmFibGUgPSAke1ZJRF9VRUJfTElTVEVORVJTX0VOQUJMRX0NCit1ZWJfcmVzdF9mb3JfZnVuY3Rpb25fbWVudSA9IHRydWUNCmRpZmYgLS1naXQgYS9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL3NhbXBsZVRvc2NhLmNzYXIgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL3NhbXBsZVRvc2NhLmNzYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUzMmY1OAotLS0gL2Rldi9udWxsCisrKyBiL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvc2FtcGxlVG9zY2EuY3NhcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL3NlcnZlci54bWwgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL3NlcnZlci54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDlkYzI3YQotLS0gL2Rldi9udWxsCisrKyBiL29uYXAtZW5hYmxlci1pbmZyYS9zcmMvbWFpbi9yZXNvdXJjZXMvc2VydmVyLnhtbApAQCAtMCwwICsxLDE4NiBAQAorPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4NCis8IS0tDQorICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUNCisgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aA0KKyAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLg0KKyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjANCisgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoDQorICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKw0KKyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKw0KKyAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KKyAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KKyAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorLS0+DQorPCEtLSBOb3RlOiAgQSAiU2VydmVyIiBpcyBub3QgaXRzZWxmIGEgIkNvbnRhaW5lciIsIHNvIHlvdSBtYXkgbm90DQorICAgICBkZWZpbmUgc3ViY29tcG9uZW50cyBzdWNoIGFzICJWYWx2ZXMiIGF0IHRoaXMgbGV2ZWwuDQorICAgICBEb2N1bWVudGF0aW9uIGF0IC9kb2NzL2NvbmZpZy9zZXJ2ZXIuaHRtbA0KKyAtLT4NCis8U2VydmVyIHBvcnQ9IjgwMDUiIHNodXRkb3duPSJTSFVURE9XTiI+DQorICA8TGlzdGVuZXIgY2xhc3NOYW1lPSJvcmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuVmVyc2lvbkxvZ2dlckxpc3RlbmVyIiAvPg0KKyAgPCEtLSBTZWN1cml0eSBsaXN0ZW5lci4gRG9jdW1lbnRhdGlvbiBhdCAvZG9jcy9jb25maWcvbGlzdGVuZXJzLmh0bWwNCisgIDxMaXN0ZW5lciBjbGFzc05hbWU9Im9yZy5hcGFjaGUuY2F0YWxpbmEuc2VjdXJpdHkuU2VjdXJpdHlMaXN0ZW5lciIgLz4NCisgIC0tPg0KKyAgPCEtLUFQUiBsaWJyYXJ5IGxvYWRlci4gRG9jdW1lbnRhdGlvbiBhdCAvZG9jcy9hcHIuaHRtbCAtLT4NCisgIDxMaXN0ZW5lciBjbGFzc05hbWU9Im9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHJMaWZlY3ljbGVMaXN0ZW5lciIgU1NMRW5naW5lPSJvbiIgLz4NCisgIDwhLS0gUHJldmVudCBtZW1vcnkgbGVha3MgZHVlIHRvIHVzZSBvZiBwYXJ0aWN1bGFyIGphdmEvamF2YXggQVBJcy0tPg0KKyAgPExpc3RlbmVyIGNsYXNzTmFtZT0ib3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkpyZU1lbW9yeUxlYWtQcmV2ZW50aW9uTGlzdGVuZXIiIC8+DQorICA8TGlzdGVuZXIgY2xhc3NOYW1lPSJvcmcuYXBhY2hlLmNhdGFsaW5hLm1iZWFucy5HbG9iYWxSZXNvdXJjZXNMaWZlY3ljbGVMaXN0ZW5lciIgLz4NCisgIDxMaXN0ZW5lciBjbGFzc05hbWU9Im9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5UaHJlYWRMb2NhbExlYWtQcmV2ZW50aW9uTGlzdGVuZXIiIC8+DQorDQorICA8IS0tIEdsb2JhbCBKTkRJIHJlc291cmNlcw0KKyAgICAgICBEb2N1bWVudGF0aW9uIGF0IC9kb2NzL2puZGktcmVzb3VyY2VzLWhvd3RvLmh0bWwNCisgIC0tPg0KKyAgPEdsb2JhbE5hbWluZ1Jlc291cmNlcz4NCisgICAgPCEtLSBFZGl0YWJsZSB1c2VyIGRhdGFiYXNlIHRoYXQgY2FuIGFsc28gYmUgdXNlZCBieQ0KKyAgICAgICAgIFVzZXJEYXRhYmFzZVJlYWxtIHRvIGF1dGhlbnRpY2F0ZSB1c2Vycw0KKyAgICAtLT4NCisgICAgPFJlc291cmNlIG5hbWU9IlVzZXJEYXRhYmFzZSIgYXV0aD0iQ29udGFpbmVyIg0KKyAgICAgIHR5cGU9Im9yZy5hcGFjaGUuY2F0YWxpbmEuVXNlckRhdGFiYXNlIg0KKyAgICAgIGRlc2NyaXB0aW9uPSJVc2VyIGRhdGFiYXNlIHRoYXQgY2FuIGJlIHVwZGF0ZWQgYW5kIHNhdmVkIg0KKyAgICAgIGZhY3Rvcnk9Im9yZy5hcGFjaGUuY2F0YWxpbmEudXNlcnMuTWVtb3J5VXNlckRhdGFiYXNlRmFjdG9yeSINCisgICAgICBwYXRobmFtZT0iY29uZi90b21jYXQtdXNlcnMueG1sIiAvPg0KKyAgPC9HbG9iYWxOYW1pbmdSZXNvdXJjZXM+DQorDQorICA8IS0tIEEgIlNlcnZpY2UiIGlzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSAiQ29ubmVjdG9ycyIgdGhhdCBzaGFyZQ0KKyAgICAgICBhIHNpbmdsZSAiQ29udGFpbmVyIiBOb3RlOiAgQSAiU2VydmljZSIgaXMgbm90IGl0c2VsZiBhICJDb250YWluZXIiLA0KKyAgICAgICBzbyB5b3UgbWF5IG5vdCBkZWZpbmUgc3ViY29tcG9uZW50cyBzdWNoIGFzICJWYWx2ZXMiIGF0IHRoaXMgbGV2ZWwuDQorICAgICAgIERvY3VtZW50YXRpb24gYXQgL2RvY3MvY29uZmlnL3NlcnZpY2UuaHRtbA0KKyAgIC0tPg0KKyAgPFNlcnZpY2UgbmFtZT0iQ2F0YWxpbmEiPg0KKw0KKyAgICA8IS0tVGhlIGNvbm5lY3RvcnMgY2FuIHVzZSBhIHNoYXJlZCBleGVjdXRvciwgeW91IGNhbiBkZWZpbmUgb25lIG9yIG1vcmUgbmFtZWQgdGhyZWFkIHBvb2xzLS0+DQorICAgIDwhLS0NCisgICAgPEV4ZWN1dG9yIG5hbWU9InRvbWNhdFRocmVhZFBvb2wiIG5hbWVQcmVmaXg9ImNhdGFsaW5hLWV4ZWMtIg0KKyAgICAgICAgbWF4VGhyZWFkcz0iMTUwIiBtaW5TcGFyZVRocmVhZHM9IjQiLz4NCisgICAgLS0+DQorDQorDQorICAgIDwhLS0gQSAiQ29ubmVjdG9yIiByZXByZXNlbnRzIGFuIGVuZHBvaW50IGJ5IHdoaWNoIHJlcXVlc3RzIGFyZSByZWNlaXZlZA0KKyAgICAgICAgIGFuZCByZXNwb25zZXMgYXJlIHJldHVybmVkLiBEb2N1bWVudGF0aW9uIGF0IDoNCisgICAgICAgICBKYXZhIEhUVFAgQ29ubmVjdG9yOiAvZG9jcy9jb25maWcvaHR0cC5odG1sIChibG9ja2luZyAmIG5vbi1ibG9ja2luZykNCisgICAgICAgICBKYXZhIEFKUCAgQ29ubmVjdG9yOiAvZG9jcy9jb25maWcvYWpwLmh0bWwNCisgICAgICAgICBBUFIgKEhUVFAvQUpQKSBDb25uZWN0b3I6IC9kb2NzL2Fwci5odG1sDQorICAgICAgICAgRGVmaW5lIGEgbm9uLVNTTC9UTFMgSFRUUC8xLjEgQ29ubmVjdG9yIG9uIHBvcnQgODA4MA0KKyAgICAtLT4NCisgICAgPENvbm5lY3RvciBwb3J0PSI4MDgwIiBwcm90b2NvbD0iSFRUUC8xLjEiDQorICAgICAgY29ubmVjdGlvblRpbWVvdXQ9IjIwMDAwIg0KKyAgICAgIHJlZGlyZWN0UG9ydD0iODQ0MyIgLz4NCisgICAgPCEtLSBBICJDb25uZWN0b3IiIHVzaW5nIHRoZSBzaGFyZWQgdGhyZWFkIHBvb2wtLT4NCisgICAgPCEtLQ0KKyAgICA8Q29ubmVjdG9yIGV4ZWN1dG9yPSJ0b21jYXRUaHJlYWRQb29sIg0KKyAgICAgICAgICAgICAgIHBvcnQ9IjgwODAiIHByb3RvY29sPSJIVFRQLzEuMSINCisgICAgICAgICAgICAgICBjb25uZWN0aW9uVGltZW91dD0iMjAwMDAiDQorICAgICAgICAgICAgICAgcmVkaXJlY3RQb3J0PSI4NDQzIiAvPg0KKyAgICAtLT4NCisgICAgPCEtLSBEZWZpbmUgYSBTU0wvVExTIEhUVFAvMS4xIENvbm5lY3RvciBvbiBwb3J0IDg0NDMNCisgICAgICAgICBUaGlzIGNvbm5lY3RvciB1c2VzIHRoZSBOSU8gaW1wbGVtZW50YXRpb24gdGhhdCByZXF1aXJlcyB0aGUgSlNTRQ0KKyAgICAgICAgIHN0eWxlIGNvbmZpZ3VyYXRpb24uIFdoZW4gdXNpbmcgdGhlIEFQUi9uYXRpdmUgaW1wbGVtZW50YXRpb24sIHRoZQ0KKyAgICAgICAgIE9wZW5TU0wgc3R5bGUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCBhcyBkZXNjcmliZWQgaW4gdGhlIEFQUi9uYXRpdmUNCisgICAgICAgICBkb2N1bWVudGF0aW9uIC0tPg0KKw0KKyAgICA8Q29ubmVjdG9yIHBvcnQ9Ijg0NDMiIHByb3RvY29sPSJvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExTmlvUHJvdG9jb2wiDQorICAgICAgICAgICAgICAgbWF4VGhyZWFkcz0iMTUwIiBTU0xFbmFibGVkPSJ0cnVlIiBzY2hlbWU9Imh0dHBzIiBzZWN1cmU9InRydWUiDQorICAgICAgICAgICAgICAgY2xpZW50QXV0aD0iZmFsc2UiIHNzbFByb3RvY29sPSJUTFMiIGtleUFsaWFzPSIke29zYW0ua2V5YWxpYXN9Ig0KKyAgICAgICAgICAgICAgIGtleXN0b3JlRmlsZT0iJHtvc2FtLmtleXN0b3JlLmZpbGVuYW1lfSIga2V5c3RvcmVQYXNzPSIke29zYW0ua2V5c3RvcmUucGFzc3dvcmR9Ig0KKyAgICAgICAgICAgICAgIHVzZVNlcnZlckNpcGhlclN1aXRlc09yZGVyPSJ0cnVlIg0KKyAgICAgICAgICAgICAgIGNpcGhlcnM9IlRMU19FQ0RIRV9FQ0RTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQTM4NCwNCisgICAgICAgICAgICAgICAgVExTX0VDREhFX1JTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQTM4NCwNCisgICAgICAgICAgICAgICAgVExTX0VDREhfRUNEU0FfV0lUSF9BRVNfMjU2X0NCQ19TSEEzODQsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIX1JTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQTM4NCwNCisgICAgICAgICAgICAgICAgVExTX0RIRV9EU1NfV0lUSF9BRVNfMjU2X0NCQ19TSEEyNTYsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIRV9FQ0RTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0VDREhFX1JTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0VDREhfRUNEU0FfV0lUSF9BRVNfMjU2X0NCQ19TSEEsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIX1JTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0RIRV9EU1NfV0lUSF9BRVNfMjU2X0NCQ19TSEEsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIRV9FQ0RTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQTI1NiwNCisgICAgICAgICAgICAgICAgVExTX0VDREhFX1JTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQTI1NiwNCisgICAgICAgICAgICAgICAgVExTX0VDREhfRUNEU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEyNTYsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIX1JTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQTI1NiwNCisgICAgICAgICAgICAgICAgVExTX0RIRV9EU1NfV0lUSF9BRVNfMTI4X0NCQ19TSEEyNTYsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIRV9FQ0RTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0VDREhFX1JTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0VDREhfRUNEU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIX1JTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0RIRV9EU1NfV0lUSF9BRVNfMTI4X0NCQ19TSEEsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIRV9FQ0RTQV9XSVRIX1JDNF8xMjhfU0hBLA0KKyAgICAgICAgICAgICAgICBUTFNfRUNESF9FQ0RTQV9XSVRIX1JDNF8xMjhfU0hBLA0KKyAgICAgICAgICAgICAgICBUTFNfRUNESF9SU0FfV0lUSF9SQzRfMTI4X1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0LA0KKyAgICAgICAgICAgICAgICBUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIRV9SU0FfV0lUSF9BRVNfMjU2X0dDTV9TSEEzODQsDQorICAgICAgICAgICAgICAgIFRMU19SU0FfV0lUSF9BRVNfMjU2X0dDTV9TSEEzODQsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0LA0KKyAgICAgICAgICAgICAgICBUTFNfRUNESF9SU0FfV0lUSF9BRVNfMjU2X0dDTV9TSEEzODQsDQorICAgICAgICAgICAgICAgIFRMU19ESEVfRFNTX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0LA0KKyAgICAgICAgICAgICAgICBUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2LA0KKyAgICAgICAgICAgICAgICBUTFNfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2LA0KKyAgICAgICAgICAgICAgICBUTFNfRUNESF9FQ0RTQV9XSVRIX0FFU18xMjhfR0NNX1NIQTI1NiwNCisgICAgICAgICAgICAgICAgVExTX0VDREhfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2LA0KKyAgICAgICAgICAgICAgICBUTFNfREhFX0RTU19XSVRIX0FFU18xMjhfR0NNX1NIQTI1NiwNCisgICAgICAgICAgICAgICAgVExTX0VDREhFX0VDRFNBX1dJVEhfM0RFU19FREVfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0VDREhFX1JTQV9XSVRIXzNERVNfRURFX0NCQ19TSEEsDQorICAgICAgICAgICAgICAgIFRMU19FQ0RIX0VDRFNBX1dJVEhfM0RFU19FREVfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0VDREhfUlNBX1dJVEhfM0RFU19FREVfQ0JDX1NIQSwNCisgICAgICAgICAgICAgICAgVExTX0VNUFRZX1JFTkVHT1RJQVRJT05fSU5GT19TQ1NWRiINCisgICAgLz4NCisNCisNCisgICAgPCEtLSBEZWZpbmUgYW4gQUpQIDEuMyBDb25uZWN0b3Igb24gcG9ydCA4MDA5IC0tPg0KKyAgICA8Q29ubmVjdG9yIHBvcnQ9IjgwMDkiIHByb3RvY29sPSJBSlAvMS4zIiByZWRpcmVjdFBvcnQ9Ijg0NDMiIC8+DQorDQorDQorICAgIDwhLS0gQW4gRW5naW5lIHJlcHJlc2VudHMgdGhlIGVudHJ5IHBvaW50ICh3aXRoaW4gQ2F0YWxpbmEpIHRoYXQgcHJvY2Vzc2VzDQorICAgICAgICAgZXZlcnkgcmVxdWVzdC4gIFRoZSBFbmdpbmUgaW1wbGVtZW50YXRpb24gZm9yIFRvbWNhdCBzdGFuZCBhbG9uZQ0KKyAgICAgICAgIGFuYWx5emVzIHRoZSBIVFRQIGhlYWRlcnMgaW5jbHVkZWQgd2l0aCB0aGUgcmVxdWVzdCwgYW5kIHBhc3NlcyB0aGVtDQorICAgICAgICAgb24gdG8gdGhlIGFwcHJvcHJpYXRlIEhvc3QgKHZpcnR1YWwgaG9zdCkuDQorICAgICAgICAgRG9jdW1lbnRhdGlvbiBhdCAvZG9jcy9jb25maWcvZW5naW5lLmh0bWwgLS0+DQorDQorICAgIDwhLS0gWW91IHNob3VsZCBzZXQganZtUm91dGUgdG8gc3VwcG9ydCBsb2FkLWJhbGFuY2luZyB2aWEgQUpQIGllIDoNCisgICAgPEVuZ2luZSBuYW1lPSJDYXRhbGluYSIgZGVmYXVsdEhvc3Q9ImxvY2FsaG9zdCIganZtUm91dGU9Imp2bTEiPg0KKyAgICAtLT4NCisgICAgPEVuZ2luZSBuYW1lPSJDYXRhbGluYSIgZGVmYXVsdEhvc3Q9ImxvY2FsaG9zdCI+DQorDQorICAgICAgPCEtLUZvciBjbHVzdGVyaW5nLCBwbGVhc2UgdGFrZSBhIGxvb2sgYXQgZG9jdW1lbnRhdGlvbiBhdDoNCisgICAgICAgICAgL2RvY3MvY2x1c3Rlci1ob3d0by5odG1sICAoc2ltcGxlIGhvdyB0bykNCisgICAgICAgICAgL2RvY3MvY29uZmlnL2NsdXN0ZXIuaHRtbCAocmVmZXJlbmNlIGRvY3VtZW50YXRpb24pIC0tPg0KKyAgICAgIDwhLS0NCisgICAgICA8Q2x1c3RlciBjbGFzc05hbWU9Im9yZy5hcGFjaGUuY2F0YWxpbmEuaGEudGNwLlNpbXBsZVRjcENsdXN0ZXIiLz4NCisgICAgICAtLT4NCisNCisgICAgICA8IS0tIFVzZSB0aGUgTG9ja091dFJlYWxtIHRvIHByZXZlbnQgYXR0ZW1wdHMgdG8gZ3Vlc3MgdXNlciBwYXNzd29yZHMNCisgICAgICAgICAgIHZpYSBhIGJydXRlLWZvcmNlIGF0dGFjayAtLT4NCisgICAgICA8UmVhbG0gY2xhc3NOYW1lPSJvcmcuYXBhY2hlLmNhdGFsaW5hLnJlYWxtLkxvY2tPdXRSZWFsbSI+DQorICAgICAgICA8IS0tIFRoaXMgUmVhbG0gdXNlcyB0aGUgVXNlckRhdGFiYXNlIGNvbmZpZ3VyZWQgaW4gdGhlIGdsb2JhbCBKTkRJDQorICAgICAgICAgICAgIHJlc291cmNlcyB1bmRlciB0aGUga2V5ICJVc2VyRGF0YWJhc2UiLiAgQW55IGVkaXRzDQorICAgICAgICAgICAgIHRoYXQgYXJlIHBlcmZvcm1lZCBhZ2FpbnN0IHRoaXMgVXNlckRhdGFiYXNlIGFyZSBpbW1lZGlhdGVseQ0KKyAgICAgICAgICAgICBhdmFpbGFibGUgZm9yIHVzZSBieSB0aGUgUmVhbG0uICAtLT4NCisgICAgICAgIDxSZWFsbSBjbGFzc05hbWU9Im9yZy5hcGFjaGUuY2F0YWxpbmEucmVhbG0uVXNlckRhdGFiYXNlUmVhbG0iDQorICAgICAgICAgIHJlc291cmNlTmFtZT0iVXNlckRhdGFiYXNlIi8+DQorICAgICAgPC9SZWFsbT4NCisNCisgICAgICA8SG9zdCBuYW1lPSJsb2NhbGhvc3QiICBhcHBCYXNlPSJ3ZWJhcHBzIg0KKyAgICAgICAgdW5wYWNrV0FScz0idHJ1ZSIgYXV0b0RlcGxveT0idHJ1ZSI+DQorDQorICAgICAgICA8IS0tIFNpbmdsZVNpZ25PbiB2YWx2ZSwgc2hhcmUgYXV0aGVudGljYXRpb24gYmV0d2VlbiB3ZWIgYXBwbGljYXRpb25zDQorICAgICAgICAgICAgIERvY3VtZW50YXRpb24gYXQ6IC9kb2NzL2NvbmZpZy92YWx2ZS5odG1sIC0tPg0KKyAgICAgICAgPCEtLQ0KKyAgICAgICAgPFZhbHZlIGNsYXNzTmFtZT0ib3JnLmFwYWNoZS5jYXRhbGluYS5hdXRoZW50aWNhdG9yLlNpbmdsZVNpZ25PbiIgLz4NCisgICAgICAgIC0tPg0KKw0KKyAgICAgICAgPCEtLSBBY2Nlc3MgbG9nIHByb2Nlc3NlcyBhbGwgZXhhbXBsZS4NCisgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBhdDogL2RvY3MvY29uZmlnL3ZhbHZlLmh0bWwNCisgICAgICAgICAgICAgTm90ZTogVGhlIHBhdHRlcm4gdXNlZCBpcyBlcXVpdmFsZW50IHRvIHVzaW5nIHBhdHRlcm49ImNvbW1vbiIgLS0+DQorICAgICAgICA8VmFsdmUgY2xhc3NOYW1lPSJvcmcuYXBhY2hlLmNhdGFsaW5hLnZhbHZlcy5BY2Nlc3NMb2dWYWx2ZSIgZGlyZWN0b3J5PSJsb2dzIg0KKyAgICAgICAgICBwcmVmaXg9ImxvY2FsaG9zdF9hY2Nlc3NfbG9nIiBzdWZmaXg9Ii50eHQiDQorICAgICAgICAgIHBhdHRlcm49IiVoICVsICV1ICV0ICZxdW90OyVyJnF1b3Q7ICVzICViIiAvPg0KKw0KKyAgICAgIDwvSG9zdD4NCisgICAgPC9FbmdpbmU+DQorICA8L1NlcnZpY2U+DQorPC9TZXJ2ZXI+DQorDQpkaWZmIC0tZ2l0IGEvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0ZS1ydWxlcy5kcmwgYi9vbmFwLWVuYWJsZXItaW5mcmEvc3JjL21haW4vcmVzb3VyY2VzL3N0YXRlLXJ1bGVzLmRybApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjkyZjExCi0tLSAvZGV2L251bGwKKysrIGIvb25hcC1lbmFibGVyLWluZnJhL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0ZS1ydWxlcy5kcmwKQEAgLTAsMCArMSw1OCBAQAorLyotDQorICAgICAgICAqID09PT09PT09PT09PUxJQ0VOU0VfU1RBUlQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICAgICAgICAqIE9TQU0gQ29yZQ0KKyAgICAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAgICAgICAgKiBDb3B5cmlnaHQgKEMpIDIwMTggQVQmVA0KKyAgICAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAgICAgICAgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisgICAgICAgICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KKyAgICAgICAgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCisgICAgICAgICoNCisgICAgICAgICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgICAgICAgICoNCisgICAgICAgICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KKyAgICAgICAgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAgICAgICAgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCisgICAgICAgICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KKyAgICAgICAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisgICAgICAgICogPT09PT09PT09PT09TElDRU5TRV9FTkQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICovDQorDQorcGFja2FnZSBvcmcub25hcC5wb3J0YWxzZGsuY29yZS5kcm9vbHM7DQorZ2xvYmFsIFN0cmluZyBhZ2UNCisNCitydWxlICJEZWZhdWx0Ig0KK3doZW4NCiskZHJvb2xzUnVsZVNlcnZpY2UgOiBEcm9vbHNSdWxlU2VydmljZUltcGwoIHN0YXRlICE9IG51bGwgKQ0KK3RoZW4NCitTeXN0ZW0ub3V0LnByaW50bG4oJGRyb29sc1J1bGVTZXJ2aWNlLmFjY2Vzc0xhYmVsKCkgKyIgIisgJGRyb29sc1J1bGVTZXJ2aWNlLmdldFN0YXRlKCkgKyIgc3RhdGUgbGVnYWwgYWdlIGlzICIgKyBnZXREZWZhdWx0SWZOdWxsKGFnZSkpOw0KKyRkcm9vbHNSdWxlU2VydmljZS5zZXRSZXN1bHRzU3RyaW5nKCRkcm9vbHNSdWxlU2VydmljZS5nZXRTdGF0ZSgpKyIgc3RhdGUgbGVnYWwgYWdlIGlzICIgKyBnZXREZWZhdWx0SWZOdWxsKGFnZSkpOw0KK2VuZA0KKw0KK3J1bGUgIkRyb29scyBOSiINCit3aGVuDQorJGRyb29sc1J1bGVTZXJ2aWNlIDogRHJvb2xzUnVsZVNlcnZpY2VJbXBsKCBzdGF0ZSA9PSAiTkoiICkNCit0aGVuDQorU3lzdGVtLm91dC5wcmludGxuKCRkcm9vbHNSdWxlU2VydmljZS5hY2Nlc3NMYWJlbCgpICsiICIrICJOSiBzdGF0ZSBsZWdhbCBhZ2UgaXMgIiArIGdldERlZmF1bHRJZk51bGwoYWdlKSk7DQorJGRyb29sc1J1bGVTZXJ2aWNlLnNldFJlc3VsdHNTdHJpbmcoIk5KIHN0YXRlIGxlZ2FsIGFnZSBpcyAiICsgZ2V0RGVmYXVsdElmTnVsbChhZ2UpKTsNCitlbmQNCisNCitydWxlICJEcm9vbHMgS1kiDQord2hlbg0KKyRkcm9vbHNSdWxlU2VydmljZSA6IERyb29sc1J1bGVTZXJ2aWNlSW1wbCggc3RhdGUgPT0gIktZIiApDQordGhlbg0KK1N5c3RlbS5vdXQucHJpbnRsbigkZHJvb2xzUnVsZVNlcnZpY2UuYWNjZXNzTGFiZWwoKSArIiAiKyAiS1kgc3RhdGUgbGVnYWwgYWdlIGlzICIgKyBnZXREZWZhdWx0SWZOdWxsKCIyMCIpKTsNCiskZHJvb2xzUnVsZVNlcnZpY2Uuc2V0UmVzdWx0c1N0cmluZygiS1kgc3RhdGUgbGVnYWwgYWdlIGlzICIgKyBnZXREZWZhdWx0SWZOdWxsKCIyMCIpKTsNCitlbmQNCisNCitydWxlICJEcm9vbHMgTlkiDQord2hlbg0KKyRkcm9vbHNSdWxlU2VydmljZSA6IERyb29sc1J1bGVTZXJ2aWNlSW1wbCggc3RhdGUgPT0gIk5ZIiApDQordGhlbg0KK1N5c3RlbS5vdXQucHJpbnRsbigkZHJvb2xzUnVsZVNlcnZpY2UuYWNjZXNzTGFiZWwoKSArIiAiKyAiTlkgc3RhdGUgbGVnYWwgYWdlIGlzICIgKyBnZXREZWZhdWx0SWZOdWxsKCIyMSIpKTsNCiskZHJvb2xzUnVsZVNlcnZpY2Uuc2V0UmVzdWx0c1N0cmluZygiTlkgc3RhdGUgbGVnYWwgYWdlIGlzICIgKyBnZXREZWZhdWx0SWZOdWxsKCIyMSIpKTsNCitlbmQNCisNCitmdW5jdGlvbiBTdHJpbmcgZ2V0RGVmYXVsdElmTnVsbChTdHJpbmcgYWdlKSB7DQorcmV0dXJuIGFnZSA9PSBudWxsID8gIjE4IiA6IGFnZTsNCit9DQo=